Skip to content
Alexander J Turner edited this page Jan 7, 2017 · 1 revision

Welcome to the SonicFieldRepo wiki!

Sonic Field started life as a audio mastering project. It has become a synthesis system but strictly not real time. With Sonic Field new and interesting sounds can be built up and new synthesis techniques developed.

Sonic field has mathematical and data management systems written in highly optimised Java. When I say highly optimised I am being quite serious; a lot of the areas where double arrays would normally be used have been replaced with off heap memory to avoid bounds checking etc (for example). The audio work itself is written in Jython which is Python 2.7. The Java audio interfaces are automatically added to the Python interpreter during startup.

Alongside the audio work Sonic Field has turned into a research project into Java memory management. To make it work on home computer grade hardware is has a sort of database/swap system built into it. Every time I start to push into new areas of synthesis I seem to end up having to advance this technology. It turns out the resource management, particularly memory, is one of the biggest challenges in audio work.

The other area of interest for Sonic Field is the work stealing parallel schedular. This is written in a mixture of Java and Python. Whilst it is rather complex and required a lot of work to get it efficient, using it is as simple as adding @sf_parallel as a decorator to a Python method.

I am not convinced that anyone else will ever be interested in working on Sonic Field and I am no longer attempting to maintane it as a 'release' type project. However, it has been around for 4 years now and I am still very actively working upon it. Should Sonic Field or any of its technology interest you, just ping me.

Clone this wiki locally