Skip to main content

Create MIDI files from chord progressions

Project description

![chords2midi](https://i.imgur.com/rvXoXOf.png)
# chords2midi

Given it a chord progression, get a MIDI file!

Take your MIDI file, drop it into your favorite DAW and [make a beat!](https://clyp.it/drltahki) Or [two](https://clyp.it/f0g1ko5b).

## Installation

$ pip install chords2midi

## Usage

$ c2m I V vi IV --key C
$ ls
C-I-V-vi-IV.mid

More usage:

$ c2m I V vi iii IV I IV V --key D --bpm 128 --octave 5 --duration .25 # Pachabel's Canon in D, Staccato EDM Version
$ ls
D-I-V-vi-iii-IV-I-IV-V-128.mid

You can also use named chords directly:

$ c2m Am Em F G --bpm 80
$ ls
Am-Em-F-G-80.mid

You can place rests with `X`:

$ c2m I X V X vi X IV

Further options:

```
usage: c2m.py [-h] [-b BPM] [-t OCTAVE] [-i INPUT] [-k KEY] [-n NOTES]
[-d DURATION] [-H HUMANIZE] [-o OUTPUT] [-v]
[U [U ...]]

chords2midi - Create MIDI files from written chord progressions.

positional arguments:
U Please supply chord progression!. See --help for more
options.

optional arguments:
-h, --help show this help message and exit
-b BPM, --bpm BPM Set the BPM (default 160)
-t OCTAVE, --octave OCTAVE
Set the octave (default 4)
-i INPUT, --input INPUT
Read from an input file.
-k KEY, --key KEY Set the key (default C)
-n NOTES, --notes NOTES
Notes in each chord (default all)
-d DURATION, --duration DURATION
Set the chord duraction (default 1)
-H HUMANIZE, --humanize HUMANIZE
Set the amount to "humanize" (strum) a chord, in ticks
- try .11 (default 0.0)
-o OUTPUT, --output OUTPUT
Set the output file path. Default is the current key
and progression in the current location.
-v, --version Display the current version of chords2midi
```

## Common Progressions

The classic:

$ c2m I V vi IV

50's progression:

$ c2m I vi IV V

12 bar blues:

$ c2m I I I I IV IV I I V V I I

or:

$ c2m I I I I IV IV I I V VI I V

Smoke on the water:

$ c2m ii IV V

Wild thing:

$ c2m I IV V IV

Flamenco:

$ c2m vi V VI V

Gently weeps:

$ c2m ii I V6 VIIb VI

Sad:

$ c2m vi IV I V

And [lots more](https://www.hooktheory.com/theorytab/common-chord-progressions)!

## Playback

If you're on OSX:

$ brew install timidity
$ timidity your-midi.mid

## Related

* [UltimateTemplate](https://github.com/Miserlou/UltimateTemplate) - Production-ready Ableton Live project templates.
* [ADGMaker](https://github.com/Miserlou/ADGMaker) - Make Ableton ADG instruments from Free Philharmonia Orchestra samples

Rich Jones, 2018. MIT.

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

chords2midi-0.7.0.tar.gz (4.6 kB view details)

Uploaded Source

Built Distribution

chords2midi-0.7.0-py2-none-any.whl (4.9 kB view details)

Uploaded Python 2

File details

Details for the file chords2midi-0.7.0.tar.gz.

File metadata

  • Download URL: chords2midi-0.7.0.tar.gz
  • Upload date:
  • Size: 4.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Python-urllib/2.7

File hashes

Hashes for chords2midi-0.7.0.tar.gz
Algorithm Hash digest
SHA256 a5937a5ac3faddb16948298704fc9590b50f07c5c552b104c2a677dbf57dc966
MD5 cdfb416a98b70d80c36b65679aac33b0
BLAKE2b-256 bdec73f2f847cab52b6eed12be1d4ca068e04454bcbbd076210b4f5f90234526

See more details on using hashes here.

File details

Details for the file chords2midi-0.7.0-py2-none-any.whl.

File metadata

File hashes

Hashes for chords2midi-0.7.0-py2-none-any.whl
Algorithm Hash digest
SHA256 19f69b26f9b5bed554e24bd8d5cf773adbb298aafd683b6eded573f434593c2d
MD5 7c5bfe25714010afa708ce8229a27b4c
BLAKE2b-256 c64f51396dbbfc874e49a3792b858eef2bc3555736c21903836ad561afd67e6e

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