-
-
Notifications
You must be signed in to change notification settings - Fork 233
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
Corrupted sound after extending sample size to 32bit #1776
Comments
You are crazy to report this as an issue: Please read the Wiki!
This can't work with the log level Info! |
Thanks for the response. I wish it was that simple (maybe it still is though). Despite ending up using the original sketch as an example, as well as looking into documentation (like https://github.com/pschatzmann/arduino-audio-tools/wiki/Converting-the-Data-Format, https://github.com/pschatzmann/arduino-audio-tools/wiki/It's-not-working) - I also tried the following modifications:
However, there is no difference at all in the sound. I would really appreciate it if you could point out what else needs to be modified in the original sketch or which parts of the documentation I've completely missed. Thanks! |
Just using AudioLogger::instance().begin(Serial, AudioLogger::Error); should be good enough |
Did you test with a sine generator test sketch that your board supports the 32 bits properly ? |
I confirm that for me it is not working any more as well... |
Thanks for the update! I'm still running different tests. Switched to the board that doesn't have MCK input and can confirm that the sine generator sketch works. Will now try 16 bit + NumberFormatConverterStream and see if that's where sound gets corrupted. |
One of the issues is that I2S does not get notified about the right values. |
A bit weird, with
However, the sinewave example still gives corrupt sound:
There must be a mistake somewhere 😞 Did it fix the issue for you? |
No, but I suggest that you change the log level back to info, so that you can see wha't going on... |
I see that the output stays 16bit:
However, if I explicitly set it to 32 via
Another thing I want to try is to run these examples of the latest |
I committed a correction that should fix the wrong conversion: it was clipping the data wrongly! |
Thanks a lot! The |
I also changed the logic to use the standard notification setup in this case as well, so this scenario will work as expected, with the correct sample rate (without calling addNotifiyAudioChange()) |
Problem Description
Hello,
I'm trying to get this example Changing the Sample Size to 32 bits to work with my boards, but no luck.
I'm getting a crunchy, distorted sound from the Right channel and nothing from the Left. So far I tried two different DAC boards with several different pin configurations. Here is a small video that shows the problem: (warning loud sound!) https://youtube.com/shorts/Tbj9YHYC19o
Here is the full sketch (it's a platformio-based project): https://github.com/A-KL/esp32-projects/blob/main/sound/simpe-radio/src/main.cpp
Which esp32 board did you use for testing?
The serial log looks good:
Device Description
LilyGO TTGO T-Display V1.1 ESP32 (with 1.14 inch TFT Display). I've other boards but it doesn't look the problem is board-dependent: https://github.com/Xinyuan-LilyGO/TTGO-T-Display
ES9018K2M DAC Audio Decoder Module: I2S: https://nl.aliexpress.com/item/1005005759804262.html (MCK not connected)
Es9018 K 2M Es9018 I 2S Dac Decoder Board: I2S: https://nl.aliexpress.com/item/1005005850295113.html
Sketch
Other Steps to Reproduce
No response
What is your development environment
PlatformIO
I have checked existing issues, discussions and online documentation
The text was updated successfully, but these errors were encountered: