Mohamed (I hope it's written like this), you are the best dude, thank to you i have fallen in love with stm32 and all of its possibilities. Just thank you
Hello, I would like to know if it is possible to help me? Is it possible to add a variable allowing to vary the reading speed? Like a pitch for example? And also to be able to do reverse playback ? Thanks for your help.
@@mutexembedded2206 ok sir, But i don't think UART can achieve sufficient baud rate to transfer audio data. so it will be helpful for me if you can guide me for USB. How can PC save file from USB. Thank you.
Salam Mohammed Ramadan Karim can you tell me please , how can i change timer period of timer-Interrupt while running the Code(from While-loop)? I tried to change the value of the period from the while-loop with this line(TIM2->ARR = 25; ), but the LED blinks (with delay) just for 3-4 clicks und stops . can please help me, i will be very gratfull thank you
Nice Tutorial! One question, how can I calculate how much RAM is used when reading/streaming the WAV file? I was wondering if you could stream the WAV file and do other stuff at the same time.
@@mutexembedded2206 interesting, is there any way to calculate buffer size? I imagine it's something based on the WAV's properties that you select on the conversion.
#define MODE_ANALOG 0x00000003U /*!< Analog Mode */ Description Resource Path Location Type expected identifier before numeric constant stm32f4xx_hal_gpio.h /Wav Player/Drivers/STM32F4xx_HAL_Driver/Inc line 267 C/C++ Problem what's the problem here?
I just changed MODE_ANALOG => MODE_ANALOG1, in CS43_MODE enum and it solved the issue. Is it correct Mr Yacoob? //1. Mode Select Enum typedef enum { MODE_I2S = 0, MODE_ANALOG1, }CS43_MODE;
Hi, my audio is not playing although led status is changing properly on pause/resume and start. Mounting/Unmounting led status is also toggling properly. Even i removed my wav file from pendrive it still status led working on pause/resume and start.
@@minou0060 it is not too beautiful at first, you need to use ST example and make library more "Human usable". Then link to my api above. start with board examples for Codec Audio.
If you look at my notes under the ENC208j60 I managed to get iENC28j60 to work using the arduino libraries and posted the code to github. Even easier now if one is using an eclipse based IDE like SW4Stm32. This has a button called convert project to C++. Then one can directly use the arduino libs with minimal modifications. Better is to use one of the supported PHY chips on a board that supports a PHY.
Actually , I have a problem , probably you can help me with , I m trying to read wav files as you did with the usb storage , this time I m trying to do it with sd card module that works with spi , the code works fine ...it reads the wav file ...but ...I hear nothing...
Hi Mohamed, I copy the code exactly as you detail in the video and the first led shows the correct connection of the USB but seems that never enters the second loop where the USB drive is read... do you have this problem in the developing stage? Thanks for the support
Can you debug and find out where exactly it got stuck. Tip: check you USB fread/fwrite functions first to ensure your FatFs is setup correctly in the first place
Hi@@mutexembedded2206 where it got stuck is in the line137 - if(Appli_state==APPLICATION_READY) as the Appli_state never changes from APPLICATION_START to APPLICATION_READY therefore never even use the f_mount function (as not get into that loop). From that line then start the while (1) again.
@@mutexembedded2206 Hi Mohamed I've been trying and the problem seems to be the VBUS as the PC0 was not activated (I've to do it by myself in CubeMX) now the LED's are correctly working.
The problem now is that I cannot get any audio output from the USB... can you please detail in which buffer is stored the data from USB in order I can check it in the debugging mode?
The best tutorial for the stm32 that I found: very clear, step by step and from the scratch. Thumb up!
Mohamed (I hope it's written like this), you are the best dude, thank to you i have fallen in love with stm32 and all of its possibilities. Just thank you
:)
Got lots of new tutorials for you later this year.
Thank you. these tutorials have been so helpful from me learning the stm32. can you do something with LabVIEW and stm32
Good afternoon! Thank you for your video and tutorials.
Thanks a million. That's a great explanation.
Thank you for this excellent work :)
Perfect tutorial. Thank you. Do you have a advanced knowledge about RTOS? I looking for a video tutorials.
Hi Mr Lee, I do plan in making OS series at sometime
Hello,
I would like to know if it is possible to help me?
Is it possible to add a variable allowing to vary the reading speed? Like a pitch for example?
And also to be able to do reverse playback ?
Thanks for your help.
did you ever get that working? I would like to try the same...
@@etiennestehelin3171 No, not yet.
sir can i save wav file in window pc instead of flash drive.
Yes, perhaps through USB or UART
@@mutexembedded2206 ok sir, But i don't think UART can achieve sufficient baud rate to transfer audio data. so it will be helpful for me if you can guide me for USB. How can PC save file from USB. Thank you.
Hello, Engineer Mohammad Yqoob. Thanks for your tutorial files. Please teach USB mass storage. As a card reader
can i detect object and read a sound name of this object?
Salam Mohammed
Ramadan Karim
can you tell me please , how can i change timer period of timer-Interrupt while running the Code(from While-loop)?
I tried to change the value of the period from the while-loop with this line(TIM2->ARR = 25; ), but the LED blinks (with delay) just for 3-4 clicks und stops .
can please help me, i will be very gratfull
thank you
Using auto reload is the way to change timer period. But need to ensure you are doing it right.
@@mutexembedded2206 Ah ok, is there any problem by using it ? Thank you Bro
Nice Tutorial! One question, how can I calculate how much RAM is used when reading/streaming the WAV file? I was wondering if you could stream the WAV file and do other stuff at the same time.
RAM usage is the circular buffer size only. Yes you can have CPU does other things too, can use RTOS for multiple threads
@@mutexembedded2206 interesting, is there any way to calculate buffer size? I imagine it's something based on the WAV's properties that you select on the conversion.
Sir,
Please give a code for recording and play wav file without using audio codec
You can direct Audio to Analog output instead of I2S
@@mutexembedded2206
Sir,I have required to ADC data convert into .wav file
Thank you !
استاذ محمد اود التواصل معك لو سمحت الرجاء الرد في اقرب وقت ممكن
مرحبا .. طرش لي ايميلك
@@mutexembedded2206 كيفيه التواصل معك عبر ايميلك قمت بالبحث عنه و لم اجدة
Amazing. Request: Please help do the same using "SD Card Module" instead of "USB".
Ramadan Kareem
Salam Nassik, Ramadan Kareem :)
Please make projects not explain only 😍😍😍
Great tutorial, thank you! To me it is a miracle how to know about all the settings that have to be made, I never could do this on my own ...
#define MODE_ANALOG 0x00000003U /*!< Analog Mode */
Description Resource Path Location Type
expected identifier before numeric constant stm32f4xx_hal_gpio.h /Wav Player/Drivers/STM32F4xx_HAL_Driver/Inc line 267 C/C++ Problem
what's the problem here?
I just changed MODE_ANALOG => MODE_ANALOG1, in CS43_MODE enum and it solved the issue. Is it correct Mr Yacoob?
//1. Mode Select Enum
typedef enum
{
MODE_I2S = 0,
MODE_ANALOG1,
}CS43_MODE;
@@alati3521 WOW that worked for me too. Thank you so much for sharing!!!
great job yacoub please more videos with this version of cubemx because is little bit different from the version used on the other videos
Hi, my audio is not playing although led status is changing properly on pause/resume and start. Mounting/Unmounting led status is also toggling properly. Even i removed my wav file from pendrive it still status led working on pause/resume and start.
Same thing here :( .Did you resolve that problem?
I have that same problem. did you find a solution
I have a problem with find a 1-2-4Gb flash drives. Can I use a 8 or 16 or 32 Gb flash drive or it is too much?
you Saved my BUTTTT
After a very log time. It's good to see you again. Always a great videos !!!
You are simply the best
33.01 there should be an else on line 168? Or am I wrong. Thanks for sharing btw.
hi ,thanks for great video,i have one issue that my song is being played in fast speed,3 mins song ends in 1.5 minutes ,what can be the possible issue
my issue is resolved by changing wav resolution to 16bits
Mohammed, I LOVE YOU.....
thanks for the tutorial was very helpful for my engineering class project
Glad it helped!
Can you help me to complete the same project
can you provide videos for ri2s slave role transmit
Any one can help me to complete this project ? i will pay for it
Hello, is it possible for us to do the same with a STM32F746NG Disco ?
Thank you.
yes, you need to change Codec api layer
@@mutexembedded2206 How do we do it ?
@@minou0060 it is not too beautiful at first, you need to use ST example and make library more "Human usable". Then link to my api above. start with board examples for Codec Audio.
i gave you a big like even before seeing the video :)
Me too!
:)
You are The BEST !
Hey , can i ask a question
Salam,
Yaqoob i was watching your ENC28J60 3 year old video. I did not find your last part. is it missing or you haven't made it. Jazakallah.
No missing video in this channel. th-cam.com/video/A4c0nJudOI0/w-d-xo.html
Hi Hasan,
I stopped working on that, I was at Uni. I am planning to make a better series about STM32 Ethernet
If you look at my notes under the ENC208j60 I managed to get iENC28j60 to work using the arduino libraries and posted the code to github. Even easier now if one is using an eclipse based IDE like SW4Stm32. This has a button called convert project to C++. Then one can directly use the arduino libs with minimal modifications. Better is to use one of the supported PHY chips on a board that supports a PHY.
awesome
Appreciate your work. :)
Hello, thank you for the tutorial ! I would like to know what type of filesystem you have used on a USB-drive, FAT32 or exFAT ?
Nice!
Can you please do a tutorial for STM32CUBEIDE and 16x2 line LCD Display with Large FONTS.
Actually , I have a problem , probably you can help me with , I m trying to read wav files as you did with the usb storage , this time I m trying to do it with sd card module that works with spi , the code works fine ...it reads the wav file ...but ...I hear nothing...
The I2S frequency is 44 KHz as you did , my wav files has 16 bits and 44khz frequency ....
Y
Hi Mohamed, I copy the code exactly as you detail in the video and the first led shows the correct connection of the USB but seems that never enters the second loop where the USB drive is read... do you have this problem in the developing stage? Thanks for the support
Can you debug and find out where exactly it got stuck.
Tip: check you USB fread/fwrite functions first to ensure your FatFs is setup correctly in the first place
Hi@@mutexembedded2206 where it got stuck is in the line137 - if(Appli_state==APPLICATION_READY) as the Appli_state never changes from APPLICATION_START to APPLICATION_READY therefore never even use the f_mount function (as not get into that loop). From that line then start the while (1) again.
@@tomaserjavec6371
Hi Tomas,
Send me a cloud link to your project, I will take a look.
@@mutexembedded2206 Hi Mohamed I've been trying and the problem seems to be the VBUS as the PC0 was not activated (I've to do it by myself in CubeMX) now the LED's are correctly working.
The problem now is that I cannot get any audio output from the USB... can you please detail in which buffer is stored the data from USB in order I can check it in the debugging mode?
has there ever been a stm32f407 programming tutorial for seven segment?
Source code is not found can you upload it again
Hi, thank you for the video! Should I have stored in the USB a file called "Iraqi2.wav" in order to correct playing the audio?
Yes, how did you think it is gonna go if you don't
Thank you for this excellent work :)