{
"info": {
"author": "Bohumir Zamecnik",
"author_email": "bohumir.zamecnik@gmail.com",
"bugtrack_url": null,
"classifiers": [
"Development Status :: 3 - Alpha",
"Intended Audience :: Developers",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: MIT License",
"Operating System :: MacOS :: MacOS X",
"Operating System :: POSIX :: Linux",
"Programming Language :: Python :: 3",
"Topic :: Multimedia :: Sound/Audio :: Analysis"
],
"description": "midi2audio\n==========\n\n|PyPI version| |Supported Python versions| |License|\n\nEasily synthesize MIDI to audio or just play it.\n\nIt provides a Python and command-line interface to the\n`FluidSynth `__ synthesizer to make it easy\nto use and suitable for scripting and batch processing. In contrast,\nmost MIDI processing software is GUI-based.\n\nWhy?\n----\n\nFirst, FluidSynth has a CLI which is not so straightforward to use. The\ngoal was to make it easy to use as possible by making some parameters\nimplicit.\n\n::\n\n fluidsynth -ni sound_font.sf2 input.mid -F output.wav -r 44100\n\nvs.\n\n::\n\n midiplay input.mid\n midi2audio input.mid output.wav\n\nSecond, we can have as easy interface scriptable in Python.\n\n::\n\n FluidSynth().midi_to_audio('input.mid', 'output.wav')\n\nWhat it is not?\n---------------\n\nNote that is it not a Python binding to all the FluidSynth commands. If\nneeded check out these packages instead:\n\n- `fluidsynth `__\n- `pyFluidSynth `__\n\nRequirements\n------------\n\n- Python 3\n- FluidSynth\n- some `sound\n font(s) `__\n\nYou need at least one sound font. Normally you'd install them manually\nor via a package manager. ``midi2audio`` looks for its default sound\nfont in ``~/.fluidsynth/default_sound_font.sf2``. It can be a symlink or\nan actual file.\n\nInstallation\n------------\n\npip\n~~~\n\nYou can install this package via pip.\n\n::\n\n pip install midi2audio\n\nOr for development (changes in code take effect without reinstalling):\n\n::\n\n git clone https://github.com/bzamecnik/midi2audio\n pip install -e midi2audio\n\nOS X\n~~~~\n\nI'd recommend adding the non-default libsndfile which supports output to\nFLAC and wide variety of audio formats. Otherwise only WAV, raw and a\nfew other will be supported.\n\nFor Mac OS X we provide a script\n`install\\_fluidsynth\\_with\\_soundfonts\\_osx.sh `__\nto automatically install FluidSynth with libsndfile and a basic sound\nfont (`Fluid R3\nGM `__) and\nsymlink it so that it's recognized as a default sound font for this\nmodule. Note it it install installed via pip as another entry point.\n\n::\n\n install_fluidsynth_with_soundfonts_osx.sh\n\nOr install it manually:\n\n::\n\n brew install fluidsynth --with-libsndfile\n mkdir -p ~/.fluidsynth\n ln -s /path/to/my/sound_font.sf2 ~/.fluidsynth/default_sound_font.sf2\n\nCheck the script how to install a few additional (nice but bigger) sound\nfonts which are not installed by default.\n\nOther OSs\n---------\n\nCheck you package manager and link your default sound font as descibed\nabove.\n\nUsage\n-----\n\nBasically you can either play a MIDI file or synthesize it to audio.\nFluidSynth allows non-realtime synthesis which is faster than the\nplayback.\n\nNote that the audio format is determined from the audio file extension.\nThe `libsoundfile `__ supports a\nlot of formats.\n\nPython\n~~~~~~\n\n::\n\n from midi2audio import FluidSynth\n\nPlay MIDI:\n\n::\n\n FluidSynth().play_midi('input.mid')\n\nSynthesize MIDI to audio:\n\n::\n\n # using the default sound font in 44100 Hz sample rate\n fs = FluidSynth()\n fs.midi_to_audio('input.mid', 'output.wav')\n\n # FLAC, a lossless codec, is supported as well (and recommended to be used)\n fs.midi_to_audio('input.mid', 'output.flac')\n\nChange the defaults:\n\n::\n\n # use a custom sound font\n FluidSynth('sound_font.sf2')\n\n # use a custom sample rate\n FluidSynth(sample_rate=22050)\n\nCommand line interface\n~~~~~~~~~~~~~~~~~~~~~~\n\nA shell sugars ``midi2audio`` and ``midiplay`` are provided instead of\nmore verbose ``python -m midi2audio``.\n\n::\n\n # play MIDI\n $ midiplay input.mid\n\n # synthesize MIDI to audio\n $ midi2audio input.mid output.wav\n\n # also to FLAC\n $ midi2audio input.mid output.flac\n\n # custom sound font\n $ midi2audio -s sound_font.sf2 input.mid output.flac\n\n # custom sample rate\n $ midi2audio -r 22050 input.mid output.flac\n\nAbout\n-----\n\n- Author: Bohum\u00edr Z\u00e1me\u010dn\u00edk ([@bzamecnik](http://twitter.com/bzamecnik))\n- License: MIT, see the `LICENSE `__ file\n\nShoulders of giants\n~~~~~~~~~~~~~~~~~~~\n\nThanks to the authors of FluidSynth for a nice command-line MIDI\nsynthesizer!\n\nSupport the project\n~~~~~~~~~~~~~~~~~~~\n\nNeed some consulting or coding work regarding audio processing, machine\nlearning or big data? Drop me a message via\n`email `__\nor `LinkedIn `__. Or just\nsay hello :).\n\n.. |PyPI version| image:: https://img.shields.io/pypi/v/midi2audio.svg\n :target: https://pypi.python.org/pypi/midi2audio\n.. |Supported Python versions| image:: https://img.shields.io/pypi/pyversions/midi2audio.svg\n.. |License| image:: https://img.shields.io/pypi/l/midi2audio.svg",
"description_content_type": null,
"docs_url": null,
"download_url": "",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "https://github.com/bzamecnik/midi2audio",
"keywords": "",
"license": "MIT",
"maintainer": "",
"maintainer_email": "",
"name": "midi2audio",
"package_url": "https://pypi.org/project/midi2audio/",
"platform": "UNKNOWN",
"project_url": "https://pypi.org/project/midi2audio/",
"project_urls": {
"Homepage": "https://github.com/bzamecnik/midi2audio"
},
"release_url": "https://pypi.org/project/midi2audio/0.1.1/",
"requires_dist": null,
"requires_python": "",
"summary": "Easy to use MIDI to audio or playback via FluidSynth",
"version": "0.1.1"
},
"last_serial": 2472089,
"releases": {
"0.1": [
{
"comment_text": "",
"digests": {
"md5": "02aefc04f3c33a7dd0e0590e24755c69",
"sha256": "dff5e678665ba698b2a268a34aff3bbfb4205fb5bdfa539f46e1e170f3384ea3"
},
"downloads": -1,
"filename": "midi2audio-0.1-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "02aefc04f3c33a7dd0e0590e24755c69",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 7660,
"upload_time": "2016-11-20T19:39:50",
"url": "https://files.pythonhosted.org/packages/ad/27/a194009b75d4dbb9c9fb0b27f87f6fbf02d90bc445165a24a2ccceecd42b/midi2audio-0.1-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "a1c76aec5ea87287a1eb2442ac1a5f90",
"sha256": "8bab0b0c7e1e3f3277a7e6ec24dc700b95646d7a5f31590cfcb1f1790c85aa30"
},
"downloads": -1,
"filename": "midi2audio-0.1.tar.gz",
"has_sig": false,
"md5_digest": "a1c76aec5ea87287a1eb2442ac1a5f90",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 4185,
"upload_time": "2016-11-20T19:39:53",
"url": "https://files.pythonhosted.org/packages/d5/ef/90234bcdda8e937383af1a80252d39eb2d358feb7441b5cc6afd381d0901/midi2audio-0.1.tar.gz"
}
],
"0.1.1": [
{
"comment_text": "",
"digests": {
"md5": "506ba71f2bdaaa354652a926f58f0bf1",
"sha256": "762a2df3806d373f7f89962f22ecc6d3cb49f82ae4212fab560a479cbb6c9c08"
},
"downloads": -1,
"filename": "midi2audio-0.1.1-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "506ba71f2bdaaa354652a926f58f0bf1",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 8742,
"upload_time": "2016-11-20T19:48:31",
"url": "https://files.pythonhosted.org/packages/55/75/23618a687fc2391192c9d9ec8906a198a3f318f146388d3b96f779826d43/midi2audio-0.1.1-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "768debe14d4726955243361f1ef6fcef",
"sha256": "b26590388e1f62753096b075b877e2529ff62faad00c07811ac8111a73e4a78a"
},
"downloads": -1,
"filename": "midi2audio-0.1.1.tar.gz",
"has_sig": false,
"md5_digest": "768debe14d4726955243361f1ef6fcef",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 4978,
"upload_time": "2016-11-20T19:48:34",
"url": "https://files.pythonhosted.org/packages/a8/1c/b96b5d797cb622753fef9dd5ac2116ee9f3585727d60212f892fb4bd175e/midi2audio-0.1.1.tar.gz"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "506ba71f2bdaaa354652a926f58f0bf1",
"sha256": "762a2df3806d373f7f89962f22ecc6d3cb49f82ae4212fab560a479cbb6c9c08"
},
"downloads": -1,
"filename": "midi2audio-0.1.1-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "506ba71f2bdaaa354652a926f58f0bf1",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 8742,
"upload_time": "2016-11-20T19:48:31",
"url": "https://files.pythonhosted.org/packages/55/75/23618a687fc2391192c9d9ec8906a198a3f318f146388d3b96f779826d43/midi2audio-0.1.1-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "768debe14d4726955243361f1ef6fcef",
"sha256": "b26590388e1f62753096b075b877e2529ff62faad00c07811ac8111a73e4a78a"
},
"downloads": -1,
"filename": "midi2audio-0.1.1.tar.gz",
"has_sig": false,
"md5_digest": "768debe14d4726955243361f1ef6fcef",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 4978,
"upload_time": "2016-11-20T19:48:34",
"url": "https://files.pythonhosted.org/packages/a8/1c/b96b5d797cb622753fef9dd5ac2116ee9f3585727d60212f892fb4bd175e/midi2audio-0.1.1.tar.gz"
}
]
}