Lead-In Redux

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.

Comments are closed.