July 2024
Sonic Visualiser is a cross-platform desktop application for inspection, analysis, and annotation of digital audio signals, primarily music recordings. Initiated in the Centre for Digital Music at Queen Mary University of London, it has been developed and maintained continuously since the end of 2005.
The core Sonic Visualiser application provides a multi-pane layout with efficient scrolling, navigation, and selection tools, and highly configurable audio data visualisation components.
These include a best-in-class waveform view with fast peak summarisation, and a selection of high quality time-frequency views, all capable of handling audio files of arbitrary length. Multiple audio files can be loaded and viewed at once, views can be superimposed, labelled, and annotated by the user, and both audio recording and speed-adjustable playback are provided.
Sonic Visualiser can be extended, without modifying the application itself, by installing plugins developed to a format known as Vamp. A Vamp plugin is a binary module containing code that receives audio data as input and produces some sort of structured analysis as output.
Examples might include extracted tempo or beat information, note
transcriptions, key analyses, or grid data useful for further
visualisation purposes.
Sonic Visualiser can then take this output and display it visually, or allow the user to edit it further or export it. The same plugins can also be used in other hosts, for batch processing for example. The Centre for Digital Music and other organisations have published dozens of these plugins over the years.
Sonic Visualiser is implemented in C++ using the Qt framework.
Structurally it consists of several layers:
These layers are clearly separated in the source code of the application and are sufficiently reusable that we have been able to rework them into numerous other applications with effective results.
Sonic Visualiser has been incrementally updated throughout its lifetime to take advantage of language and framework features, and as of 2024 the code uses Qt6 with the C++17 standard and is managed on Github with full continuous integration builds and tests.
These projects are listed from most to least recent. All are from the Centre for Digital Music except where otherwise noted.
Not developed within C4DM but in
consultation with the Sonic Visualiser
developers, Piano
Precision is a practice tool for piano performance.
Piano Precision integrates a musical score reader into the Sonic Visualiser layout, supporting linked navigation within the score and audio recording views.
Sonic
Lineup is an application for fast comparative viewing of multiple
audio recordings containing related material, such as performances of
the same work or recordings of the same performance.
It uses one of a choice of audio alignment algorithms to calculate an alignment between recordings, then offers several display modes (waveform, spectrograms, pitch track, key histogram, and stereo azimuth plot) for the comparative view.
A dedicated tool for high-quality pitch and note transcription for
scientific applications.
Designed specifically for analysis of solo vocal recordings, Tony provides precise extraction and annotation of fundamental frequency curves along with correction facilities and import/export. The user interface is carefully designed and user-tested to support this very specific workflow with as few obstacles as possible.
Tony is known to have been cited in over 170 publications as of July 2024.
An adaptation of Sonic Visualiser to provide a kiosk mode for use at a physical terminal in a library providing audio recordings that were not permitted to “leave” the premises.
This experimental application used Sonic Visualiser’s display components as the front-end for a sound library browser.
This project, running from late 2023 to summer 2024, explored the
idea of providing tools derived from Sonic Visualiser as plugins to be
used within a digital audio workstation.
These plugins are currently unpublished and are in a working proof-of-concept stage. They illustrate another possible direction for new developments of the Sonic Visualiser codebase, showing how the same technical foundations can be adapted into a quite different package.
The plugins, implemented using the cross-vendor and cross-platform ARA format, can be loaded into industry standard DAWs such as Cubase or REAPER to offer a variety of analysis functions. They work by embedding the Sonic Visualiser display framework into an ARA plugin interface, and loading and running Vamp plugins from it to perform audio analysis. The early proof-of-concept set of plugins includes:
Because these plugins are not yet generally available to use, we have included a short video to illustrate one of them. This is one of our ARA plugins loaded into the Presonus Studio One DAW running on Windows 11. It uses the Chordino chord estimator to produce a chord sequence in MIDI-like form which is then returned to the host as an instrument track: