[LAU] online calls with decent auido for music lessons

Lorenzo Sutton lorenzofsutton at gmail.com
Fri Mar 19 13:53:57 CET 2021

On 16/03/21 09:14, Lorenzo Sutton wrote:
> Dear all,
> Thank you so much for all the interesting insight and suggestions :-)
> Sorry if I can't answer individually for now, but I did real all the 
> emails, greatly appreciated. This mailing list rocks as usual ;-)
> I'll try and test some of the proposed solutions trying to factor in all 
> of the elements and the fact that I need to try and not to 
> overcomplicate things for my teacher who - I imagine - is having to 
> set-up all of the lessons, re-schedule etc. (I'm the student here...). 
> I'll report back after my first remote lesson ;)

For anyone interested, it is a bit long, but hopefully interesting / 
useful for other :)

For our first lesson yesterday we used Zoom for the sake of simplicity 
(especially for my teacher and to facilitate their schedule). Audio 
quality was decent on both ends), playing together was out of question 
(but expected with any similar platform due to latency). My teacher did 
point out that 'original audio' feature could improve audio quality even 
more... Unfortunately, as said, it doesn't seem to be available on 
Linux... Which is weird as you'd think that all of the funky 'noise 
reduction' / 'echo cancellation' stuff should be 'additions' and easy to 
'turn off', not the reverse... I tried contacting Zoom but I assume they 
will never answer.

In the meantime I did some tests (alone, using two laptops, see some 
specs at the end) with:

- Discord [1]: sound quality was pretty good, especially after removing 
all of the noise reduction, and 'auto' features and lowering to the 
minimum 'voice activation' - and it does use Opus. It was not stereo 
(which for bass is ok, but would be nice to have e.g. if playing a 
backing track etc.). The nice thing was that video is included. I think 
that in order to have more fine-grained control over audio you need to 
download the client (so not using the web one), which does exist for 
Linux. Both parties need to have a registered account to use this, which 
might be a bit of a hassle for the other party who have to a) register 
and create yet another account b) install yet another application. Also 
log-in seems to require captcha and device verification (I guess due to 
abuse); but this makes the sign-up process and first star quite 
cumbersome. Audio is pulseaudio of course, which means pulseaudio sink 
for jack. A 'mobile App' exists.

- Jami [2]: This is a P2P calling system and uses Opus. A bonus is that 
it supports Jack directly. It worked ok and included video, but I did 
notice a few dropouts and high CPU usage, and one end did crash at an 
instance. All in all, it didn't seem the quality was much higher than 
Discord. Also mono-only. But I think that's expected as this is probably 
and evolution of SIP 'softphone0' clients (e.g. like Egika?). Account 
creation is easy as you really just enter a name and username (no 
central email registration etc. needed). It does require both parties 
having an installed client. Again this last point might prove a bit of 
an additional hassle. A 'mobile App' exists.

- Cleanfeed [3]: audio-only, web-only, freemium. Primarily aimed at 
online broadcasting / podcasting / news. Considering that this works out 
of the browser (Chrom* ones (including -ium) only officially supported 
but they try to make it work also on Firefox), I was quite impressed by 
the audio quality of the 'Music' setting available with the free account 
(they offer even higher bitrates with the paid ones. As a bonus 'music' 
is in stereo. I contacted support with a couple of questions and they 
were very friendly and helpful and seem also quite knowledgeable about 
Linux. The interesting feature here is that you just provide a link to 
the other party who join through a browser. This being browser-based 
also means you need pulseaudio and the sink if using jack (like in all 
my tests). No video means setting up some other (muted) video service 
for that. The browser-only link thing could make this relatively easy to 
propose by just sending the link to my teacher once we start the zoom 
call and having them use it for audio and mute their zoom, we shall see. 
They are also quite straightforward in saying that this is not primarily 
intended for online 'jamming'.

- Jamulus [4]: audio-only, realtime online jamming-oriented with public 
'servers', jack-native. This was actually real fun to test and play 
with. I tried some close-by servers and jammed a bit in the central one. 
With 128 frames set in JACK and using Jamulus' own direct monitoring 
latency was definitely acceptable and the audio quality pretty good. 
Audio-quality and music-friendliness wise this is probably the nicest to 
use. Only thing for a teaching setting is the public-only servers (the 
documentation mentions 'private' ones, but I haven't looked into if this 
is possible without actually 'hosting' a server), there is a workaround 
via soloing or muting others, but I don't think most teachers (nor 
students) would feel comfortable with anyone possibly coming in and 
listening to the lesson. Also video should be provided via some other 
tool and, of course, all parties need to have the software installed.
That said this software is really well made and fun to use.
(aside note there were a couple of 'troll' events in one of the public 
servers, and although they say don't feed the trolls 'audio trolling' 
can hurt your ears... Not sure how this could be solved, maybe some 
'reputation' system like on Stack overflow or similar.. but that does 
have its flaws.. and it's another topic :-)

In all tests my set-up was the following:

- Bass -> cheap Bass DI [balanced out] -> ZOOM H5 in | [H5 also 
providing microphone input via the included X/Y mics (so in 4-track mode]

In all cases the Laptop I hooked the ZOOM H5 to was connected via 
network cable to the router. I'm also using (since about 1 week) an FTTH 
connection. With the exception of Jamulus, I also tried connecting the 
other test laptop via thetering 4G just to test what the other user 
would potentially hear, and the results were always pretty good (I did 
not however test the reverse).

- Jack
- Zoom H5 shows 4 inputs in jack: the L/R mics and the inputs 1 and 2
- Where Jack was natively supported mic1+2 and input 3 were sent to the 
-  Where Jack was not supported I added the pulseaudio sink (I always 
start that manually via a script I have since ages), with similar routing.
- All of the software (with the exception of Cleanfeed which is 
web-based), I was able to find packaged for Manjaro either in the 
official repositories or in AUR.

Things I'd like to try but din't have the chance to, yet:
- SonoBus [5]
- SoundJack [6]
- JackTrip [7]

[1]: https://discord.com/
[2]: https://jami.net/
[3]: https://cleanfeed.net/
[4]: https://jamulus.io/
[5]: https://sonobus.net/
[6]: https://www.soundjack.eu/
[7]: https://ccrma.stanford.edu/groups/soundwire/software/jacktrip/

More information about the Linux-audio-user mailing list