FMSynth.py is a module which implements basic real-time polyphonic FM synthesis in Python.
Python is one of the most popular programming languages currently used, but is most commonly used for data analytics and web applications, not audio.
FMSynth.py has the following features:
- Controllable by MIDI. Note that this is very CPU-intensive;
- Configurable polyphony;
- AD envelope (no sustain yet); and
- Dispatches MIDI IN events like NOTE_ON and NOTE_OFF events to the synthesizer.
You can preview an example of how FMSynth.py sounds above.
FMSynth.py is available via Github.