Skip to main content

Corpus Analysis Tools for Computational Hook discovery

Project description

## CATCHY

### Corpus Analysis Tools for Computational Hook discovery

Python tools for the corpus analysis of popular music recordings. The tools can be used separately or together. I.e.: you can use your own psychoacoustic features and still use the other modules. Note that to use all scripts, it is assumed that audio files come pre-segmented (e.g., into structural sections).

The base feature modules’ requirements include Matlab, Librosa and VAMP.

### Structure

Extracting catchy features from a folder of files involves three steps (look for the eurovision_demo.ipynb ipython notebook for a more detailed demo):

  1. Base feature extraction

    Here, basic, familiar feature time series are extracted. The toolbox currently implements (wrappers for) MFCC, chroma, melody and perceptual feature extraction. (Rhythm features under development in branch rhythm.) This part of the toolbox relies on a lot of external code, but it’s also easy to work around: if you want to use other features, just save them to a set of csv files (1 per song section–see below) in some folder (1 per feature).

  2. Pitch (and rhythm) descriptor extraction

    This part computes mid-level pitch descriptors from chroma and/or melody information computed in step one. Essentially an implementation of several kinds of audio bigram descriptors. See also [1] and [2].

  3. Feature transforms

    Compute ‘first’ and ‘second order’ aggregates of any of the features computed in step 1 and step 2. See [2].

The above three steps correspond to the three columns in below diagram.

![Module Diagram](docs/catchy%20modules.png?raw=true)

### Known issues:

  • i/o currently very conservative–you may have to do your own mkdirs when writing features.

  • Matlab path handling hasn’t been checked on other machines than mine.

Hopefully these will be addressed soon.

### License

Matlab scripts under GNU Public license; everything else, see LICENSE.

If you use this, feel free to refer to [2].

[1] Van Balen, J., Wiering, F., & Veltkamp, R. (2015). Audio Bigrams as a Unifying Model of Pitch-based Song Description. In Proc. 11th International Symposium on Computer Music Multidisciplinary Research (CMMR). Plymouth, United Kingdom.

[2] Van Balen, J., Burgoyne, J. A., Bountouridis, D., Müllensiefen, D., & Veltkamp, R. (2015). Corpus Analysis Tools for Computational Hook Discovery. In Proc. 16th International Society for Music Information Retrieval Conference (pp. 227–233). Malaga, Spain.

Home page: [http://www.github.com/jvbalen/catchy](http://www.github.com/jvbalen/catchy)

  1. 2016 Jan Van Balen ([@jvanbalen](https://twitter.com/jvanbalen))

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

catchy-toolbox-0.4.tar.gz (21.1 kB view details)

Uploaded Source

File details

Details for the file catchy-toolbox-0.4.tar.gz.

File metadata

  • Download URL: catchy-toolbox-0.4.tar.gz
  • Upload date:
  • Size: 21.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.55.1 CPython/3.8.6

File hashes

Hashes for catchy-toolbox-0.4.tar.gz
Algorithm Hash digest
SHA256 55d6a68d7d00ff41f811ea295140552213abc3f30f8e1bb2a28601f827d94e81
MD5 68800fdab327b9cd6209c219f38f7705
BLAKE2b-256 77bfb4aeaac742736c31ca6a4bd1207e2830f3b016c5ffa3c2946de26a434468

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page