Name | midirenderer JSON |
Version |
0.1.3
JSON |
| download |
home_page | None |
Summary | High-performance library for rendering MIDI files to WAV and Opus formats using SoundFonts |
upload_time | 2024-07-13 23:49:37 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.8 |
license | MIT |
keywords |
midi
audio
soundfont
wav
opus
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# MidiRenderer
MidiRenderer is a high-performance Python library for rendering MIDI files to WAV and Opus formats using SoundFonts. Built with Rust for speed and efficiency.
## Features
- Render MIDI to WAV and Opus
- Uses SoundFont (.sf2) files
- High-performance Rust backend
- Cross-platform support (Windows, macOS, Linux, including ARM64)
## Installation
```bash
pip install midirenderer
```
## Quick Start
```python
import midirenderer
from pathlib import Path
# Render MIDI to WAV
wav_data = midirenderer.render_wave_from(
Path('soundfont.sf2').read_bytes(),
Path('music.mid').read_bytes()
)
with open('output.wav', 'wb') as f:
f.write(wav_data)
# Render MIDI to Opus
opus_data = midirenderer.render_opus_from(
Path('soundfont.sf2').read_bytes(),
Path('music.mid').read_bytes(),
stereo=True,
bitrate="128000" # 128 kbps
)
with open('output.opus', 'wb') as f:
f.write(opus_data)
```
## API
- `render_wave_from(soundfont_bytes: bytes, midi_bytes: bytes) -> bytes`
- `render_opus_from(soundfont_bytes: bytes, midi_bytes: bytes, stereo: bool = True, bitrate: str = "auto") -> bytes`
## Requirements
- Python 3.8+
- libopus (usually pre-installed on most systems)
## License
MIT License
Raw data
{
"_id": null,
"home_page": null,
"name": "midirenderer",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "midi, audio, soundfont, wav, opus",
"author": null,
"author_email": "Arthur Ryzhak <ryzhakar@gmail.com>",
"download_url": null,
"platform": null,
"description": "# MidiRenderer\n\nMidiRenderer is a high-performance Python library for rendering MIDI files to WAV and Opus formats using SoundFonts. Built with Rust for speed and efficiency.\n\n## Features\n\n- Render MIDI to WAV and Opus\n- Uses SoundFont (.sf2) files\n- High-performance Rust backend\n- Cross-platform support (Windows, macOS, Linux, including ARM64)\n\n## Installation\n\n```bash\npip install midirenderer\n```\n\n## Quick Start\n\n```python\nimport midirenderer\nfrom pathlib import Path\n\n# Render MIDI to WAV\nwav_data = midirenderer.render_wave_from(\n Path('soundfont.sf2').read_bytes(),\n Path('music.mid').read_bytes()\n)\n\nwith open('output.wav', 'wb') as f:\n f.write(wav_data)\n\n# Render MIDI to Opus\nopus_data = midirenderer.render_opus_from(\n Path('soundfont.sf2').read_bytes(),\n Path('music.mid').read_bytes(),\n stereo=True,\n bitrate=\"128000\" # 128 kbps\n)\n\nwith open('output.opus', 'wb') as f:\n f.write(opus_data)\n```\n\n## API\n\n- `render_wave_from(soundfont_bytes: bytes, midi_bytes: bytes) -> bytes`\n- `render_opus_from(soundfont_bytes: bytes, midi_bytes: bytes, stereo: bool = True, bitrate: str = \"auto\") -> bytes`\n\n## Requirements\n\n- Python 3.8+\n- libopus (usually pre-installed on most systems)\n\n## License\n\nMIT License\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "High-performance library for rendering MIDI files to WAV and Opus formats using SoundFonts",
"version": "0.1.3",
"project_urls": {
"Homepage": "https://github.com/ryzhakar/midirenderer",
"Repository": "https://github.com/ryzhakar/midirenderer.git"
},
"split_keywords": [
"midi",
" audio",
" soundfont",
" wav",
" opus"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "300b574983f4181ba1f83066d73f6d9cc1bfd6afbb64165365b11f97c2862288",
"md5": "147715bc7067828234f841237fc3574d",
"sha256": "f2220ce6ef2c83fa84a4f70cbf93a3348ce41fa6bca0e95dbc2fbaea1188b3b1"
},
"downloads": -1,
"filename": "midirenderer-0.1.3-cp38-abi3-macosx_10_12_x86_64.whl",
"has_sig": false,
"md5_digest": "147715bc7067828234f841237fc3574d",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.8",
"size": 420763,
"upload_time": "2024-07-13T23:49:37",
"upload_time_iso_8601": "2024-07-13T23:49:37.848782Z",
"url": "https://files.pythonhosted.org/packages/30/0b/574983f4181ba1f83066d73f6d9cc1bfd6afbb64165365b11f97c2862288/midirenderer-0.1.3-cp38-abi3-macosx_10_12_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "ccf522d82ca83bb14381b08a636d831674bc9d37a5f56f54275e5f48870dd096",
"md5": "7874bcd31db404cebf0f1e3866ca579c",
"sha256": "671bd1b0c7ab3e543459ff666068638ee7db9817687e1de519738d97cf52e06d"
},
"downloads": -1,
"filename": "midirenderer-0.1.3-cp38-abi3-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "7874bcd31db404cebf0f1e3866ca579c",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.8",
"size": 403284,
"upload_time": "2024-07-13T23:49:36",
"upload_time_iso_8601": "2024-07-13T23:49:36.297088Z",
"url": "https://files.pythonhosted.org/packages/cc/f5/22d82ca83bb14381b08a636d831674bc9d37a5f56f54275e5f48870dd096/midirenderer-0.1.3-cp38-abi3-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "acf04e632faee3290090c7da75b210caa5e814ddfbddee65d7324d5b42b795be",
"md5": "9c6176147444980c6cc4b27dd48914d2",
"sha256": "86eb9120ff3651b25889167fcbb3f17b6a8b82b963a79094a8c9998488f8cda3"
},
"downloads": -1,
"filename": "midirenderer-0.1.3-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "9c6176147444980c6cc4b27dd48914d2",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.8",
"size": 485510,
"upload_time": "2024-07-13T23:49:34",
"upload_time_iso_8601": "2024-07-13T23:49:34.662333Z",
"url": "https://files.pythonhosted.org/packages/ac/f0/4e632faee3290090c7da75b210caa5e814ddfbddee65d7324d5b42b795be/midirenderer-0.1.3-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "9fb466f0d1cb2de733b953f5b86ad7f6a80a7b6b2b5f56995ab42090bf971c68",
"md5": "fbcb058c2fef090a3cb6b513683bc3a4",
"sha256": "a7d5575022ffd78fa1677c1df8fcb1e86c86e26d5f8ead34dc30549782cb140f"
},
"downloads": -1,
"filename": "midirenderer-0.1.3-cp38-abi3-manylinux_2_34_aarch64.whl",
"has_sig": false,
"md5_digest": "fbcb058c2fef090a3cb6b513683bc3a4",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.8",
"size": 521637,
"upload_time": "2024-07-13T23:49:32",
"upload_time_iso_8601": "2024-07-13T23:49:32.716811Z",
"url": "https://files.pythonhosted.org/packages/9f/b4/66f0d1cb2de733b953f5b86ad7f6a80a7b6b2b5f56995ab42090bf971c68/midirenderer-0.1.3-cp38-abi3-manylinux_2_34_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "4158d1ca3a1437e2436b3dd88433db44560aed34a9c1ad8acda7d90b97026c80",
"md5": "bb99bbe527f0c5aeb5477822a0beea86",
"sha256": "90518ebac0672417a45a88425244b2c40a357275897b0abcd2aaf0aa48d6efbd"
},
"downloads": -1,
"filename": "midirenderer-0.1.3-cp38-abi3-win_amd64.whl",
"has_sig": false,
"md5_digest": "bb99bbe527f0c5aeb5477822a0beea86",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.8",
"size": 342690,
"upload_time": "2024-07-13T23:49:39",
"upload_time_iso_8601": "2024-07-13T23:49:39.582286Z",
"url": "https://files.pythonhosted.org/packages/41/58/d1ca3a1437e2436b3dd88433db44560aed34a9c1ad8acda7d90b97026c80/midirenderer-0.1.3-cp38-abi3-win_amd64.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-07-13 23:49:37",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "ryzhakar",
"github_project": "midirenderer",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "midirenderer"
}