Too Busy For Words - the PaulWay Blog

Sat 17th Jun, 2006

LAQA - Rusty Russell on Technical Protection Measures laws.

In which we talk a bit about Rusty's talk and more about what I did to it. Last night we had Rusty Russell's talk at the Linux Australia studios at James Purser's house (with James sounding like he'd been drinking liquid sandpaper). I'd guess around a dozen people were online on the #linux-aus channel on the IRC servers, asking questions and chatting. It was hard to resist spouting my opinion all the time, more a statement on my insta-expert bad habit. Overall it was really good.

It turned out that James's recording borked out somehow, so I then spent the morning reprocessing the audio. I joined the two parts of the show together, removed the bits of music (which was Dr Kuch off Magnatune, licensed for non-commercial use through Magnatune), normalised it, and started playing with trying to remove the background hum. Even James doesn't know where the weird flapping sound came from, but I considered it a mortal insult to allow such noise to exist in any recording I worked on. So.

Audacity's 'noise removal' feature is nice and simple - you pick a couple of seconds of background noise, press one button in the dialogue, select the audio you want this noise removed from, and press the other button. The actual process that goes on is that it takes a frequency spectrum of the noise, and then does a frequency filtering on the full audio and, when any frequency dips below the noise frequency it's cut to silence. It works quite well when you've got fairly loud voice, even, fairly regular background noise, and at least one largish (multi-second) gap in the speech where you can hear only the background noise - Rusty's occasional pauses to read the screen for questions on the IRC channel provided those amply. With James' background hum and flapping and so forth, I could either get minimal noise reduction or voices coming through a long metal tube.

The problem is that the filter has a hard limit - when the voice frequency goes a tiny fraction below the noise frequency, suddenly it gets 24dB attenuation or so. What you need is a soft roll-off - 6 or 12dB band below the noise 'floor' where the voice frequency gets gradually softer. Now, I have a product that does this: Cool Edit Pro. I've just set up a Windows XP instance inside VMWare Server; obviously, the thing I need to do is to install Cool Edit Pro and process it in there.

So, ashamed as I am to admit that the whole process wasn't done in Open Source Software, there it is. And I have to admit that I really need to submit a few suggestions to the Audacity team, because the interface of Cool Edit Pro is much much easier to use. You can zoom in or out by scrolling the mouse button, for instance - big time saver there. And you can grab the ruler and drag it to move around, rather than grabbing a rather small part of a scroll bar and trying to tweak it in tiny increments when you're zoomed in. I think I was probably faster doing things in Cool Edit Pro than if I'd kept it in Audacity.

Unfortunately, Cool Edit Pro's filter's didn't really do what I wanted - the noise was too loud and there were several significant spikes in its frequency spectrum. However, it did have another feature that Audacity didn't - a compander. Audacity has a compressor - in audio terms this is a strange pseudo-amplifier that takes all the sound less than a specific volume and amplifies it much harder than the noise above that volume. The effect is to compress the volume range in which the sound occurs - it's what radio stations use all the time (yes, even during your music) to make it sound nice and loud without clipping or throwing your voice coil out of your speakers. A compander is a compresser with an expander - obviously the expander widens the volume range.

So what I did with the audio was pick the volume point in the middle of where James and Rusty's voices were and set that as the 'knee' of the compressor. Then, above the volume of the background noise, I set the 'ankle' of the expander. This moved all the speaking right up into audibility, and all the noise dropped off below audibility. It was good, except for a couple of bits where James was speaking really softly and was getting cut a little. I really didn't have the time to mabulate the whole thing again by the time I found this out, so I'm sorry if some of James's words got clipped a little heavily. You can blame me, not the software.

(I also did a bit of manual silence and um removal, basically to tighten the show up a bit. Sorry, again, for not delivering it completely as it was given to me. I hope it's better than the original.) Anyway, finally we transported them back into the Linux realm and I encoded the OGGs at a variety of bitrates and qualities. The urgency which forced me to not fully check the voice had abated for otiose reasons, so I then also compiled up some MP3s and, by dint of a large piece of two-by-four with nails in it, forced my Bit Torrent tracker to recognise them. All this so James could actually download the shows he'd produced twelve hours or more ago.

I worry that I'd needlessly delayed things and caused myself more than a few problems in being such a perfectionist. Maybe people would have preferred, or at least been happy with, the broadcast exactly as I got it, just stitched together music and all and put in one big lump. I've still got that, so I can do that and make it available if people really want it. But you've got what I've produced for now.

I also set up a nice page that contains all the versions of the files that's easier to read than my tracker's default display. James has also put up a copy of one of the files on the Linux Australia website, which I shall unhelpfully direct you to his blog to find as I'm a Bit Torrent Bigot and am trying to encourage people to use Bit Torrent rather than old-technology HTTP, even if it is off the Linux Australia webserver.

(I suppose I could volunteer to run a Linux Australia tracker for them, on the LA server, so that the seeds can be on their nice fast server rather than my small DSL line. But I already have too many things to do...)

Last updated: | path: society | permanent link to this entry

All posts licensed under the CC-BY-NC license. Author Paul Wayper.

Main index / tbfw/ - © 2004-2023 Paul Wayper
Valid HTML5 Valid CSS!