Not being able to hear someone can be caused by many different problems. One of the most common mistakes people seem to make is using balanced versus unbalanced cables for audio input into JackTrip devices.
If you are experiencing these symptoms:
- The musician can be heard fine when everyone is using CD-quality (JackTrip) audio with auto-panning disabled on the server.
- The musician cannot be heard by anyone when they are using Medium or Low quality (Jamulus) audio.
- The musician cannot be heard by anyone else who is using Medium or Low quality (Jamulus) audio.
- The musician cannot be heard by anyone when auto-panning is enabled on the server, regardless of quality settings.
This is most likely caused by the musician using a balanced audio cable for input to the Analog Bridge.
The audio input jacks on Analog Bridges are unbalanced stereo. They expect the "tip" and "ring" connectors to carry a left and right channel signal. Balanced cables send a mono signal that is inverted across the tip and ring connectors. Please see this blog article for a more in-depth explanation.
Auto-panning, Medium and low quality audio features mix (or add) together the left and right channels. When this is an inverted signal generated by balanced cables, they cancel one another out resulting in no sound.
This can easily be fixed by replacing any balanced cables with unbalanced audio cables.
Advanced Troubleshooting
You can confirm whether or not the problem is a balanced audio signal by logging into the device, recording a few seconds of audio, and analyzing the result.
Log into the device using SSH:
ssh pi@jacktrip.local
The default password is "jacktrip"
First, stop the system services running on the device to ensure they do not interfere:
pi@jacktrip:~$ sudo systemctl stop jacktrip-agent
pi@jacktrip:~$ sudo systemctl stop jacktrip
pi@jacktrip:~$ sudo systemctl stop jack
Next, ensure that local audio recording and playback is working properly by running "alsaloop"
pi@jacktrip:~$ alsaloop
You should be able to hear audio from your microphone monitored in your headphones. Hit Ctrl-C to stop.
Finally, create a short recording using "arecord":
pi@jacktrip:~$ rw && arecord -c 2 -f dat test.wav
Recording WAVE 'test.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo
Hit Ctrl-C to stop. This will create a file in "~pi" named "test.wav".
After creating this file, you can restart the system services:
pi@jacktrip:~$ sudo systemctl start jacktrip-agent && ro
You can now disconnect and transfer the file to your local computer using "scp" (or similar):
➜ ~ scp pi@jacktrip.local:test.wav .
pi@jacktrip.local's password:
test.wav 100% 961KB 42.5MB/s 00:00
Open the file using an audio editor such as Audacity to analyze the stereo waveform in the file. The left and right channel waveforms should be identical like this (or completely different if you are using both channels for a stereo signal):
A balanced mono signal will look like the left and right channel are a mirror image of one another, like this:
Mixing this together will create a flat line of zero values, or no audio.