SAWA: The OMRAS2 Music Analysis and Feature Extraction Service

Sonic Annotator Web Application analyses uploaded audio files using Vamp feature extractor plugins.

You may also be interested in other applications built on this system: SAWA-Recommender,
a music similarity engine and SAWA-TempEst (coming soon) for the analysis of instrument tuning.


SAWA demonstrates audio feature extraction technology developed at the Center for Digital Music, our standard plugin API for audio analysis and a Semantic Web ontology based representation for returning the results of the analysis. It is primarily aimed at researchers who wish to become familiar with these technologies. SAWA may be used as a batch feature extractor, for example, for automatically generating a small reference data set in RDF format. The resulting files can be loaded in a suitable RDF database and queried over, they may be browsed using a Semantic Web browser (e.g. the OpenLink RDF browser) or loaded and visualised with Sonic Visualiser a tool for studying the content of audio files. [For the more Semantic Web savvy: a suitable machine interface (SPARQL endpoint) for retrieving past result automatically is currently under testing but it is not yet available in this public release...]

Using SAWA

You can upload one or more audio files and select one or more of the available Vamp plugin transforms. (At least one file and one selected transform is required.) The service accepts a number of file formats including .wav and .mp3. The results are returned for each file in RDF or some human readable rendering. Please follow the processing steps outlined below. Note that some steps are optional.

	Processing steps:
1. Upload one or more music files 2. Uploaded files are optionally identified by using MusicDNS OFA acoustic fingerprint and MusicBrainz. 3. Choose one or more feature extractors (Vamp plugin transforms) 4. Configure feature extractors (optional) 5. Run the feature extractors by pressing the submit button at the bottom of the page 6. Wait for the computation to complete 7. View or download the results in Music Ontology RDF, use an RDF browser such as Tabulator, or load with Sonic Visualiser

File upload

Please upload an audio file:   

Identify the file and cache resulting features (default).
This is just a test. Please do not identify the file or cache any features.

According to our copyright policy,uploaded files will be deleted as the session expires.

Available plugins

Please select at least one VAMP plugin transform.
You can switch between compact or detailed view of plugin outputs using: toggle outputs.

:: Vampy - Python Vamp Plugins

Toggle TempEst Temperament Estimator
 Select Output Description Select Transform
Temperament Estimate The output of the temperament classifier configure
Tuning frequency estimate (Kammerton) An estimate of the reference tuning frequency configure
Ultra Conservative Transcription Estimate some note frequencies with high confidence configure

:: Vamp Example Plugins

Toggle Amplitude Follower Track the amplitude of the audio signal
 Select Output Description Select Transform
Amplitude The amplitude curve configure

Toggle Simple Percussion Onset Detector Detect percussive note onsets by identifying broadband energy rises
 Select Output Description Select Transform
Detection Function Broadband energy rise detection function configure
Onsets Percussive note onset locations configure

Toggle Simple Fixed Tempo Estimator Study a short section of audio and estimate its tempo, assuming the tempo is constant
 Select Output Description Select Transform
Detection Function Onset detection function configure
Tempo Estimated tempo configure
Tempo candidates Possible tempo estimates, one per bin with the most likely in the first bin configure
Autocorrelation Function Autocorrelation of onset detection function configure
Filtered Autocorrelation Filtered autocorrelation of onset detection function configure

Toggle Zero Crossings Detect and count zero crossing points
 Select Output Description Select Transform
Zero Crossings The locations of zero crossing points configure
Zero Crossing Counts The number of zero crossing points per processing block configure

Toggle Simple Power Spectrum Return the power spectrum of a signal
 Select Output Description Select Transform
Power Spectrum Power values of the frequency spectrum bins calculated from the input signal configure

Toggle Spectral Centroid Calculate the centroid frequency of the spectrum of the input signal
 Select Output Description Select Transform
Log Frequency Centroid Centroid of the log weighted frequency spectrum configure
Linear Frequency Centroid Centroid of the linear frequency spectrum configure

:: QM Vamp Plugins

Toggle Tempo and Beat Tracker Estimate beat locations and tempo
 Select Output Description Select Transform
Onset Detection Function Probability function of note onset likelihood configure
Beats Estimated metrical beat locations configure
Tempo Locked tempo estimates configure

Toggle Polyphonic Transcription Transcribe the input audio to estimated notes
 Select Output Description Select Transform
Transcription Estimated note pitch (MIDI note number from 0 to 127) configure

Toggle Constant-Q Spectrogram Extract a spectrogram with constant ratio of centre frequency to resolution from the input audio
 Select Output Description Select Transform
Constant-Q Spectrogram Output of constant-Q transform, as a single vector per process block configure

Toggle Chromagram Extract a series of tonal chroma vectors from the audio
 Select Output Description Select Transform
Chromagram Output of chromagram, as a single vector per process block configure
Chroma Means Mean values of chromagram bins across the duration of the input audio configure

Toggle Discrete Wavelet Transform Visualisation by scalogram
 Select Output Description Select Transform
Wavelet Coefficients Wavelet coefficients configure

Toggle Mel-Frequency Cepstral Coefficients Calculate a series of MFCC vectors from the audio
 Select Output Description Select Transform
Coefficients MFCC values configure
Means of Coefficients Mean values of MFCCs across duration of audio input configure

Toggle Key Detector Estimate the key of the music
 Select Output Description Select Transform
Tonic Pitch Tonic of the estimated key (from C = 1 to B = 12) configure
Key Mode Major or minor mode of the estimated key (major = 0, minor = 1) configure
Key Estimated key (from C major = 1 to B major = 12 and C minor = 13 to B minor = 24) configure
Key Strength Plot Correlation of the chroma vector with stored key profile for each major and minor key configure

Toggle Note Onset Detector Estimate individual note onset positions
 Select Output Description Select Transform
Smoothed Detection Function Smoothed probability function used for peak-picking configure
Note Onsets Perceived note onset positions configure
Onset Detection Function Probability function of note onset likelihood configure

Toggle Tonal Change Detect and return the positions of harmonic changes such as chord boundaries
 Select Output Description Select Transform
Tonal Change Detection Function configure
Transform to 6D Tonal Content Space configure
Tonal Change Positions configure

Toggle Segmenter Divide the track into a sequence of consistent segments
 Select Output Description Select Transform
Segmentation Segmentation configure

Toggle Adaptive Spectrogram Produce an adaptive spectrogram by adaptive selection from spectrograms at multiple resolutions
 Select Output Description Select Transform
Output The output of the plugin configure

Toggle Similarity Return a distance matrix for similarity between the input audio channels
 Select Output Description Select Transform
Distance Matrix Distance matrix for similarity metric. Smaller = more similar. Should be symmetrical. configure
Distance from First Channel Distance vector for similarity of each channel to the first channel. Smaller = more similar. configure
Feature Means Means of the feature bins. Feature time (sec) corresponds to input channel. Number of bins depends on selected feature type. configure
Feature Variances Variances of the feature bins. Feature time (sec) corresponds to input channel. Number of bins depends on selected feature type. configure
Beat Spectra Rhythmic self-similarity vectors (beat spectra) for the input channels. Feature time (sec) corresponds to input channel. Not returned if rhythm weighting is zero. configure
Ordered Distances from First Channel Vector of the order of other channels in similarity to the first, followed by distance vector for similarity of each to the first. Smaller = more similar. configure

Toggle Bar and Beat Tracker Estimate bar and beat locations
 Select Output Description Select Transform
Bars Bar locations configure
Beat Count Beat counter function configure
Beats Beat locations labelled with metrical position configure
Beat Spectral Difference Beat spectral difference function used for bar-line detection configure