2

I have an issue with I2s config in the context of a Bluetooth speaker project based on ESP32 and PCM5100A (along with PAM8909 as amplifier). This is my config:

mode = I2S_MODE_MASTER | I2S_MODE_TX,
.sample_rate = 441000,        
.bits_per_sample = 32,        
.channel_format = I2S_CHANNEL_FMT_RIGHT_LEFT,
.communication_format =  I2S_COMM_FORMAT_STAND_MSB,
.dma_buf_count = 8,        
.dma_buf_len = 64,        
.intr_alloc_flags = 0,                            
.tx_desc_auto_clear = true

I'm able to notice a great quality of audio output but only if the mono source in my phone (Accessibility settings on Android) is activated along with audio balance set to 100% right or 100% left.

If mono is deactivated along with audio balance set to 50% I feel the vocals very weak and overall experience is unbalanced. What could be the root cause of this?

Here is the wiring of the circuit:

enter image description here

enter image description here

JYelton
  • 34,119
  • 33
  • 145
  • 265
  • There's a nea trick to significantly attenuate vocals in most recordings: subtract the left from the right signal or vice-versa. Probably what's happening here. – swineone Sep 04 '23 at 00:35

1 Answers1

3

According to all the pinouts I see for TRRS headphone jacks, the "sleeve" is used for the microphone signal, while Ground is on the 2nd "ring" (next to the sleeve).

enter image description here
https://www.circuitbasics.com/how-to-hack-a-headphone-jack/

But you're using the "sleeve" as ground, so your Left & Right headphone outputs are effectively driving the 2 headphone in series - something like this:

schematic

simulate this circuit – Schematic created using CircuitLab

So when you set the sound to Mono and push it all over to one side or the other, then you've put a kind-of ground on one side, and signal on the other, so you hear a sensible output.
If you set it to Mono & 50% balance on each side, then you're putting the same signal on each side, so you head nothing.
If gets more interesting when the signal is stereo, because then you have different signals on each side. If the audio has been recorded & mixed in the typical fashion, then the main vocals will be "centered" on the "stage" - meaning that the vocals have the same signal on both left & right, and you're left with the same situation as when you set it to Mono with 50% balance.
In the stereo signal different instruments might be "positioned" to the left or right on the "stage", so their signals will be stronger on one side or the other and you'll hear them better than the centered main vocals.

To fix this, you need to ground the 2nd ring on your headphone jack (the one next to the sleeve, furthest away from the tip).

brhans
  • 14,723
  • 3
  • 35
  • 51
  • From a musical point of view, what the OP describes is entirely consistent with the two audio channels being out of phase; this answer fits with that. While using sleeve as mic seems to have become a de facto standard it is only that; from a technical standpoint using sleeve as ground is more intuitive. – Frog Sep 03 '23 at 20:22
  • 1
    What a beautiful response, goes straight to the mind, thanks a lot, the issue was resolved after applying your suggestion. – Mohammed BENHADINE Sep 03 '23 at 21:52