March 10th, 2011
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.
Listen to the piano.mp3 to get an idea how it works.
October 28th, 2010
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]
Read the rest of this entry »