I had three goals in mind in getting the first working Python Slipmat prototype, Lead-In, up and running:
- Use pure Python, with no external modules.
- Getting Python to behave like a real audio langauge.
- Mold the syntax to feel like a real audio language.
I would say it’s a success on all three fronts, with plenty of room to grow.
However, there are some major issues. The biggest being that it’s slow; Amazingly slow. This was expected, as Python itself is an interpreted language, and not a DSP power house like C/C++. On my modern iMac, slipmat_lead-in.py took 1 minute and 19.681 seconds to render. I bet Csound would do a comparable job, in 1996.
So one of my first goals of the upcoming redesign is to make it just fast enough until a proper C/C++ engine can be written. I’m looking into NumPy/SciPy.
I’m also looking into Audiolab, “a python package to make noise with numpy arrays,” written David Cournapeau. This is, more or less, a Python wrapper module for Erik de Castro Lopo’s excellent libsndfile; I was already planning on using libsndfile, anyhow.