# 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.
Metadata
Release files for chords2midi 0.7.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| chords2midi-0.7.0.tar.gz | 4.6 kB | Without provenance | Details for chords2midi-0.7.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| chords2midi-0.7.0-py2-none-any.whl | Python 2 | none | any | Details for chords2midi-0.7.0-py2-none-any.whl |
Total release size: 9.5 kB
Release files / chords2midi-0.7.0.tar.gz
| Download URL | chords2midi-0.7.0.tar.gz |
|---|---|
| Size | 4.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a5937a5ac3faddb16948298704fc9590b50f07c5c552b104c2a677dbf57dc966
|
|
BLAKE2b-256 checksum How to use checksums |
bdec73f2f847cab52b6eed12be1d4ca068e04454bcbbd076210b4f5f90234526
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
Python-urllib/2.7
|
Release files / chords2midi-0.7.0-py2-none-any.whl
| Download URL | chords2midi-0.7.0-py2-none-any.whl |
|---|---|
| Size | 4.9 kB |
| Tags | Python 2 |
|
SHA-256 checksum How to use checksums |
19f69b26f9b5bed554e24bd8d5cf773adbb298aafd683b6eded573f434593c2d
|
|
BLAKE2b-256 checksum How to use checksums |
c64f51396dbbfc874e49a3792b858eef2bc3555736c21903836ad561afd67e6e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
Python-urllib/2.7
|
Security for chords2midi 0.7.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.