Saturday, March 5, 2011

An update on Sythe

Sythe (the working title for my work-in-progress Android synthesiser) has taken a few more steps toward release with the re-writing of the audio engine and an updated UI design:

The "Pad" is used to generate the sounds - horizontal axis for frequency, vertical axis for sine/saw wave mix.

The other areas control the effects applied to the generated sound.

The sound is still the same as before with the exception of the AM LFO actually being time-correct.

I've decided to go ultra-minimal on the UI again, for two reasons. Firstly, the performance of the whole system very important and too much UI will lead to too much latency in the audio. Secondly, the input method is inspired by the look of the Korg Kaossilator which uses a big black square pad for input.

The pre-release TODOs are:
  • Save/Restore of configuration
  • Support for multiple audio output formats/rates
  • A few more LFOs to modulate the harmonics and "fatness"
  • A preferences screen for changing the colours and min/max "Pad" frequencies. 
For those interested in how it works, Sythe is essentially a wavetable synthesiser. When a touch event is registered, Sythe renders a single cycle of the mixed sine and saw waves, then applies effects to that rendered cycle. The AM LFO works by modifying the Android AudioTrack's volume hundreds of times a second following a sine wave shape.