Wow, sound using I2S has now been demystified. Great work. Creating comprehensive single source of documented and working solutions for audio through internet is great time saver. I use to have to scour the internet and look for information that a lot of times did not work properly or was difficult to adapt to my projects due to code complexity, bugs and undocumented functions. Thanks for spending the time and money so others don't have to.
I have been wanting to build a "Arduino based" MP3 player for awhile, but didn't see the tools necessary. This video is exactly what I needed. Thank You, Andreas.
I always enjoy receiving a new episode from your channel. I just have to remind myself: sit down and pay attention! Thank you for such an information-rich source!!
I noticed that lately I keep hitting videos with this specific guy with a Swiss accent. After the 5th video I decided, "Well... I guess this guy with a Swiss accent has earned a subscription..." :D Thank you for all of the work you do!
Amazing as usual, I gave up on connecting the tiny microphone, but with this library you make it work!! Thanks again for your amazing way of presenting just what we need:)
I'm using this library for streaming i2s audio from a FM Radio chip to Bluetooth Speakers 🔊 but sometimes it will freeze up as Andrea experienced, at least when I was testing 6 months ago. I also use this library to stream Internet radio to Bluetooth speakers 🔊 or to a I2S amplifier which works well. Love to see more people get involved and keep improving the library.
Thank you for bringing Phil's library to my attention at least. You''ve opened up some possibilities for a lot of projects. (One thing, at 9:40 I couldn't get Frankie Laine singing Ghost Riders in the Sky out of my head.)
Many "dankkes" to our Swiss friends, Herren Speiss und Schatzmann for introducing us to the audio-tools library - quite amazing and a most excellent use of "streams". Typical Swiss product - very high precision... If you dig into Phil's project there are many discoveries to be made. The project I was working on is a musical tannenbaum.. It took me no time to implement Phil's "player" with a LCD2004 display showing the metadata... Being an ESP32, of course, adding a time display is a cinch. Now to dig for another output stream to make the lights on the tree dance... could it be that I get to write a custom stream? sounds like a fun challenge. Keep up the good work, Andreas - I always sit in the front row...😀
I would really like to use a capability like this with Home Assistant to build small devices that I could use to play audio announcements, alerting tones, etc. and maybe also use them for music playback as a flexible media_player type device. More projects to investigate! Thanks for the introduction to this capability that I wasn't previously aware of!
Thank you! That has really helped as I bought one of the I2S capture cards some time ago and struggled to get it to do anything except generate noise. It works perfectly with the library you recommend :)
wow, thanks for this video - this library was just what I was looking for. I wanted to make an mp3 receiver with an ESP and was afraid I would have to do all the i2s stuff by hand.. but this makes it really easy.
Great find, it's a skill finding the solution, sometimes you create it - often you reinvent a wheel already out there and you find that wheel, so thank you. Now need to get some ESP32's (already planned), been playing with pico's and the ESP32's predecessor and been fun. But the built-in wifi and Bluetooth on the ESP32, sure does offset the PICO's lovely PIO interface perks and performance. One question - what is a good external ADC at a good price balance for resolution? Also looking at ADC's with multiple channels - they seem to poll one channel at a time. What I want to do is poll 4 ADC ports in sync so that the value I get from all 4 is the exact (close as beyond clock jitter that I want as low as possible) time. What I want to do is read 4 piezo elements (cheap mic's if you like) located around a hard surface like a blackboard and from that, hopefully, work out where contact is made to the surface. Turning any hard surface into a touch interface. Now the ideal plan is to be able to read accurate enough in sync so that I can get a good accuracy of the surface noise location and be able to write upon the board and get a digital representation of that via the sound location of the 4 piezo elements. With that, a cheap and simple device that could digitise any blackboard work. So any suggestions, or pointers and insights etc, would be extremely well received. Thank you in advance.
Been working on that myself a few years back, wanted to run it on an arduino for a drum synth input that takes drum surface polar coordinates into account. Life got in the way, but if I were to revisit that idea (some day!) I'd use separate controllers on a common clock to handle all the peak sensing and compare timestamps a few millis later. Might just cut it without lagging too much. I just realized how much faster the signal would move through a solid, so instead of timestamps you'd be comparing levels, of course. The system would need calibration anyway. To cut costs, 3 sensors inputs could be used instead of 4, if accuracy and sensitivity are high enough.
@@ronnetgrazer362 Yip, clock sync is golden for this - cool idea for drums and be funky to see an overhead display of the drummers' actions from another perspective. Hopefully, motivating you into rekindling that project, I know what it is like, many things on the go and flip between them depending upon time, mode and resources.
@@PaulGrayUK Exactly, there's always another interesting project fighting for attention! I made a million edits to the previous comment btw, sorry for that. And i just now realized that sufficient precision would allow you to fit all 3(?) sensors in the middle of the sensing surface, spaced apart just enough to fit the main PCB in between. Don't know if you figured 4 corners means one sensor on each of them like I did mere seconds ago, but I don't see why you couldn't sense outside of the array as long as specs allow for it.
@@ronnetgrazer362 I was looking at 4 sensors around the outside, so any sound which will be in contact with the surface would have a delay difference for each sensor and with that, want them far apart around the outside and for my objective - 4 should be 1 more than enough and 1 more for a level of accuracy. But need to play and see if 4 is the sweet spot or 5 or 3. What the offset in costs and more so accuracy and see how those plots out. Drums bit more complicated. Don't want to add anything that will change the sound of the drum. So maybe a laser mic would be the way for those and can have under the drum tracking from the underside - how many I'd start with 3, should cover the main area drummers like to play upon the skin (can look at used drum skins to get good idea or area you are targeting to cover). It May work, may not, but be fun to play with as everybody loves lasers. :) However - like any well-formed plan, there will be exceptions - and drummers doing a rimshot would be one that would prove to fall into that path of exceptions. But may also be detectable by the pattern it plays out upon the laser mic array. One of those, try and see.
Amazing video! And I loved the Master/whatever reference :) Do you think it would be possible do use an ADC module with i2s, si5351 oscilator, mixer chip like ne602 and an ESP32 to build a SDR receiver only with modules?
Very interesting. Is the ESP32 fast enough to decode AAC LC and HE-AAC now in software? I have seen other ESP32 radio projects that rely on the VS1053B decoder board to do the AAC decoding. It would be a very neat solution to be able to avoid having extra decoder boards in a small internet radio box.
Thanks for the Video, I searching a possibility for 2 way intercom (Microphone and a small Speaker) with Wi-Fi (or Lan) over ESP32? I want to add this add to an Video Stream and use it over a browser. Have you any Idea how to set this up?
Mist, jetzt muss ich schon wieder ein neues Gitarreneffektgerät bauen. Danke für die Infos. Hast Du schon Erfahrungen zwischen der Latenz Input und Output? Also ADC -> I2S -> ESP.Copy -> I2S -> DAC.
Nein, ich habe keine Latenzmessung gemacht. Schau mal in die "Maximilian" Beispiele rein. Das ist ein Audioprojekt mit vielen vorgefertigten Effekten...
As always watching your video and ideas are creeping, which will cost me some time .... Could it handle streaming webradio from internet and send it to a bluetooth speaker ? Resources Bottlenecks ? Thanks for the allied swiss enabling.
I've struggled on and off trying to understand audio recording and play back on the esp32. Cobbling together examples and trying to decipher the I2S docs. Tha k yiu doe highlighting this. I still want to understand it at a low level, at least now there's a library that works which I can look at.
Hi Andreas, wenn er das mit dem Bluetooth noch hin bekommt, hat er das Schweitzer Taschenmesser neu definiert. Das mit dem Bluetooth in zu Audio Out ist dass was ich auf Arduino brauche.
Das läuft in anderen Kombinationen. Schau einfach ab-und zu in seine libraries und die issues. Ich warte auch drauf, denn dann kann man sich den Ausgangsverstärker und die Buchse sparen...
@@AndreasSpiess Teo Swee Ann confirmed that the ESP32 GPIO pins are 5V tolerant. Apparently, they took that out of the datasheet because users were trying to power the chip with 5V
Hello again, @AndreasSpiess, I am deciding to buy from your links all the componentes for my project, but I still have a question, I see that you used the ESP32 Wroom board according to the link. But before buying, can you answer a couple of questions? *1 Which board did you select in the IDE list to compile correctly? *2 Did you modify, or add any line of code in the configuration so that it compiles correctly? I try to compile for Wroom or for generic ESP32, and it returns a compilation error for that board. After I managed to compile, I bought all the components from your links. thanx Andreas!
1. I always use the ESP32 Drv board 2. You have to read the error message and correct the error. No errors should occur because of the board. 3. Thanks for using the links!
Thank you for this. I've been trying to finish a project using other available ESP32/ESP8266 audio libraries but run into problems with reliability or getting the functionality I want. Hopefully this library will help me to finally get it working.
Hi Andreas - I have not seen any videos on the ESP32 ability to play notes. It can produce the 12 notes of the scale across 8 octaves. It uses just 2 commands - in setup - ledcAttachPin(TONE_OUTPUT_PIN, TONE_PWM_CHANNEL); and ledcWriteNote(TONE_PWM_CHANNEL, NOTE,Octave); // where note is one of the 12 from NOTE_C to NOTE_B. By using channels 1 and 9 you can produce stereo - eg independent channels - one set for the left hand and one for the right hand. Connect the GPIO output pins of the ESP32 and earth to an amplifier. By creating an array of NOTES[12] you could create a stereo laser harp or Theremin. Have you done a TH-cam video on this feature of the ESP32 ? Perhaps I have missed it.. Best regards... Keith (Australia).
Yes, the ledcAttachPin command is very versatile. I never did such a video. I only once used a library which played some titles. But this is many years back.
This is really useful. I have been putting off making a smart mp3 player play sleep music at night (along with controlling some ambient lights and switching the bedroom fan on/off). I have purchased a UDA1334A I2S Stereo DAC breakout a while back and tested it tonight as you suggested and it works perfectly! Thank you. I do wish however I was able to figure out how to start the mp3 stream via an MQTT command! If you have any suggestions about this, I would gladly hear them!
Would be interesting to see the impact of this continuous streaming on power draw. I always thought it would be cool to build an Internet Radio for Pandora, and I suspect the ESP32 would be easier on batteries than, say, a Pi Zero W.
Andreas, Thank you for sharing your work here. I have been studying many video and other sources about integrating the INMP441 to the RP-Pico or ESP32. In all cases I remain confused with the INMP441's I2S 24 bit data output being mapped directly to 16 bits. Could you explain this? Thanks
Hi Andreas, thanks for the nice video and content. Here are some questions: 1 - How many ohms has the speaker that you used at valse.mp3 example? 2 - Is there a limitation in ESP32 about speakers impedance? 3 - It is possible an audio comunication between LoRa Rf? A conversation between two people for example. Here is the guy with Brazilian accent :)
Hi Helmuth I am no expert but checkout the i2c audio module he used the MAX98357A. "Output Power: 3.2W at 4Ω, 10% THD, 1.8W at 8Ω, 10% THD, with 5V supply". I highly doubt LORA is good for that application since it is very low transfer rate. LORA would be better for sending text messages.
Perfect, many many thanks... Yesterday i played around with this Ai Thinker board but didnt had any luck because i was unable to get the esp-adf to work. I will try it with this library.
Interesting! Is the ESP32 + I2S microphone able to recognize some voice commands? Should ESP32 use TensorflowLite to do that? Is ESP32 powerfull enough for this task? Thx.
@@AndreasSpiess I would like to count accuratly how many times a day my neighbour his dog barks because nobody believes me when I say it must be hundreds of times ... anybody who can do that with ESP32 or RP please let me now....payed project :-)
Internet radio on the Esp32 is amazing. check out the Adafruit i2s stereo decoder board, connected to a hifi amp, you get great sound quality. makes you relaize how bad DAB is
Wonderful video!! I'm stuck though: I have the ESP32 v2.0.10 by Espressif installed in the latest Arduino IDE's Board Manager but I do not find the AI Thinker Audio Kit board listed. What board do you choose or is there another board configuration that needs to be installed instead of or in addition to the Espressif one? And does the board program via the UART port or is it necessary (or recommended) to program via the JTAG interface pins on the board? I keep searching the Internet for details on this but come up empty handed. Thanks in advance for any direction that could be provided on this.
The board can be programmed via USB. I use the ESP32 dev module board definition. You need to install 2 libraries and try which board you got. Information and support is on Github
This part with the BT-Speaker sounds nice... Hope you will make an github example. My idea is that to make next Radio project.... and i will use my ESP32 and only one of my many BT-Speaker.... yw
thank you and it is really helpful. and also do you have plan to use a2dp and BLE serieal communication at the same time? since esp32 support dual bluetoth but there are not imformation about it (especially with arduino IDE) thank you again ser
Thank you Andreas for the great video. I need to stream a squire wave signal in audio frequency rang wirelessly 20 meters to a receiver. Squire wave can be converted to signe wave if I have to. I could probably use classic bluetooth for transmission. Transmitter is sitting on a metal pole and the receiver is inside a truck driver cabin. What are your suggestions.
Thank you for this amazing video. I have a question : if I understand correctly the specific board that has the ADC is an esp32 audio kit ? It's a specific one ? And we it we can directly run a code and send the mini jack output to a speaker ? Thanks
Hi Andreas, very nice video, I like it a lot. Do you have an idea where I can find information about the different flavors of the ESP32 Audio Kit? -- I got one with a revision "A247" and I cannot find anything on Google. Thank you.
Phil has the best compilation on his Github. But keep in Mind: AIthinker stopped production and you only get clones now. Search for "GPIO Overview by Selected Board pschatzmann". TH-cam does not allow links any more. Use one of the examples of the audiokit library and select the different boards in "...libraries\arduino-audiokit\src" (#define AUDIOKIT_BOARD 5). At least 5 and 7. One will create error messages and the other not. Then you know which one you have...
I have the same board. And have been struggling a bit myself. I have the streaming MP3 radio working from 2 different examples. One using a list of stations from the SD card.
Please make also a video about the minimal setup like A2DP sink for ESP32-A1S module as they have two different models because of the two codecs, one with AC101 and the new ES8388. Thank you!
Love this channel! I decided to buy the ESP32 Audio Kit, but cant get the external microphone to work. Were you able to get the external input to work on your board? I can get the built in mics to work on Channel 2, but Channel 1 does not work for me. Am I doing something wrong?
So you mentioned that some pins are a no go for the ESP32 , how can we find them i looked up the data sheet and besides being massive it got me even more confused. Also besides those 2 pins are there any other no go pins? On a side note ESP32 matrix tutorial would be interesting. Keep up to good work, great video again!
Hello Sir. I'm from Cuba. I like very much all your videos specially those related to Espressif ecosystem. I use Eclipse ide form my projects. I really aprecciate examples in your videos using that ide. Form ESP-IDF 4.4 Espressif has an IDE based on eclipse. Very useful.
Hello Andreas, great video - as always! Did you or anyone else had success in streaming music via internet and playing it back via a connected bluetooth speaker (using ESP8266 Lib)? I'm trying to build my own ESP32-based web-radio player and try to use an existing bluetooth speaker for playback. It'S hard to finde a complete and working code example on the internet.
I love that you don't just cover one topic in each video and make a "series". Instead you give us a comprehensive guide end to end. Thank you!
Thank you for your feedback. Sometimes not easy in 15 or less minutes ;-)
I second to that 👍🏻
This is really getting a Swiss channel... an accent, a library...
What a great video and really usefull !
You are right! This was truly by chance. There is not a lot of ESP32 audio content around...
I've used Phil's library for a few projects - it's really good work and removes a lot of the complexity of I2S.
Thank you for your feedback! I am also a subscriber of your channel ;-)
@@AndreasSpiess You've no idea how happy that makes me. I feel like I have won the internet :)
Ah, a library that is properly documented. How Swiss!
I agree. Its documentation is good. And I think also the examples. It helps a lot for the beginning...
Wow, sound using I2S has now been demystified. Great work. Creating comprehensive single source of documented and working solutions for audio through internet is great time saver. I use to have to scour the internet and look for information that a lot of times did not work properly or was difficult to adapt to my projects due to code complexity, bugs and undocumented functions.
Thanks for spending the time and money so others don't have to.
You are welcome! All the work was done by Phil!
I have been wanting to build a "Arduino based" MP3 player for awhile, but didn't see the tools necessary. This video is exactly what I needed. Thank You, Andreas.
You are welcome!
Literally all the information I was looking for for 2 different projects in 1 great video. Thanks :)
You are welcome!
I just saw your Super Thanks on my PC (it is not displayed on the IPad). Thank you for your support!
I always enjoy receiving a new episode from your channel. I just have to remind myself: sit down and pay attention! Thank you for such an information-rich source!!
That is the right attitude! Then you do not need to ask questions about things which were presented in the video ;-)
I noticed that lately I keep hitting videos with this specific guy with a Swiss accent. After the 5th video I decided, "Well... I guess this guy with a Swiss accent has earned a subscription..." :D Thank you for all of the work you do!
Welcome aboard the channel!
You are covering exactly what I am working on this weekend. Thanks!
Excellent! Hopefully you get along a little faster.
Kudos for explaining master clock on the ESP32, and doing it well.
You are welcome!
Amazing as usual, I gave up on connecting the tiny microphone, but with this library you make it work!! Thanks again for your amazing way of presenting just what we need:)
I hope you will be successful!
Thank you Andreas, send Phil my gratitude
You are welcome! I hope he reads these comments, too
Yeah! Another ESP32 video! Thanks for creating it. Recording and playing sound is a very useful topic.
Many viewers agree that this is a useful library!
I'm using this library for streaming i2s audio from a FM Radio chip to Bluetooth Speakers 🔊 but sometimes it will freeze up as Andrea experienced, at least when I was testing 6 months ago.
I also use this library to stream Internet radio to Bluetooth speakers 🔊 or to a I2S amplifier which works well.
Love to see more people get involved and keep improving the library.
Cool projects! Let's hope the A2DP issue can be resolved. Maybe you can provide more debugging info to Phil?
Thank you for bringing Phil's library to my attention at least. You''ve opened up some possibilities for a lot of projects.
(One thing, at 9:40 I couldn't get Frankie Laine singing Ghost Riders in the Sky out of my head.)
Unfortunately, I do not understand your reference to Ghost Riders :-(
Lovely! great efforts! thank you everyone from swissterland!
:-)
Really a great project. Thanks for honestly sharing your experiences with all the wrong details a beginner makes. So we all can learn from it.
Glad it was helpful!
A video jam-packed with information and ideas! Thanks.
Glad you enjoyed it!
Impressive find 👍
Great walkthrough of the process as always 👍😀
Thanks for sharing your experience with all of us 👍😀
You are welcome! I am glad this video solves many problems!
Simply Beautiful! Love your work ! Audio was a very big problem for me in my projects but you showed me such a great way to tackle that. Thank you !
Glad I could help!
Classic Andreas , Informative and comprehensive , easy to follow . Thank you !
You are welcome!
Great stuff as always Andreas! Thanks a lot for this!
You are welcome!
3:05 "Each device can act as a master or... whatever name you prefer" got me in stitches.
:-)
THANK YOU SO MUCH ANDREAS! This gives me a lot of idea to play with radio and internet hehehe
Cool. That is very good.
Many "dankkes" to our Swiss friends, Herren Speiss und Schatzmann for introducing us to the audio-tools library - quite amazing and a most excellent use of "streams". Typical Swiss product - very high precision... If you dig into Phil's project there are many discoveries to be made. The project I was working on is a musical tannenbaum.. It took me no time to implement Phil's "player" with a LCD2004 display showing the metadata... Being an ESP32, of course, adding a time display is a cinch. Now to dig for another output stream to make the lights on the tree dance... could it be that I get to write a custom stream? sounds like a fun challenge.
Keep up the good work, Andreas - I always sit in the front row...😀
Good luck with your project! Still some time till Christmas.
Amazing content density. Thanks! I am going to try this out this week. I wish I had viewed the video the day it came out... So very busy 😑
We are all busy. No problem ;-)
What a wonderful guy! Its a pleasure for my mind, all your contents. Many thanks Andreas, 73
You are welcome! 73
I would really like to use a capability like this with Home Assistant to build small devices that I could use to play audio announcements, alerting tones, etc. and maybe also use them for music playback as a flexible media_player type device. More projects to investigate! Thanks for the introduction to this capability that I wasn't previously aware of!
Either using a webserver or an SD card as a source should enable all these projects.
Thank you! That has really helped as I bought one of the I2S capture cards some time ago and struggled to get it to do anything except generate noise. It works perfectly with the library you recommend :)
Glad it helped!
Nice topic, so thanks for all the insights, Andreas.
Glad you enjoyed it! I also see some interesting projects...
Looking forward to that video on applying audio filters with this library on esp32! I have a need to hpf audio at about 150hz...
That should be possible... Not decided how I will cover the topic.
If combined with the esp32-cam and a sip library the next step would be a ESP32 Video Doorbell😁
I thought of the esp32cam too due to integrated SD card reader!
Just do it (and document it ;-)
Share it pls
Many thanks for nice, useful and calming content in this difficult times. Best regards Niksa.
You are welcome!
wow, thanks for this video - this library was just what I was looking for. I wanted to make an mp3 receiver with an ESP and was afraid I would have to do all the i2s stuff by hand.. but this makes it really easy.
Glad I could help!
Thanks, Andreas very well explained as always, we want more 😁
:-) We will see...
imo the ESP32s integrated dac is pretty ok especially for simple audio notifications on your projects
Agreed. We also want to use it for a radio project where bandwidth is limited to 2.5kHz. But for "real" audio it is not good enough
For those who were confused like I was, streams-generator-csv has been renamed streams-generator-serial.
Thank you for the info!
This looks great. Thanks so much!
You are welcome!
Outstanding, thank you!
You are welcome!
Wow! It sounds great! 🎶 Thanks for sharing it!
Glad you like it!
Thank you for this video! I have currently a problem on an esp32 audio project and this can maybe fix this. Will try it out. Great timing! 🥳🎉
I hope you will succeed!
Great find, it's a skill finding the solution, sometimes you create it - often you reinvent a wheel already out there and you find that wheel, so thank you.
Now need to get some ESP32's (already planned), been playing with pico's and the ESP32's predecessor and been fun. But the built-in wifi and Bluetooth on the ESP32, sure does offset the PICO's lovely PIO interface perks and performance.
One question - what is a good external ADC at a good price balance for resolution? Also looking at ADC's with multiple channels - they seem to poll one channel at a time. What I want to do is poll 4 ADC ports in sync so that the value I get from all 4 is the exact (close as beyond clock jitter that I want as low as possible) time. What I want to do is read 4 piezo elements (cheap mic's if you like) located around a hard surface like a blackboard and from that, hopefully, work out where contact is made to the surface. Turning any hard surface into a touch interface. Now the ideal plan is to be able to read accurate enough in sync so that I can get a good accuracy of the surface noise location and be able to write upon the board and get a digital representation of that via the sound location of the 4 piezo elements. With that, a cheap and simple device that could digitise any blackboard work.
So any suggestions, or pointers and insights etc, would be extremely well received.
Thank you in advance.
I made a video about external and internal ADCs. Parallel is always hard. But maybe you do not need parallel, just only s small difference.
Been working on that myself a few years back, wanted to run it on an arduino for a drum synth input that takes drum surface polar coordinates into account. Life got in the way, but if I were to revisit that idea (some day!) I'd use separate controllers on a common clock to handle all the peak sensing and compare timestamps a few millis later. Might just cut it without lagging too much.
I just realized how much faster the signal would move through a solid, so instead of timestamps you'd be comparing levels, of course. The system would need calibration anyway. To cut costs, 3 sensors inputs could be used instead of 4, if accuracy and sensitivity are high enough.
@@ronnetgrazer362 Yip, clock sync is golden for this - cool idea for drums and be funky to see an overhead display of the drummers' actions from another perspective. Hopefully, motivating you into rekindling that project, I know what it is like, many things on the go and flip between them depending upon time, mode and resources.
@@PaulGrayUK Exactly, there's always another interesting project fighting for attention!
I made a million edits to the previous comment btw, sorry for that.
And i just now realized that sufficient precision would allow you to fit all 3(?) sensors in the middle of the sensing surface, spaced apart just enough to fit the main PCB in between. Don't know if you figured 4 corners means one sensor on each of them like I did mere seconds ago, but I don't see why you couldn't sense outside of the array as long as specs allow for it.
@@ronnetgrazer362 I was looking at 4 sensors around the outside, so any sound which will be in contact with the surface would have a delay difference for each sensor and with that, want them far apart around the outside and for my objective - 4 should be 1 more than enough and 1 more for a level of accuracy. But need to play and see if 4 is the sweet spot or 5 or 3. What the offset in costs and more so accuracy and see how those plots out.
Drums bit more complicated. Don't want to add anything that will change the sound of the drum. So maybe a laser mic would be the way for those and can have under the drum tracking from the underside - how many I'd start with 3, should cover the main area drummers like to play upon the skin (can look at used drum skins to get good idea or area you are targeting to cover). It May work, may not, but be fun to play with as everybody loves lasers. :) However - like any well-formed plan, there will be exceptions - and drummers doing a rimshot would be one that would prove to fall into that path of exceptions. But may also be detectable by the pattern it plays out upon the laser mic array. One of those, try and see.
Danke!😎
Gern geschehen!
Very cool! Wonder minimal sized phased array needed to integrate with multicast udp over ku and ka microwave downlink. Could be useful...
I do not understand your comment :-(
Amazing video! And I loved the Master/whatever reference :) Do you think it would be possible do use an ADC module with i2s, si5351 oscilator, mixer chip like ne602 and an ESP32 to build a SDR receiver only with modules?
I will cover SDR stuff on my second channel. And this video is the preparation for digital filters which are needed there...
Excellent video Mr. Swiss guy, just excellent 👍. Thank you.
You are welcome!
Nice one :)
Plenty of ideas for future tinkering !
True. I have some projects in mind, too...
Awesome video Andreas.
Thank you very much!
Very interesting. Is the ESP32 fast enough to decode AAC LC and HE-AAC now in software? I have seen other ESP32 radio projects that rely on the VS1053B decoder board to do the AAC decoding. It would be a very neat solution to be able to avoid having extra decoder boards in a small internet radio box.
Yes it will decode ACC and MP3 streams of like up to 320kbs without any problems from my testing. No need for external decoders
Keep going Andreas, i really like your videos
Thanks! 😃
Radio Swiss Jazz ❤️. Best Station ever… tnx for using this as webradio sample.
This was Phil's idea! Also Swiss-Pop is quite cool. Maybe only for elder people like me ;-)
Great job Andreas
Thank you!
Thanks for the Video, I searching a possibility for 2 way intercom (Microphone and a small Speaker) with Wi-Fi (or Lan) over ESP32? I want to add this add to an Video Stream and use it over a browser. Have you any Idea how to set this up?
Not many such projects are available. So maybe you have to program it yourself.
Mist, jetzt muss ich schon wieder ein neues Gitarreneffektgerät bauen. Danke für die Infos. Hast Du schon Erfahrungen zwischen der Latenz Input und Output? Also ADC -> I2S -> ESP.Copy -> I2S -> DAC.
Nein, ich habe keine Latenzmessung gemacht. Schau mal in die "Maximilian" Beispiele rein. Das ist ein Audioprojekt mit vielen vorgefertigten Effekten...
@@AndreasSpiess Tnx! Ich habe jetzt erstmal so ein komplettes Audio Board bestellt. Eine guter Punkt um mal ohne viel Aufwand rumzutesteten.
As always watching your video and ideas are creeping, which will cost me some time ....
Could it handle streaming webradio from internet and send it to a bluetooth speaker ?
Resources Bottlenecks ?
Thanks for the allied swiss enabling.
AFAIK Wi-Fi and Bluetooth are exclusive or on one ESP chip (they use the same radio)
Unfortunately the ESP32 does not support Bluetooth and WIFI at the same time.
ah guessed it..... so its a two-esp solution with i2s in between
or esp with audio out as shown ....
I've struggled on and off trying to understand audio recording and play back on the esp32. Cobbling together examples and trying to decipher the I2S docs. Tha k yiu doe highlighting this. I still want to understand it at a low level, at least now there's a library that works which I can look at.
I agree. Having a working example helps a lot in many cases...
Helpful video. I liked it
:-)
Hi Andreas, wenn er das mit dem Bluetooth noch hin bekommt, hat er das Schweitzer Taschenmesser neu definiert. Das mit dem Bluetooth in zu Audio Out ist dass was ich auf Arduino brauche.
Das läuft in anderen Kombinationen. Schau einfach ab-und zu in seine libraries und die issues.
Ich warte auch drauf, denn dann kann man sich den Ausgangsverstärker und die Buchse sparen...
@Andreas Thanks for pointing to this library... now i can remove Basic i2s Audio from my projectlist... and give my attention to voice recognithion,
Hopefully you will be successful!
Awesome. At 8:24, though, it's completely fine to have signals up to 5V on ESP32 (just not on power pin). CEO of Espressif has confirmed this
I only heard that for the ESP8266...
@@AndreasSpiess Teo Swee Ann confirmed that the ESP32 GPIO pins are 5V tolerant. Apparently, they took that out of the datasheet because users were trying to power the chip with 5V
Cool! New horizons. Thanks
Indeed, it opens new possibilities!
Great video Andreas and thank you for the link ;)
You deserve it ;-)
Hello again, @AndreasSpiess, I am deciding to buy from your links all the componentes for my project, but I still have a question, I see that you used the ESP32 Wroom board according to the link.
But before buying, can you answer a couple of questions?
*1 Which board did you select in the IDE list to compile correctly?
*2 Did you modify, or add any line of code in the configuration so that it compiles correctly?
I try to compile for Wroom or for generic ESP32, and it returns a compilation error for that board.
After I managed to compile, I bought all the components from your links. thanx Andreas!
1. I always use the ESP32 Drv board
2. You have to read the error message and correct the error. No errors should occur because of the board.
3. Thanks for using the links!
Thank you for sharing this!
My pleasure!
Thank you for this. I've been trying to finish a project using other available ESP32/ESP8266 audio libraries but run into problems with reliability or getting the functionality I want. Hopefully this library will help me to finally get it working.
I hope, too!
ESP32 is taking over the world. My first computer cost well over £2000, and did not even have sound. I will be running my house on ESP32s :)
That is what we do, too. It is a marvellous chip!
Hi Andreas - I have not seen any videos on the ESP32 ability to play notes. It can produce the 12 notes of the scale across 8 octaves. It uses just 2 commands - in setup - ledcAttachPin(TONE_OUTPUT_PIN, TONE_PWM_CHANNEL); and ledcWriteNote(TONE_PWM_CHANNEL, NOTE,Octave); // where note is one of the 12 from NOTE_C to NOTE_B. By using channels 1 and 9 you can produce stereo - eg independent channels - one set for the left hand and one for the right hand. Connect the GPIO output pins of the ESP32 and earth to an amplifier. By creating an array of NOTES[12] you could create a stereo laser harp or Theremin. Have you done a TH-cam video on this feature of the ESP32 ? Perhaps I have missed it.. Best regards... Keith (Australia).
Yes, the ledcAttachPin command is very versatile. I never did such a video. I only once used a library which played some titles. But this is many years back.
This is really useful. I have been putting off making a smart mp3 player play sleep music at night (along with controlling some ambient lights and switching the bedroom fan on/off). I have purchased a UDA1334A I2S Stereo DAC breakout a while back and tested it tonight as you suggested and it works perfectly! Thank you. I do wish however I was able to figure out how to start the mp3 stream via an MQTT command! If you have any suggestions about this, I would gladly hear them!
Maybe you open an Issue on Phil's GitHub. I am sure you are not the only with this question...
Would be interesting to see the impact of this continuous streaming on power draw. I always thought it would be cool to build an Internet Radio for Pandora, and I suspect the ESP32 would be easier on batteries than, say, a Pi Zero W.
I did not check. WiFi anyway is not ideal with batteries.
Thanks for such a great video. How can I implement voice translation on esp32. Input and output both are voice.
You have to search for a project. I do not know one :-(
Andreas, Thank you for sharing your work here.
I have been studying many video and other sources about integrating the INMP441 to the RP-Pico or ESP32. In all cases I remain confused with the
INMP441's I2S 24 bit data output being mapped directly to 16 bits. Could you explain this?
Thanks
You can shift the bits of a 24 bit number by 8 bits to the right (divide by 256). The result should be a (less precise) 16 bit number.
Hi Andreas, thanks for the nice video and content.
Here are some questions:
1 - How many ohms has the speaker that you used at valse.mp3 example?
2 - Is there a limitation in ESP32 about speakers impedance?
3 - It is possible an audio comunication between LoRa Rf? A conversation between two people for example.
Here is the guy with Brazilian accent :)
Hi Helmuth I am no expert but checkout the i2c audio module he used the MAX98357A. "Output Power: 3.2W at 4Ω, 10% THD, 1.8W at 8Ω, 10% THD, with 5V supply". I highly doubt LORA is good for that application since it is very low transfer rate. LORA would be better for sending text messages.
@@JonnyWaldes many thanks :)
I agree with Jonny
Perfect, many many thanks...
Yesterday i played around with this Ai Thinker board but didnt had any luck because i was unable to get the esp-adf to work.
I will try it with this library.
Use the respective examples of the library!
@@AndreasSpiess Yep, they are working perfectly fine 👍
Interesting! Is the ESP32 + I2S microphone able to recognize some voice commands? Should ESP32 use TensorflowLite to do that? Is ESP32 powerfull enough for this task? Thx.
You can try Tensorflow. Maybe you find a project. I am not a big fan...
@@AndreasSpiess I would like to count accuratly how many times a day my neighbour his dog barks because nobody believes me when I say it must be hundreds of times ... anybody who can do that with ESP32 or RP please let me now....payed project :-)
The BluetoothA2DPSink library by Phil Schatzmann with an ESP32 connected to a PCM5102 decoder module plays audio via Bluetooth
Cool. Thanks for the feedback!
Hi, is there a way to integrate the I2S microphone to the “camerawebserver” example for the ESP32cam? A full baby monitor!! Thnx
I think so. Just try it!
Internet radio on the Esp32 is amazing. check out the Adafruit i2s stereo decoder board, connected to a hifi amp, you get great sound quality. makes you relaize how bad DAB is
These I2S decoders seem to have a decent quality, especially for the price...
Wonderful video!! I'm stuck though: I have the ESP32 v2.0.10 by Espressif installed in the latest Arduino IDE's Board Manager but I do not find the AI Thinker Audio Kit board listed. What board do you choose or is there another board configuration that needs to be installed instead of or in addition to the Espressif one?
And does the board program via the UART port or is it necessary (or recommended) to program via the JTAG interface pins on the board? I keep searching the Internet for details on this but come up empty handed.
Thanks in advance for any direction that could be provided on this.
The board can be programmed via USB. I use the ESP32 dev module board definition. You need to install 2 libraries and try which board you got. Information and support is on Github
Nice work!
Thanks!
Can ESP32 act as a 2-way VOIP gateway, for use as intercom network for example?
And is there any support for SIP?
I do not know about the two-way thing. And about the latency (which is important in this respect. Maybe you try it?
It would be awesome with ESP-NOW for lower latency
This part with the BT-Speaker sounds nice... Hope you will make an github example. My idea is that to make next Radio project.... and i will use my ESP32 and only one of my many BT-Speaker....
yw
It seems it works with other examples of the library and I was unlucky.
Great video its helping a lot. Question: what is the browser url when you send audio to a webpage?
I do not know it by heart. But it is for sure documented in the Github project.
thank you and it is really helpful. and also do you have plan to use a2dp and BLE serieal communication at the same time? since esp32 support dual bluetoth but there are not imformation about it (especially with arduino IDE)
thank you again ser
Maybe you ask Phil, the creator of the library?
Thank you Andreas for the great video. I need to stream a squire wave signal in audio frequency rang wirelessly 20 meters to a receiver. Squire wave can be converted to signe wave if I have to. I could probably use classic bluetooth for transmission. Transmitter is sitting on a metal pole and the receiver is inside a truck driver cabin. What are your suggestions.
I have no idea because I never heard of these protocols or products :-(
Thank you for this amazing video. I have a question : if I understand correctly the specific board that has the ADC is an esp32 audio kit ? It's a specific one ? And we it we can directly run a code and send the mini jack output to a speaker ? Thanks
Esp 32 -a1s
I link to the audiokit board should be in the video description.
Hi Andreas,
very nice video, I like it a lot.
Do you have an idea where I can find information about the different flavors of the ESP32 Audio Kit? -- I got one with a revision "A247" and I cannot find anything on Google.
Thank you.
Phil has the best compilation on his Github. But keep in Mind: AIthinker stopped production and you only get clones now.
Search for "GPIO Overview by Selected Board pschatzmann". TH-cam does not allow links any more.
Use one of the examples of the audiokit library and select the different boards in "...libraries\arduino-audiokit\src" (#define AUDIOKIT_BOARD 5). At least 5 and 7. One will create error messages and the other not. Then you know which one you have...
@@AndreasSpiess Thanks a lot!!
I have the same board. And have been struggling a bit myself. I have the streaming MP3 radio working from 2 different examples. One using a list of stations from the SD card.
A very informative video. It 'sounds' as though the ESP32 could form the basis for a microphone audio processor for amateur radio use. Regards.
Yes. That was the reason for these experiments.
Please make also a video about the minimal setup like A2DP sink for ESP32-A1S module as they have two different models because of the two codecs, one with AC101 and the new ES8388. Thank you!
You find a lot of examples for both versions of the A1S in Phil's repo.
Thank you for such a great video. I wanted to ask you one question that how have you hooked up the esp32 with inmp441? Thank you once again.
You find the info on Phil's page
Very Good, can the Library play a string from the script to a loud speaker, like TTS?
You need hardware to do it.
@@AndreasSpiess ok will you do a video of it?
@@steverileyretired I currently have no plans 😞
Liked, thank you, sir!👍
You are welcome!
Thanks for your efforts.
You are welcome!
Love this channel! I decided to buy the ESP32 Audio Kit, but cant get the external microphone to work. Were you able to get the external input to work on your board? I can get the built in mics to work on Channel 2, but Channel 1 does not work for me. Am I doing something wrong?
I never used the Kit. But Phil used it a lot. So just ask him on Github.
@@AndreasSpiess Thanks Andreas, I will do that! Thanks again for all your videos, they are very well done and very informative!
So you mentioned that some pins are a no go for the ESP32 , how can we find them i looked up the data sheet and besides being massive it got me even more confused. Also besides those 2 pins are there any other no go pins?
On a side note ESP32 matrix tutorial would be interesting.
Keep up to good work, great video again!
I made a whole video about this topic (including an Excel sheet)...
@@AndreasSpiess then ill just have to find it
@@sanjikaneki6226 GR
#363 Which ESP32 pins are safe to use? th-cam.com/video/LY-1DHTxRAk/w-d-xo.html
Hello Sir. I'm from Cuba. I like very much all your videos specially those related to Espressif ecosystem. I use Eclipse ide form my projects. I really aprecciate examples in your videos using that ide. Form ESP-IDF 4.4 Espressif has an IDE based on eclipse. Very useful.
I only use the Arduino IDE on this channel because this is used by most Makers.
Thanks for these vids.
You are welcome!
Hi Andreas. Great and useful video. One question, can I somehow change my voice pitch using the esp32?
I do not know the details. Maybe you ask Phil on his Github page?
There is a chapter about pitch shifting in the Wiki! Sometimes it helps to read the documentation...
Great! Can You make an spl sensor with this?
What is an spl sensor?
Hello Andreas, great video - as always! Did you or anyone else had success in streaming music via internet and playing it back via a connected bluetooth speaker (using ESP8266 Lib)? I'm trying to build my own ESP32-based web-radio player and try to use an existing bluetooth speaker for playback. It'S hard to finde a complete and working code example on the internet.
I once made a video about an internet radio using an ESP32.