SoundSheets in Tonfall

I have uploaded a very rough demo of sound-sheets in Tonfall. The idea is to bring real instruments to Tonfall by using samples remaining a reasonable file size.
Usually you might think a single pitched sample can do the job, however pitching a sample one octave already means doubling the speed. It would sound very unnatural.
I decided to take 11 samples with a difference of 6 halftones (covering ~5 octaves). Hence the maximal speed difference (when the note is inside the provided range) is 25%. There is still space for improvements. The duration of each sample is fixed and needs to be small to respect the file-size. By looping a proper range of the samples after a certain attack duration, enough to maintain the characteristic of the instrument, it should reduce file-size again and sound better. However this will then implemented into Audiotool.

I’ve updated the DemoSuperMario to run SoundSheets. The synth is decoding MP3 in runtime. Samples are taking from Reason. Could be better…

Get Adobe Flash player

Listen to the piano.mp3 to get an idea how it works.

Phase Modulation

After having Tonfall released, I think it might be a good idea to go a bit deeper into some audio-dsp subjects. The easiest way to create a sound is by creating a wave out of an algorithm. You usually take a normalized variable between zero and one as the phase and pass it to a function. The phase itself must be incremented every sample by the following expression.

phase += frequency / samplingRate;
phase -= int( phase ); // [0,1]

amplitude = waveshaper( phase ); // [-1,+1]

Continue reading “Phase Modulation”