hYPerSonic

News - Dec 05 2003

Just recently worked out how to call back into the python interpreter from the portaudio (v18) callback. This is primarily for OSX (and windows?) where the mutex performance was unacceptable. Unfortunately this callback style (so far) breaks all existing code (which is based on a main loop in python).

About
Dependancies

This is a python/c framework for building and manipulating sound processing pipelines. It is designed for real-time control. It includes objects for oscillators, filters, file-io, soundcard and memory operations. It is low-level: every byte counts. Currently works on Linux and OSX.

Using
Dependancies

This should be considered an alpha release; error handling is rather braindead at the moment.
Preferences are stored in the file ~/.hypersonicrc . It is python code to be executed.

Tutorial
Dependancies

A brief tutorial covering the essentials of the python API:
tutorial.py

Reference
Dependancies

This lists all the hypersonic classes.
Sonic

Plugins
Dependancies

Writing your own plugins. Coming soon.

Downloads
Dependancies

Here it is.
hypersonic-1.2.0.tar.gz
hypersonic-1.0.2.tar.gz
This is a binary for MacOSX 10.2.
hypersonic-1.0.1.bin.OSX.tar.gz

Dependancies
Dependancies

python2.2
debian: python-dev (rpm: python-devel)
To compile on OSX you will need the developer tools.

Todo
Dependancies

Better integration with python (via pyrex), raise exceptions.
More documentation. Document c API, architecture.
Release more scripts (there are many).
Port to windows.
Mailing list, CVS.
Interface with libsndfile, Open Sound Control, LADSPA, libfftw, numarray.

Feedback
Dependancies

I'd like to know how you go with this, especially if you get stuck send me an email. simon@arrowtheory.com

History
Dependancies

Work on this version began late in 2001. It was initially intended to be a robust sound engine for a game prototype Axis Runner, but it quickly grew out of control.
I have used this code for real-time performance and also studio-time compositions.
The core has barely changed in the last 12 months; it works, it's tough.

Music
Dependancies

Here are two excerpts from work I have done using this software.

The River (introduction)(945K)
This is from an improvisation. I used the Linear task, acoustic feedback with DspRdWr, /dev/midi from a keyboard and a simple (230 line) looping script. All on a P133.

Happy (introduction)(819K)
This was improvised on an acoustic piano, and then I used fast fourier transform (libfftw, not implemented currently) to choose and create extra Sin wave tones. It was part of an experiment into algorithms to recognize pitch and melody.



Copyright (C) Simon Burton 2002, 2003.

Last update: Sat Dec 27 23:11:01 EST 2003


Mail comments, suggestions, to : simon@arrowtheory.com