Skip to main content

## 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))

Metadata

Release files for catchy-toolbox 0.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for catchy-toolbox 0.3
File Size Uploaded
catchy-toolbox-0.3.tar.gz 21.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for catchy-toolbox 0.3
File Interpreter ABI Platform
catchy_toolbox-0.3-py3-none-any.whl Python 3 none any Details

Total release size: 57.4 kB

Release files / catchy-toolbox-0.3.tar.gz

Download URL catchy-toolbox-0.3.tar.gz
Size 21.1 kB
Tags Source
SHA-256 checksum
How to use checksums
0075b39a4635abe31d3fdca5d2dd057fa41933e476d7d6fa4919e75272e3d305
BLAKE2b-256 checksum
How to use checksums
7a97ce9886f42b850e2d9a1b4ac83e36415d59e21b40800722f8c0942e62bbfe
Upload date
Uploaded using Trusted Publishing?
What is 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

Release files / catchy_toolbox-0.3-py3-none-any.whl

Download URL catchy_toolbox-0.3-py3-none-any.whl
Size 36.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7017e4f1e8d13d894e49784d42a8ad4921953aa688d724f10d7ee101cedd1e6f
BLAKE2b-256 checksum
How to use checksums
cd10e7800be7bb5c9a87016a481560236ef094d5a200b02b36266dd92c378240
Upload date
Uploaded using Trusted Publishing?
What is 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

Release history Release notifications | RSS feed

0.4

1 release file

This release

0.3 This release

2 release files

0.2

2 release files

0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page