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.
# 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)
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | a5937a5ac3faddb16948298704fc9590b50f07c5c552b104c2a677dbf57dc966 |
|
MD5 | cdfb416a98b70d80c36b65679aac33b0 |
|
BLAKE2b-256 | bdec73f2f847cab52b6eed12be1d4ca068e04454bcbbd076210b4f5f90234526 |
File details
Details for the file chords2midi-0.7.0-py2-none-any.whl
.
File metadata
- Download URL: chords2midi-0.7.0-py2-none-any.whl
- Upload date:
- Size: 4.9 kB
- Tags: Python 2
- Uploaded using Trusted Publishing? No
- Uploaded via: Python-urllib/2.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 19f69b26f9b5bed554e24bd8d5cf773adbb298aafd683b6eded573f434593c2d |
|
MD5 | 7c5bfe25714010afa708ce8229a27b4c |
|
BLAKE2b-256 | c64f51396dbbfc874e49a3792b858eef2bc3555736c21903836ad561afd67e6e |