Hi everybody.
I'm using the axoloti as two indipendent audio fx unit, having two different sources, separated path internally and going out to two different amps.
I would like to be able to set different channel configurations for the axo's main out and headphones out, so to be able to monitor what I'm playing better. Namely I'd want to have "MONO" headphones, hearing the same sounds on both ears. Would it be possible? Maybe changing some code in the outconfig object?
Thanks in advance for any feedback and BIG THANKS to Johannes for this amazing tool!
Headphones out configuration
Don't think this will be possible. The headphones out always outputs the same signal as the audio out.
Thanks for the quick reply!
It would have been great but i suspected it was some hardware limitation... just wondering why the volume can be set differently...
Module requests
There are indeed only two channels of (audio) digital-to-analog conversion serving both line out and headphone out. But there is some flexibility in the "mixers" inside the chip.
I had a look at the audio codec chip, mixing L+R to a mono headphone out is indeed possible.
Datasheet, "Figure 43. Playback Signal Path" shows the overview. The headphone out connects to the LHP and RHP, while MONOOUT is the ground pin of the headphone output. This is the "Capless Headphone Configuration".
Normally headphone volume is adjusted through LHPVOL and RHPVOL.
But essentially, by need to mute the LHP and RHP (bits LHPM and RHPM), configuring Mixer7, and adjusting MONOVOL, you can get there. It's a bit weird that the actual signal will be on the ground terminal of the headphone socket, and the L and R terminals virtually grounded, but I see no reason that this would not work. This is not out-of-phase mono.
I invite the community to implement this, requires working knowledge of how to twiddle bits in C++, the audio/outconfig
shows how to manipulate the registers. And keep in mind, codec register setting persist until you reset the Axoloti Core board.
MX7 doesnt go to the headphones, only the monoout... are you saying this would be wired up?
(not sure what you mean by capless headphone config)
it looks like you could make the main outputs mono though, by using MX6G3/M56G4
No hardware rewiring involved, "MONOOUT" is already wired to the headphone socket ground terminal, like in "Figure 25. System Block Diagram" of the datasheet. This may seem odd, but this is the "Capless Headphone Configuration".
ah, cool so your saying basically we just need to ensure the settings are as per table 19 (Capless Headphone Register Settings) , which will basically zero the left/right mix, and instead bring in mx7.
cool seems easy enough - I guess easy way to do this, is to have a 'mono/stereo' config combo for headphones, on outconfig... we currently only have one vol anyway, so that can work for both mono and stereo
fig 25, interesting... so the centre pin is ground/0 in stereo, but then becomes the signal in mono... (with the others becoming ground/0?). all beyond what I know about electronics and headphones
Big thumbs up to everyone for taking the time to investigate. Unfortunately I can't write any code, but I'm supporting you morally!!!