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.
Filed under: audio dsp
10 Responses to “SoundSheets in Tonfall”
bob smith Says:
March 10th, 2011 at 10:53 pm
Awesome stuff…been looking at injecting fluid synth via alchemy but this approach might do just as well..
March 11th, 2011 at 8:43 am
That’s cool, love the Mario theme. :)
I’ve been thinking about using a single sample (like an A4) and pitch/timeshift it, but I think your approach keeps the quality of the sound without having to use dozens of samples. Very efficient.
Btw, the piano.mp3 link is broken.
Lawrie Cape Says:
March 11th, 2011 at 4:36 pm
Great stuff. As far as I know, this is how Sound Fonts work too – http://en.wikipedia.org/wiki/SoundFont
March 12th, 2011 at 7:25 am
Thanks for Tonfall very much. I see it to be a very useful stuff.
But I have a question.
If I want to change loaded sound (just Sound object) with effects I should extract samples, make signalBuffer and process it, do I? Does any standard method exist in Tonfall?
March 14th, 2011 at 6:13 pm
Jason G Says:
May 27th, 2011 at 9:41 pm
Looking through your code I’m trying to figure out how you deciphered the values for the notes in the MP3 (piano). and I have some questions.
Why did you use the numbers you did in creatFrequenceyTable()?
Same for getNearestKeyIndexByNote( note: int ), what is the significance of the numbers used in that function?
Do you think it might be possible to go a little more in depth with this?
June 23rd, 2011 at 6:24 pm
Hi Andre, great work with Tonfall, I been playing with it lately and found this update, but the file DemoSuperMario is missing, can we get it please?
kepce kulak Says:
July 2nd, 2011 at 9:11 am
reat stuff. As far as I know, this is how Sound Fonts work too –
September 27th, 2011 at 3:37 pm
Ha! The strings sound really cool (they all sound good, but the strings..have a certain fullness to them)
ubru bey Says:
September 30th, 2011 at 5:34 am
Nice:), you may want to do a demo for the starter like step by step guides to learn how to play a musical instrument.