{ "info": { "author": "Mark Conway Wirt", "author_email": "MarkCWirt@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Topic :: Multimedia :: Sound/Audio :: MIDI" ], "description": "MIDIUtil\n========\n\n|build|\n\nThis is just a brief adumbration. Full documentation for the release\nversion can be found at `Read the Docs\n`_. The documentation for the\ndevelopment version is `here `_.\n\n|docs|\n\nIntroduction\n------------\n\nMIDIUtil is a pure Python library that allows one to write multi-track\nMusical Instrument Digital Interface (MIDI) files from within Python\nprograms (both format 1 and format 2 files are now supported).\nIt is object-oriented and allows one to create and write these\nfiles with a minimum of fuss.\n\nMIDIUtil isn't a full implementation of the MIDI specification. The actual\nspecification is a large, sprawling document which has organically grown\nover the course of decades. I have selectively implemented some of the\nmore useful and common aspects of the specification. The choices have\nbeen somewhat idiosyncratic; I largely implemented what I needed. When\nI decided that it could be of use to other people I fleshed it out a bit,\nbut there are still things missing. Regardless, the code is fairly easy to\nunderstand and well structured. Additions can be made to the library by\nanyone with a good working knowledge of the MIDI file format and a good,\nworking knowledge of Python. Documentation for extending the library\nis provided.\n\nThis software was originally developed with Python 2.5.2 and made use of\nsome features that were introduced in 2.5. More recently Python 2 and 3\nsupport has been unified, so the code should work in both environments.\nHowever, support for versions of Python previous to 2.7 has been dropped.\nAny mission-critical music generation systems should probably be updated\nto a version of Python supported and maintained by the Python foundation,\nlest society devolve into lawlessness.\n\nThis software is distributed under an Open Source license and you are\nfree to use it as you see fit, provided that attribution is maintained.\nSee License.txt in the source distribution for details.\n\nInstallation\n------------\n\nThe latest, stable version of MIDIUtil is hosted at the `Python Package\nIndex `__ and can be installed\nvia the normal channels:\n\n.. code:: bash\n\n pip install MIDIUtil\n\nSource code is available on `Github `__ ,\nand be cloned with one of the following URLS:\n\n.. code:: bash\n\n git clone git@github.com:MarkCWirt/MIDIUtil.git\n # or\n git clone https://github.com/MarkCWirt/MIDIUtil.git\n\ndepending on if you want to use SSH or HTTPS. (The source code\nfor stable releases can also be downloaded from the\n`Releases `__\npage.)\n\nTo use the library one can either install it on one's system:\n\n.. code:: bash\n\n python setup.py install\n\nor point your ``$PYTHONPATH`` environment variable to the directory\ncontaining ``midiutil`` (i.e., ``src``).\n\nMIDIUtil is pure Python and should work on any platform to which\nPython has been ported.\n\nIf you're using this software in your own projects\nyou may want to consider distributing the library bundled with yours;\nthe library is small and self-contained, and such bundling makes things\nmore convenient for your users. The best way of doing this is probably\nto copy the midiutil directory directly to your package directory and\nthen refer to it with a fully qualified name. This will prevent it from\nconflicting with any version of the software that may be installed on\nthe target system.\n\n\nQuick Start\n-----------\n\nUsing the software is easy:\n\n* The package must be imported into your namespace\n* A MIDIFile object is created\n* Events (notes, tempo-changes, etc.) are added to the object\n* The MIDI file is written to disk.\n\nDetailed documentation is provided; what follows is a simple example\nto get you going quickly. In this example we'll create a one track MIDI\nFile, assign a tempo to the track, and write a C-Major scale. Then we\nwrite it to disk.\n\n.. code:: python\n\n #!/usr/bin/env python\n\n from midiutil import MIDIFile\n\n degrees = [60, 62, 64, 65, 67, 69, 71, 72] # MIDI note number\n track = 0\n channel = 0\n time = 0 # In beats\n duration = 1 # In beats\n tempo = 60 # In BPM\n volume = 100 # 0-127, as per the MIDI standard\n\n MyMIDI = MIDIFile(1) # One track, defaults to format 1 (tempo track is created\n # automatically)\n MyMIDI.addTempo(track, time, tempo)\n\n for i, pitch in enumerate(degrees):\n MyMIDI.addNote(track, channel, pitch, time + i, duration, volume)\n\n with open(\"major-scale.mid\", \"wb\") as output_file:\n MyMIDI.writeFile(output_file)\n\nThere are several additional event types that can be added and there are\nvarious options available for creating the MIDIFile object, but the above\nis sufficient to begin using the library and creating note sequences.\n\nThe above code is found in machine-readable form in the examples directory.\nA detailed class reference and documentation describing how to extend\nthe library is provided in the documentation directory.\n\nHave fun!\n\nThank You\n---------\n\nI'd like to mention the following people who have given feedback, bug\nfixes, and suggestions on the library:\n\n* Bram de Jong\n* Mike Reeves-McMillan\n* Egg Syntax\n* Nils Gey\n* Francis G.\n* cclauss (Code formating cleanup and PEP-8 stuff, which I'm not good at following).\n* Philippe-Adrien Nousse (Adphi) for the pitch bend implementation.\n* meteorsw (https://github.com/meteorsw) for major restructuring and clean-up\n of code.\n\nI've actually been off email for a few years, so I'm sure there are lots\nof suggestions waiting. Stay tuned for updates and bug fixes!\n\n.. |docs| image:: https://readthedocs.org/projects/midiutil/badge/?version=1.1.3\n :target: http://midiutil.readthedocs.io/\n :alt: Documentation Status\n\n.. |build| image:: https://travis-ci.org/MarkCWirt/MIDIUtil.svg?branch=master\n :target: https://travis-ci.org/MarkCWirt/MIDIUtil\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/MarkCWirt/MIDIUtil", "keywords": "Music MIDI", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "MIDIUtil", "package_url": "https://pypi.org/project/MIDIUtil/", "platform": "Platform Independent", "project_url": "https://pypi.org/project/MIDIUtil/", "project_urls": { "Homepage": "https://github.com/MarkCWirt/MIDIUtil" }, "release_url": "https://pypi.org/project/MIDIUtil/1.2.1/", "requires_dist": null, "requires_python": "", "summary": "A pure python library for creating multi-track MIDI files", "version": "1.2.1" }, "last_serial": 3638635, "releases": { "1.0.1": [ { "comment_text": "", "digests": { "md5": "c24bb82741fd0b0fd7b0d499ae902f47", "sha256": "1e67e1f219c982df874c9a96d8fee3d716421f3350a492910f1a57f1e97fc3e0" }, "downloads": -1, "filename": "MIDIUtil-1.0.1.tar.gz", "has_sig": false, "md5_digest": "c24bb82741fd0b0fd7b0d499ae902f47", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30608, "upload_time": "2016-09-24T02:47:16", "url": "https://files.pythonhosted.org/packages/95/a4/00fabe2e819be6d011675d51056ccc6a3edb95c03df208783ada4bfb0f51/MIDIUtil-1.0.1.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "c2367729b65e0fc5596a9cc0305a1e78", "sha256": "9f8a7f31ed88de9aee0c022ffc714e70da2907fc84ca070bbdc534af5773bc43" }, "downloads": -1, "filename": "MIDIUtil-1.1.0.tar.gz", "has_sig": false, "md5_digest": "c2367729b65e0fc5596a9cc0305a1e78", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 37848, "upload_time": "2016-09-28T18:16:17", "url": "https://files.pythonhosted.org/packages/66/6b/c397458f8488d37e93deac0f7e8f88af7556bc49ab36cf06987ee0403c22/MIDIUtil-1.1.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "b8db744bb42b011b9385f507336fb3ef", "sha256": "0218b9933527a5829eb89688bd2c1fdaf34a0dbbf7b871080d273b1e2a4d128d" }, "downloads": -1, "filename": "MIDIUtil-1.1.1.tar.gz", "has_sig": false, "md5_digest": "b8db744bb42b011b9385f507336fb3ef", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 39043, "upload_time": "2016-09-28T20:25:24", "url": "https://files.pythonhosted.org/packages/12/fe/b21f9253f40efc7a47c323498e21d683ecaddb119c8452ce028d1e507627/MIDIUtil-1.1.1.tar.gz" } ], "1.1.3": [ { "comment_text": "", "digests": { "md5": "309259bdd3e6361e50f42cc7ab29fbb8", "sha256": "3e5203c6fdb9ec8bc364469e8dc9f3ce5f5a9544d6913b845a125890b8697949" }, "downloads": -1, "filename": "MIDIUtil-1.1.3.tar.gz", "has_sig": false, "md5_digest": "309259bdd3e6361e50f42cc7ab29fbb8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 971074, "upload_time": "2017-03-06T17:22:49", "url": "https://files.pythonhosted.org/packages/cb/48/73f31c0c1e6a1a1f0bf9e3e6c2c76af3db398e14a6f1b7ce14e1915ba6bd/MIDIUtil-1.1.3.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "948c16c74e7355268158f227b710edce", "sha256": "79fa983bd1efc60785f68a8fe78fa8f45b8d7ec5898bf7cb7f3f7f3336d6a90a" }, "downloads": -1, "filename": "MIDIUtil-1.2.1.tar.gz", "has_sig": false, "md5_digest": "948c16c74e7355268158f227b710edce", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1012831, "upload_time": "2018-03-04T19:07:24", "url": "https://files.pythonhosted.org/packages/f5/44/fde6772d8bfaea64fcf5eb948124d0a5fdf5f848b14ac22a23ced53e562d/MIDIUtil-1.2.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "948c16c74e7355268158f227b710edce", "sha256": "79fa983bd1efc60785f68a8fe78fa8f45b8d7ec5898bf7cb7f3f7f3336d6a90a" }, "downloads": -1, "filename": "MIDIUtil-1.2.1.tar.gz", "has_sig": false, "md5_digest": "948c16c74e7355268158f227b710edce", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1012831, "upload_time": "2018-03-04T19:07:24", "url": "https://files.pythonhosted.org/packages/f5/44/fde6772d8bfaea64fcf5eb948124d0a5fdf5f848b14ac22a23ced53e562d/MIDIUtil-1.2.1.tar.gz" } ] }