midirenderer


Namemidirenderer JSON
Version 0.1.3 PyPI version JSON
download
home_pageNone
SummaryHigh-performance library for rendering MIDI files to WAV and Opus formats using SoundFonts
upload_time2024-07-13 23:49:37
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseMIT
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"
}
        
Elapsed time: 4.67522s