Peep into my toolbox 3: Sonic Visualiser
In the current Science Special Online Collection: Dealing with Data Peter Fox and James Hendler write of visualisation as an “exploration tool allowing scientists to form better hypotheses in the continually more data-intensive scientific process”. In my daily work as a researcher I’m totally reliant on visualisation, not only to form better hypotheses, but also, essentially, to debug my code. And since I’m dealing with audio in most cases Sonic Visualiser has thoroughly transformed my way of working.
I recently stumbled upon an old email of mine from 2006 when I was just starting out thinking about audio. I’d implemented my own little brittle feature visualiser in Matlab and wrote that “research is going slowly, but I still like my Matlab player”. Well, that’s before I knew Sonic Visualiser, which is much more flexible and stable than any attempt I’ve ever made. Later, I started working at Queen Mary, where Sonic Visualiser is being developed (mainly by Chris Cannam), so I might be a bit biased … no, my appreciation is genuine.
So how does Sonic Visualiser help me?
- a first coarse view of a piece of audio: an overview of a song in terms of its waveform (that’s a pretty usual feature though), the spectrogram (not quite as usual), melody-range spectrogram (great).
- import of my externally calculated features: this is extremely important for me. I can import audio features that I have generated in a different software as ASCII files in many formats (comma-separated, tab-separated, …) or even in some more sophisticated XML-like formats. Developing a new chroma feature variant in Matlab? Export a csv file from there using
and import it into SV specifying the right step size — done. You can play and see. It’s play to see, haha.
- display other peoples features: whether these existing features were generated by my past self or by others, or even live by a Vamp plugin (using the extensive arsenal of existing Vamp plugins), I have very often found that bugs in my code suddenly became obvious through visualisation. With data it’s often: don’t trust anything unless it looks good.
- Annotate. I’ve used Sonic Visualiser for annotation, and I’m quite proud that Chris Cannam made my very own feature request for a better way of editing labels into the fabulous spreadsheet editor. Sonic Visualiser is also being used by other annotators, notably at McGill, around the ambitious SALAMI project.
- Show to others!: since practially everybody can download and run Sonic Visualiser for free (avalable for Windows, Mac, Unix), you can just send your newest results to anybody, and they’ll be able to see them. If you even send them your new algorithm as a Vamp plugin implementation they can explore it on any audio they like.
If you’re an audio/music informatics person, you’ll sure find at least some of these bullet points appealing. Or don’t you?
As far as I’m concerned, Sonic Visualiser is the only stable tool that really addresses the needs of music informatics researchers such as myself. But what about alternatives?
- WaveSurfer has a slightly different approach, that includes some editing capabilities. I have not used it, but I know that Chris Harte used it for his Beatles chord annotations.
- Praat seems to have been a success in the speech community, and there are some extensions that facilitate annotation.
- MCIpa by Geoffroy Peeters et al. at IRCAM, Paris. This does not really seem to be under development, but I shall be happy to be corrected.
- Audio editors such as Steinberg WaveLab, Audacity, or Adobe Audition, though providing some visualisation, don’t really have the essential flexibility in importing data, change its visualisation etc.
Finally, I’ll just say what SV is not. It’s not an audio editor. It’s not a VST plugin host (Vamp plugins are not effects plugins, they eat audio and output “features”).
Well, so far so good. I’d be interested to hear why you think that SV is great (or not so great) and whether you use it for other stuff.