Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

Yamaha OPL emulation

Project Description


oply is a Python library to emulate the Yamaha OPL FM synthesizers.

The core itself is based on the mighty Nuked OPL3 emulation library by Alexey Khokholov, ported to Python in a more object-oriented fashion, following the PEP 8 coding style.

It is currently written in pure Python; developed for 3.5, but it might be backwards-compatible down to the glorious 2.7. This allows maximum portability.

Beware that its timing performance are awful, taking a very long time to render even a few seconds of sound. I have not tried with PyPy or any other accelerators yet. Maybe in the future there will be wrappers to high performance libraries (say, written in C), with the pure Python implementation as a mere fallback.

Said that, this library was written more out of my own curiosity, and because I was lacking a way to render the IMF chunks of Wolfenstein 3D in my pywolf project, instead of relying on external binaries, although it takes hours to export all of its assets… whatever! xD


> oply - Yamaha OPL emulation with Python > Copyright (C) 2016 Andrea Zoppi > > This program is free software: you can redistribute it and/or modify > it under the terms of the GNU General Public License as published by > the Free Software Foundation, either version 3 of the License, or > (at your option) any later version. > > This program is distributed in the hope that it will be useful, > but WITHOUT ANY WARRANTY; without even the implied warranty of > MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > GNU General Public License for more details. > > You should have received a copy of the GNU General Public License > along with this program. If not, see <>.

Release History

This version
History Node


Download Files

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

Filename, Size & Hash SHA256 Hash Help File Type Python Version Upload Date
(27.0 kB) Copy SHA256 Hash SHA256
Source None Oct 19, 2016

Supported By

Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Google Google Cloud Servers