Balancing Audio in Software

March 6th, 2022
music, tech, whistling
A few months ago I ported my whistle controlled synthesizer to the Raspberry Pi. I configured it with mono output, and ran it through a DI box to get a balanced XLR output I could send to a sound board. I realized a few weeks ago, however, that I don't actually need a DI box, and I can balance the audio in software. Now that I've made the change I wanted to write about how it works.

To send an audio signal, you need two conductors: the signal and a reference (ground):

This works fine, unless you get radio frequency interference. There's energy in the air, from intentional broadcasts or noisy devices, and the weaker your signal or longer your cable the more it will shift the signal:

There are a few different technical solutions, but the most common one in audio is to use a balanced signal. In addition to our signal, we add an "anti-signal" which is the same signal but reversed:

Instead of interpreting the signal relative to ground, we now interpret it relative to the anti-signal. Absolute magnitude is unimportant, what matters is the delta. Now when we get interference, it still shifts our signal, but it makes an almost identical change to our anti-signal, and the difference between the two signals is almost unchanged:

Normally you create the anti-signal with a transformer, in a DI box, but my software already has access to stereo output. If I want to send X, I can write X to the left channel and -X to the right. With a 3.5mm to 1/4" TRS cable I can be as far as I need to be from the board without worrying about interference.

(Do be careful not to use a 3.5mm to XLR cable: you need to connect to the mixer's "line" and not "mic" input. The latter often will provide "phantom power", which is designed to feed microphones power backwards, through their output. The soundboard provides +48V to both the signal and anti-signal pins, relative to ground. This could break your sound card, since that's a lot of voltage to something that was probably not designed to receive it. You might think you could turn off phantom power on inputs that don't need it, but on the (cheaper) mixers you would typically see at a contra dance or bar there is typically one switch for the entire board.)

Referenced in: Embedded Whistle Synth

Comment via: facebook, lesswrong

Recent posts on blogs I like:

Jealousy In Polyamory Isn't A Big Problem And I'm Tired Of Being Gaslit By Big Self-Help

The nuance is in the post, guys

via Thing of Things July 18, 2024

Trust as a bottleneck to growing teams quickly

non-trust is reasonable • trust lets collaboration scale • symptoms of trust deficit • how to proactively build trust

via benkuhn.net July 13, 2024

Coaching kids as they learn to climb

Helping kids learn to climb things that are at the edge of their ability The post Coaching kids as they learn to climb appeared first on Otherwise.

via Otherwise July 10, 2024

more     (via openring)