{ "info": { "author": "Rich Jones", "author_email": "rich@openwatch.net", "bugtrack_url": null, "classifiers": [ "Environment :: Console", "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Topic :: Internet :: WWW/HTTP", "Topic :: Internet :: WWW/HTTP :: Dynamic Content" ], "description": "![chords2midi](https://i.imgur.com/rvXoXOf.png)\n# chords2midi\n\nGiven it a chord progression, get a MIDI file!\n\nTake your MIDI file, drop it into your favorite DAW and [make a beat!](https://clyp.it/drltahki) Or [two](https://clyp.it/f0g1ko5b).\n\n## Installation\n\n $ pip install chords2midi\n\n## Usage\n\n $ c2m I V vi IV --key C\n $ ls\n C-I-V-vi-IV.mid\n\nMore usage:\n\n $ 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\n $ ls\n D-I-V-vi-iii-IV-I-IV-V-128.mid\n\nYou can also use named chords directly:\n\n $ c2m Am Em F G --bpm 80\n $ ls\n Am-Em-F-G-80.mid\n\nYou can place rests with `X`:\n\n $ c2m I X V X vi X IV\n\nFurther options:\n\n```\nusage: c2m.py [-h] [-b BPM] [-t OCTAVE] [-i INPUT] [-k KEY] [-n NOTES]\n [-d DURATION] [-H HUMANIZE] [-o OUTPUT] [-v]\n [U [U ...]]\n\nchords2midi - Create MIDI files from written chord progressions.\n\npositional arguments:\n U Please supply chord progression!. See --help for more\n options.\n\noptional arguments:\n -h, --help show this help message and exit\n -b BPM, --bpm BPM Set the BPM (default 160)\n -t OCTAVE, --octave OCTAVE\n Set the octave (default 4)\n -i INPUT, --input INPUT\n Read from an input file.\n -k KEY, --key KEY Set the key (default C)\n -n NOTES, --notes NOTES\n Notes in each chord (default all)\n -d DURATION, --duration DURATION\n Set the chord duraction (default 1)\n -H HUMANIZE, --humanize HUMANIZE\n Set the amount to \"humanize\" (strum) a chord, in ticks\n - try .11 (default 0.0)\n -o OUTPUT, --output OUTPUT\n Set the output file path. Default is the current key\n and progression in the current location.\n -v, --version Display the current version of chords2midi\n```\n\n## Common Progressions\n\nThe classic:\n\n $ c2m I V vi IV\n\n50's progression:\n\n $ c2m I vi IV V\n\n12 bar blues:\n\n $ c2m I I I I IV IV I I V V I I\n\nor:\n\n $ c2m I I I I IV IV I I V VI I V\n\nSmoke on the water:\n\n $ c2m ii IV V\n\nWild thing:\n\n $ c2m I IV V IV\n\nFlamenco:\n\n $ c2m vi V VI V\n\nGently weeps:\n\n $ c2m ii I V6 VIIb VI\n\nSad:\n\n $ c2m vi IV I V\n\nAnd [lots more](https://www.hooktheory.com/theorytab/common-chord-progressions)!\n\n## Playback\n\nIf you're on OSX:\n\n $ brew install timidity\n $ timidity your-midi.mid\n\n## Related\n\n * [UltimateTemplate](https://github.com/Miserlou/UltimateTemplate) - Production-ready Ableton Live project templates.\n * [ADGMaker](https://github.com/Miserlou/ADGMaker) - Make Ableton ADG instruments from Free Philharmonia Orchestra samples\n\nRich Jones, 2018. MIT.\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/Miserlou/chords2midi", "keywords": "", "license": "MIT License", "maintainer": "", "maintainer_email": "", "name": "chords2midi", "package_url": "https://pypi.org/project/chords2midi/", "platform": "", "project_url": "https://pypi.org/project/chords2midi/", "project_urls": { "Homepage": "https://github.com/Miserlou/chords2midi" }, "release_url": "https://pypi.org/project/chords2midi/0.7.0/", "requires_dist": null, "requires_python": "", "summary": "Create MIDI files from chord progressions", "version": "0.7.0" }, "last_serial": 4719340, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "2279a617c47bdffb4105d6855ed4c286", "sha256": "e757eddc75a9e03d2172d7f350dedfb84eb3ff66a6ce25abc619abff93b08bc8" }, "downloads": -1, "filename": "chords2midi-0.1.0-py2-none-any.whl", "has_sig": false, "md5_digest": "2279a617c47bdffb4105d6855ed4c286", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 3609, "upload_time": "2018-09-09T00:49:38", "url": "https://files.pythonhosted.org/packages/bc/32/d3754e9188595adca4525cab6ec520f44704d5587e3cd629447c726924e3/chords2midi-0.1.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "28e165267fca64bfec13534b1ae55970", "sha256": "309ce124f3893135b324dc1cea1ddd00cddfe7c063bd1128b9eaaaeab0d11ce6" }, "downloads": -1, "filename": "chords2midi-0.1.0.tar.gz", "has_sig": false, "md5_digest": "28e165267fca64bfec13534b1ae55970", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3084, "upload_time": "2018-09-09T00:49:36", "url": "https://files.pythonhosted.org/packages/c8/4d/8dd7003bc5edefddae26d43266f7869005093784366aa75d9b17f27edf0a/chords2midi-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "ea87ed5b623c7ebdb7b3d39b6473fca9", "sha256": "d38d66691be1fc74e1ccad556d73386361d036d63ec4f1ea11755792a40c72a5" }, "downloads": -1, "filename": "chords2midi-0.2.0-py2-none-any.whl", "has_sig": false, "md5_digest": "ea87ed5b623c7ebdb7b3d39b6473fca9", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 4186, "upload_time": "2018-09-09T23:49:52", "url": "https://files.pythonhosted.org/packages/8b/06/8e521740282cec9b9e1ab6ee59b021264e3cfd9979d72956d37c1d03d2b3/chords2midi-0.2.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4591b54f33ab9f8da6c61313cd59be38", "sha256": "08809fa6d97c5c31552515a8a7c72fc0ab0238b6c7696c4fd3a5183a5761f1c6" }, "downloads": -1, "filename": "chords2midi-0.2.0.tar.gz", "has_sig": false, "md5_digest": "4591b54f33ab9f8da6c61313cd59be38", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3790, "upload_time": "2018-09-09T23:49:51", "url": "https://files.pythonhosted.org/packages/de/2f/cf2fb5132e8684490717b51975c9ebac708980fcc858c69970835715c1fa/chords2midi-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "29e50536a228c6f8df4b6e0e4ab79ef1", "sha256": "5b2d53d816512245ba1a6e27e21e73121b6d1dd94e573e9a50f81a85b6732d75" }, "downloads": -1, "filename": "chords2midi-0.3.0-py2-none-any.whl", "has_sig": false, "md5_digest": "29e50536a228c6f8df4b6e0e4ab79ef1", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 4242, "upload_time": "2018-09-10T00:43:05", "url": "https://files.pythonhosted.org/packages/f1/ab/666c7d8b75d541c0f8feb0da301478b618f6fa354ac8c9f0e315af565d86/chords2midi-0.3.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6caa381679c209a2e130ecb378f72df1", "sha256": "c87d26dfbcf6a0efca4bb49a37567c1ca47085d357725b2cace90971584ad883" }, "downloads": -1, "filename": "chords2midi-0.3.0.tar.gz", "has_sig": false, "md5_digest": "6caa381679c209a2e130ecb378f72df1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3855, "upload_time": "2018-09-10T00:43:04", "url": "https://files.pythonhosted.org/packages/00/e5/069c9b8a770a74f664a5bf0913dd6ffcb14f41615f1eca322b3de16e843c/chords2midi-0.3.0.tar.gz" } ], "0.7.0": [ { "comment_text": "", "digests": { "md5": "7c5bfe25714010afa708ce8229a27b4c", "sha256": "19f69b26f9b5bed554e24bd8d5cf773adbb298aafd683b6eded573f434593c2d" }, "downloads": -1, "filename": "chords2midi-0.7.0-py2-none-any.whl", "has_sig": false, "md5_digest": "7c5bfe25714010afa708ce8229a27b4c", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 4942, "upload_time": "2019-01-20T21:29:31", "url": "https://files.pythonhosted.org/packages/c6/4f/51396dbbfc874e49a3792b858eef2bc3555736c21903836ad561afd67e6e/chords2midi-0.7.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cdfb416a98b70d80c36b65679aac33b0", "sha256": "a5937a5ac3faddb16948298704fc9590b50f07c5c552b104c2a677dbf57dc966" }, "downloads": -1, "filename": "chords2midi-0.7.0.tar.gz", "has_sig": false, "md5_digest": "cdfb416a98b70d80c36b65679aac33b0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4597, "upload_time": "2019-01-20T21:29:29", "url": "https://files.pythonhosted.org/packages/bd/ec/73f2f847cab52b6eed12be1d4ca068e04454bcbbd076210b4f5f90234526/chords2midi-0.7.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "7c5bfe25714010afa708ce8229a27b4c", "sha256": "19f69b26f9b5bed554e24bd8d5cf773adbb298aafd683b6eded573f434593c2d" }, "downloads": -1, "filename": "chords2midi-0.7.0-py2-none-any.whl", "has_sig": false, "md5_digest": "7c5bfe25714010afa708ce8229a27b4c", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 4942, "upload_time": "2019-01-20T21:29:31", "url": "https://files.pythonhosted.org/packages/c6/4f/51396dbbfc874e49a3792b858eef2bc3555736c21903836ad561afd67e6e/chords2midi-0.7.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cdfb416a98b70d80c36b65679aac33b0", "sha256": "a5937a5ac3faddb16948298704fc9590b50f07c5c552b104c2a677dbf57dc966" }, "downloads": -1, "filename": "chords2midi-0.7.0.tar.gz", "has_sig": false, "md5_digest": "cdfb416a98b70d80c36b65679aac33b0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4597, "upload_time": "2019-01-20T21:29:29", "url": "https://files.pythonhosted.org/packages/bd/ec/73f2f847cab52b6eed12be1d4ca068e04454bcbbd076210b4f5f90234526/chords2midi-0.7.0.tar.gz" } ] }