Cleverthumbnailer is a command line tool that analyses songs and creates short audio thumbnails of them.
Given a full length piece of music in WAVE format (*.bwf
and *.wav
), cleverthumbnailer attempts to generate a short extract most representative of the track in general. It bases this decision on three factors:
- Segment Detection. Using the QMUL Segmenter algorithm, distinct musical sections of a piece are found. In western pop music, this algorithm detects transitions between verses, choruses, and bridges. In western classical music, segment boundaries are often found at key changes/modulations.
- RMS Energy profiling. The varying dynamics of a piece of music are
calculated by tracking the RMS energy over the course of a piece. Sections of a piece that are loud (by default) or have a high amount of dynamic variation (
--dynamic
flag) are preferred for inclusion in the audio snippet generated. - Applause detection. An algorithm that determines spectral centroid over time is used to detect applause within a recording. Periods of applause are avoided in the resulting audio thumbnail.
clever-thumbnailer version 0.1.0
Usage: clever-thumbnailer [options] <inputfile> <outputfile>
-a Enable applause detection
-c <cropin> Crop time from start in seconds (default 7.0)
-C <cropout> Crop time from end in seconds (default 7.0)
-d Rate sections by dynamic range rather than max loudness
-f <fadein> Fade-in duration in seconds (default 0.5)
-F <fadeout> Fade-out duration in seconds (default 2.0)
-h Display this help message
-l <length> Thumbnail length in seconds (default 30.0)
-p <prelude> Seconds of additional lead-in (default 10.0)
-q Enable quiet mode
-v Enable verbose mode
The code in this repository was created by Jon Tutcher in 2015 for BBC Research & Development.
QM-DSP was created by Queen Mary University of London; the segmenter module used here was developed by Mark Levy and Chris Cannam.
This project is licensed under the GNU GPLv2 license. For terms and conditions, see LICENSE.