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 (
*.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 (
--dynamicflag) 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.