-
Notifications
You must be signed in to change notification settings - Fork 461
added internal DAC support via DMA #744
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
That poor bug has been open 2 years now. Wouldn't expect them to be doing anything to fix it at this point. :( How is this different from the INTERNAL_DAC mode already present in the I2S output object? ESP8266Audio/src/AudioOutputI2S.cpp Lines 262 to 268 in a852767
|
to be frank, googling "esp8266audio esp32 s2" lead me straight to Open issue #551 , which suggests that I2S and ULP implementations are broken on esp32-s2, and only option is to use I2CNoDAC. and since i wasn't satisfied with audio quality of I2CNoDAC, i ended up making my own implementation for internal dac. now if issue #551 is still an issue, then this PR should fix it, but if #551 is no longer an issue then you should close it and leave a comment on it so future visitors don't end up wasting their time making another AudioOutput implementation like me. |
Ah, thanks for the explanation. The built-in DAC seems to always have been an afterthought and available only on a couple of the range. Do you think it would make sense to just remove the INTERNAL_DAC from the I2C ESP32 wrapper? The way the I2S API has evolved on the ESP32 over the past years has really turned the code into a mess of The astyle CI failure is related to the new formatting (so I could backport the speedups from BackgroundAudio). If you can run |
I tested both implementations on esp32 and esp32-s2 and this is the result:
I think we should keep the I2S implementation for now, at least until that channel mixing bug is solved upstream. Also not sure why, but the I2S implementation seems to have better audio quality than mine. will need some investigation. I could workaround the channel swap bug by swapping the channels in advance, but that would be unnecessary overhead. It would be better if you could make the I2S implementation work for esp32-s2. After that is done, you could replace my Implementation in AudioOutputInternalDAC.h with the your I2S INTERNAL_DAC one and keep only the External DAC code in AudioOutputI2S.h if you want the seperation. |
Okay, that makes sense. Let's merge this here and then see about the I2S on SD+INTERNALDAC setup (I don't have an ESP32-S3 on hand, but did just order a couple)... Thx again! |
ESP32-S3 doesn't have an Internal DAC, i hope you mean ESP32-S2 |
Yes, just ordered esp32-s2s, not s3. Too many models! 😆 |
Just got the S2Minis and looked into this. |
Uh oh!
There was an error while loading. Please reload this page.