Skip to main content

OPL2/3 Adlib emulation

Project description

PyOPL: OPL2/3 emulation for Python

http://www.github.com/Malvineous/pyopl

PyOPL is a simple wrapper around an OPL synthesiser so that it can be accessed from within Python. It uses the DOSBox synth, which has been released under the GPL license.

PyOPL does not include any audio output mechanism, it simply converts register and value pairs into PCM data. The example programs use PyAudio for audio output. Note that PyGame is not suitable for this as it lacks a method for streaming audio generated on-the-fly, and faking it by creating new Sound objects is unreliable as they do not always queue correctly.

To install it:

pip install PyOPL

The code is compiled like this:

pip install build
python -m build

Install the build wheel:

python -m pip install .

This library is released under the GPLv3 license.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

PyOPL-2.0.tar.gz (33.8 kB view hashes)

Uploaded Source

Built Distributions

PyOPL-2.0-pp310-pypy310_pp73-win_amd64.whl (30.9 kB view hashes)

Uploaded PyPy Windows x86-64

PyOPL-2.0-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (33.1 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

PyOPL-2.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (32.7 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

PyOPL-2.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl (30.0 kB view hashes)

Uploaded PyPy macOS 10.9+ x86-64

PyOPL-2.0-pp39-pypy39_pp73-win_amd64.whl (30.9 kB view hashes)

Uploaded PyPy Windows x86-64

PyOPL-2.0-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (33.1 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

PyOPL-2.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (32.7 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

PyOPL-2.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl (30.0 kB view hashes)

Uploaded PyPy macOS 10.9+ x86-64

PyOPL-2.0-pp38-pypy38_pp73-win_amd64.whl (30.9 kB view hashes)

Uploaded PyPy Windows x86-64

PyOPL-2.0-pp38-pypy38_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (33.1 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

PyOPL-2.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (32.7 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

PyOPL-2.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl (30.0 kB view hashes)

Uploaded PyPy macOS 10.9+ x86-64

PyOPL-2.0-cp311-abi3-win_amd64.whl (30.8 kB view hashes)

Uploaded CPython 3.11+ Windows x86-64

PyOPL-2.0-cp311-abi3-win32.whl (28.4 kB view hashes)

Uploaded CPython 3.11+ Windows x86

PyOPL-2.0-cp311-abi3-musllinux_1_1_x86_64.whl (639.2 kB view hashes)

Uploaded CPython 3.11+ musllinux: musl 1.1+ x86-64

PyOPL-2.0-cp311-abi3-musllinux_1_1_i686.whl (688.2 kB view hashes)

Uploaded CPython 3.11+ musllinux: musl 1.1+ i686

PyOPL-2.0-cp311-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (94.3 kB view hashes)

Uploaded CPython 3.11+ manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

PyOPL-2.0-cp311-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (90.0 kB view hashes)

Uploaded CPython 3.11+ manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

PyOPL-2.0-cp311-abi3-macosx_10_9_x86_64.whl (32.2 kB view hashes)

Uploaded CPython 3.11+ macOS 10.9+ x86-64

PyOPL-2.0-cp310-cp310-win_amd64.whl (30.9 kB view hashes)

Uploaded CPython 3.10 Windows x86-64

PyOPL-2.0-cp310-cp310-win32.whl (28.5 kB view hashes)

Uploaded CPython 3.10 Windows x86

PyOPL-2.0-cp310-cp310-musllinux_1_1_x86_64.whl (645.0 kB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.1+ x86-64

PyOPL-2.0-cp310-cp310-musllinux_1_1_i686.whl (693.9 kB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.1+ i686

PyOPL-2.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (98.1 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

PyOPL-2.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (93.7 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

PyOPL-2.0-cp310-cp310-macosx_10_9_x86_64.whl (32.2 kB view hashes)

Uploaded CPython 3.10 macOS 10.9+ x86-64

PyOPL-2.0-cp39-cp39-win_amd64.whl (30.9 kB view hashes)

Uploaded CPython 3.9 Windows x86-64

PyOPL-2.0-cp39-cp39-win32.whl (28.5 kB view hashes)

Uploaded CPython 3.9 Windows x86

PyOPL-2.0-cp39-cp39-musllinux_1_1_x86_64.whl (644.7 kB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.1+ x86-64

PyOPL-2.0-cp39-cp39-musllinux_1_1_i686.whl (693.6 kB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.1+ i686

PyOPL-2.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (97.9 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

PyOPL-2.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (93.5 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

PyOPL-2.0-cp39-cp39-macosx_10_9_x86_64.whl (32.2 kB view hashes)

Uploaded CPython 3.9 macOS 10.9+ x86-64

PyOPL-2.0-cp38-cp38-win_amd64.whl (30.9 kB view hashes)

Uploaded CPython 3.8 Windows x86-64

PyOPL-2.0-cp38-cp38-win32.whl (28.5 kB view hashes)

Uploaded CPython 3.8 Windows x86

PyOPL-2.0-cp38-cp38-musllinux_1_1_x86_64.whl (645.1 kB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.1+ x86-64

PyOPL-2.0-cp38-cp38-musllinux_1_1_i686.whl (693.9 kB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.1+ i686

PyOPL-2.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (98.6 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

PyOPL-2.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (94.3 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

PyOPL-2.0-cp38-cp38-macosx_10_9_x86_64.whl (32.2 kB view hashes)

Uploaded CPython 3.8 macOS 10.9+ x86-64

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page