-
Notifications
You must be signed in to change notification settings - Fork 71
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
I2S support for using a Hifiberry audio DAC (16-bit) #17
Comments
Here comes a patch for the I2S (tested with a PiFi DAC+ v2.0 HAT) and HDMI (also tested) modes. You have to add one of the following lines to the file circle-stdlib/libs/circle/Config.mk after entering configure to generate a respective version of MiniDexed:
In the .zip file there is a
All other options are passed along to There is a good chance, that the Hifiberry DAC works too. Unfortunately the WM8960 is not supported in Circle. |
Hello @rsta2, thanks for this patch!
Is it also possible to enable both and have no bad side effects when the respective hardware is not available? Ideally, we would have one binary that fits all supported hardware configurations. Could the output be changed from the headphone jack to one of the other outputs by using a txt file on the microSD card? |
The hardware cannot detect, if there is something connected to the headphone jack (PWM mode). Some I2S HATs could be detected, but not all. This is also not implemented in the Circle drivers. I think, to enable more then one interface is not the way to go. The recommended way, to handle different audio interfaces and to select the one to use, is implemented in the Circle sample/34-sounddevices. You have to create a file cmdline.txt on the µSD card with this contents to select an interface:
There is also the option to use VCHIQ sound, which is done by the Raspberry Pi firmware via PWM or HDMI, but I wouldn't use this, because it is difficult to handle (needs tasks, difficult timing). Unfortunately this method to select the audio interface using cmdline.txt, as it is implemented in the sample, requires a different approach for the communication with the audio drivers, different from that, which is currently implemented in the Synth_Dexed project. You must call |
What would the advantage of VCHIQ sound be? Better quality? "difficult to handle (needs tasks, difficult timing)" sounds to me like we should probably not use it. |
Yes, I would also prefer the cmdline.txt solution. I found an implementation now, which works without big modifications and without changing from Using the VCHIQ sound may have the following advantages:
On the other hand using VCHIQ sound generates some problems:
I would not use VCHIQ sound, at least for the moment. |
Using sounddev=sndpwm | sndi2s | sndhdmi in the file cmdline.txt probonopd/MiniDexed#17 (comment)
Using sounddev=sndpwm | sndi2s | sndhdmi in the file cmdline.txt #17 (comment)
Thanks for the patch and for the explanation @rsta2. |
Using I2S sound boards would be very nice, because real 16bit/44.1 KHz audio sounds much better than 12(?)bit PWM.
The text was updated successfully, but these errors were encountered: