Archive for October, 2021

Hearing aids for musicians

October 30, 2021

Yesterday I attended (via Zoom) a seminar about the use of hearing aids for listening to music, and for those who play music. It was given by Dr Alinka Greasley (University of Leeds), and was part of the Hearing Aids for Music (HAFM) project.

The content very much agreed with my own experience with my Oticon Opn S1 hearing aids: I suffer from typical older age hearing loss (presbycusis), and my aids (binaural) have two settings: normal and music. Both are very good at making speech more intelligible, including speech in noisy environments. The speech and music settings are usable for listening to music, but in general, I prefer to turn the hearing aids off. For playing music (I play piano and clarinet) I absolutely must turn them off: they make the music appear to have a continuous vibrato at about 4 or 5 Hz, which I find very annoying. (I also note this vibrato particularly strongly from the chime of my old pendulum clock).

What is happening here, and what might be done about it? The HAFM blog (6 July 2020) suggests “removing adaptive functionality (e.g. feedback cancellation, noise reduction), alterations to compression, changes to gain”. This was also the view from the seminar speaker, and other attendees.

My own experience suggests the same: but in addition, being able to switch quickly from the speech settings to either entirely off, or some other simpler program and back again would be most useful. For example, I often run the Dunblane Folk Club, a sing-around with instrumentalists as well. I need to be able to play, and then take part in the craic! And similarly, for being in a jazz band practise: I need to be able to quickly go from playing to talking to the other performers, and back again.

My own hearing aid is integrated with an app on my iPhone, and this allows me to change programs, reasonably quickly. But turning them on and off is relatively slow. What I most probably need is

1: a simple music program, one that amplifies the higher frequencies, but doesn’t have any of the other clever features that improve speech perception (but not music!).

2: the ability to switch quickly between these programs.

How do I go about achieving this? Can I get a program development tool that would fit my hearing aids? I know that my audiologist has a system that can reprogram the hearing aids, but I understand that the actual programs are developed by Oticon. Can they be made open source? Could I get to experiment with them?


Jamming on Jamulus

October 24, 2021

A very pleasant little Jam just now, on the BeatRoute server (in Frankfurt), with someone from Aachen and someone else from Macedonia. Lovely. My setup really works well (it’ll probably break now that I’ve said that!), though sometimes it needs turned on and off once or twice before it comes up. And I seem (i) to have to turn on the interface and e-piano after booting, and (ii) to have to set up the connections in Jack every time, can’t see any way of saving them.

But that said, and once it’s up, it works really well, letting me play through Reaper into Jamulus without noticeable additional latency.

They say that it’s an ill wind that blows nobody good: one good thing to come out of all the Covid-based lockdown is playing with other folk from the comfort (?) of my garage studio!

Jamulus and Ubuntu Linux

October 11, 2021

For quite some time I’ve been using Jamulus, to allow me to play music with other musicians over the internet: it’s a really good (and free) distributed system, where musicians play in real time with other musicians (1). Each musician uses a Jamulus client, and this communicates with a Jamulus server. There’s lots of servers in lots of different places, divided up into a number of genres (I use the Jazz genre most of the time). The critical thing is that the delay between the musicians client and the server is low – best to be less than 60 ms, preferably a lot less. And it really needs to use a wired connection to your local (household) router, to avoid delays caused by the wireless connection. I often play with musicians in different countries in western Europe, using servers located in London, Berlin or other parts of western Europe.

I set up a server in my own house, wired to my router, and set up to be visible from outside, so others can use it too. This uses a headless Raspberry Pi 4: a nice little machine that sits beside my router, and just seems to keep running and running.

The reason for this post, however, is my solution to a hardware problem. My original client system was an ancient and very heavy Mac Pro (early 2008), and an even older MOTU 828 (about 2003 or so) firewire interface, both old and out-of-date equipment from my University, long since replaced with more recent kit. This worked spectacularly well for a long time: however, I then had problems with the firewire interface failing sometimes. Being stingy, I initially decided to purchase another equally ancient MOTU 828 (for all of £50!): this worked for about a week, until the same problems happened again. I concluded that the issue was with the Mac Pro, and I wasn’t about to try to mend this. It didn’t really owe me anything.

In the meantime, I’d been interested in using a Raspberry Pie as a desktop. But when I tested it, it was just too sluggish for me. But I knew that one might be able to get a faster ARM-based 64 bit computer, particularly since Apple were now selling them. However, being tight-fisted, I wasn’t keen on buying a new Apple machine.

A little investigation led me to the Odroid N2+ machine. It has “a quad-core ARM Cortex-A73 CPU cluster and a dual core Cortex-A53 cluster with a new generation Mali-G52 GPU”, and is much, much cheaper than a Mac! (of course, you have to supply a monitor, keyboard, mouse etc., but still…). It runs Ubuntu 20.4, which is perhaps not as nice as MacOS 11, but as someone who used Unix on a 25 by 80 terminal for years I wasn’t too worried about this. In fact, the Ubuntu user interface is really quite nice.

A little work on the net showed that you need to install Ubuntu studio, with the low latency kernel, Jack to connect different audio software together, and Jamulus itself. I also installed Reaper, my favourite DAW. These were all straightforward, installed using apt. Jamulus itself had to be built (for the ARM 64 architecture), but there were instructions in the downloadable tarball. (You could also try the installation scripts at, but I didn’t notice them till just now!).

So how well does it work? Obviously, I had to replace my MOTU 828 as well, and I had a Rubix 44 which I now use. I believe that most USB audio interfaces will work (but note that Jamulus always uses 48K samples/second). Once I had sorted out some problems (I had loopback enabled, accidentally on the interface…), and learned how to use Jack (easy, once you know how!), off it went. And I could use Reaper at the same time with minimal increase in latency, allowing me to add echo or reverb, or to use a VST piano sound from a MIDI input. That was something that the old Mac Pro couldn’t quite manage.

Altogether? I’m really impressed with the Odroid N2+. I’m learning more about how to use Ubuntu (I can remember how to use vi, and lots of Unix terminal commands, but for everyday use, one can work very well using the mouse-based user interface that comes with Ubuntu). I get a lot less dropout in the sound than I did: I’d always assumed this was coming from the network, but now I realise some of it was from the Mac Pro not being up to the job.

I’ve bought another Odroid N2+, just to play with it (I don’t want to risk stopping the first one from being available for playing and recording music). I’ve connected the old disks from the Mac Pro (all 3 Terabytes) using a USB 3 cradle, and I can read and write to them (in their native Mac format). I’m thinking that having a number of small machines round the house for specific tasks is the way forward, now that one can get powerful systems for about £100!

(1) For the technically minded, the crucial thing is that it uses the UDP protocol: for technical details, see this paper by Volker Fischer.