Difference between revisions of "Spectrograms"
Martinwguy (talk | contribs) (→Software) |
Martinwguy (talk | contribs) (→Software) |
||
Line 33: | Line 33: | ||
=Software= | =Software= | ||
− | The WikiDelia's spectro-analyser was written specifically for it, using a modified version of [http://www.mega-nerd.com/libsndfile/tools/#spectrogram sndfile-spectrogram] and [https://github.com/martinwguy/delia-derbyshire/tree/master/anal an ImageMagick script] that | + | The WikiDelia's spectro-analyser was written specifically for it, using a modified version of [http://www.mega-nerd.com/libsndfile/tools/#spectrogram sndfile-spectrogram] and [https://github.com/martinwguy/delia-derbyshire/tree/master/anal an ImageMagick script] that prepares a linear spectrogram and then distorts the image to give it a logarithmic frequency axis. |
A more precise technique would be to write a Constant-Q tranform directly instead of distorting a linear FFT. | A more precise technique would be to write a Constant-Q tranform directly instead of distorting a linear FFT. | ||
Line 44: | Line 44: | ||
Graphical programs that can directly display log-frequency-axis spectrograms (not by Constant-Q, and with blockier output than ours): | Graphical programs that can directly display log-frequency-axis spectrograms (not by Constant-Q, and with blockier output than ours): | ||
* the free audio editor Audacity | * the free audio editor Audacity | ||
− | * the free audio file viewer sonic-visualiser | + | * the free audio file viewer "sonic-visualiser". It also has a Constant-Q spectrogram VAMP plugin, which I haven't figured out how to install. |
<!-- | <!-- | ||
=Linear frequency axis= | =Linear frequency axis= |
Revision as of 15:46, 3 January 2016
Spectrograms are used in the WikiDelia to visualise the sonic content of Delia's pieces of music.
In each spectrgram, time runs from left to right, low frequencies are at the bottom and high ones at the top and the light at each point in the graph represents the energy in the sound at one frequency at a particular moment (or, rather, in one frequency band around a particular moment.)
As well as helping us understand the internal structure of Delia's pieces and her instruments and effects, these also help us recreate conventional scores from her sound files, for example:
Contents
Logarithmic frequency axis
The spectrograms used in the WikiDelia are not the usual kind, where the Y axis represents the linear frequency scale from 0 to 22050Hz and in which the top half of the graphic represents just the top octave of the sound, with all the musical detail crushed into the bottom few pixels. Here, the vertical scale is logarithmic, which gives the same number of pixel rows per semitone.
Usage in the WikiDelia
The spectrogram of a piece goes in three places:
- On the piece's page in a section Spectrogram usually just above Availability so that the Listen button is near.
- Spectrograms of complete pieces are on the Audio page
- in delia-derbyshire.net/spectrograms
For example the piece Air has File:Air.ogg and File:Air - Spectrogram.jpg, used by the MediaWiki macros {{Spectrogram|Air - Spectrogram}} and {{Spectrogallery|Air}}
Get spectrograms of your music!
I am happy to run the log spectrum analyser on your music. You can specify:
- lowest pitch (usually A0, 27.5Hz)
- number of octaves (usually 9, to 14080Hz)
- number of pixels per semitone on the frequency axis (usually 8)
- number of pixel columns per second on the time axis (usually 50)
Optionally the software can superimpose single-pixel black and white lines at the frequencies of the piano keys and three-pixel-wide white lines at the positions of the manuscript stave lines, see the example on the right.
If this interests you, please Make a small donation and email delia.derbyshire.net@gmail.com attaching the sound file you would like turned into a picture.
Software
The WikiDelia's spectro-analyser was written specifically for it, using a modified version of sndfile-spectrogram and an ImageMagick script that prepares a linear spectrogram and then distorts the image to give it a logarithmic frequency axis.
A more precise technique would be to write a Constant-Q tranform directly instead of distorting a linear FFT. [1] [2] [3] [4] [5]
Graphical programs that can directly display log-frequency-axis spectrograms (not by Constant-Q, and with blockier output than ours):
- the free audio editor Audacity
- the free audio file viewer "sonic-visualiser". It also has a Constant-Q spectrogram VAMP plugin, which I haven't figured out how to install.
References
- ↑ An efficient algorithm for the calculation of a constant Q transform by Brown and Puckette.
- ↑ The Constant Q Transform, an implementation in Matlab by Benjamin Blankertz
- ↑ Constant-Q Transform Toolbox for Music Processing: An optimization in MATLAB of Brown and Puckette's efficient Constant-Q algorithm.
- ↑ C++ Constant-Q at soundsoftware.co.uk, a C++ implementation of the above with permissive license.
- ↑ An earlier implementation in more C-like C++ in a pitch detection plugin for Supercollider, licensed under GPL.