Tonfall – Open Source Audio Framework

October 12th, 2010

Tonfall is an opensource audio framework for Actionscript I have written for the Audio Code Clash Workshop at Flash on the beach to provide an entry point for the attendees on that subject.

Tonfall is not meant to be a fully implemented audio engine but you may learn a lot about signal processing and sequencing in common. It covers most questions I am receiving by email and is not that far away from the audio engine we use in Audiotool.

Features

  • Holding a list of processors and time information
  • SignalProcessor for audio generation taking TimeEvents (like notes) into account
  • Design Pattern to process polyphonic audio generation (e.g. synthesizer)
  • Static Delay as a template for other effects
  • Note to frequency mapping
  • WavFile Encoder
  • Samples of the Casio RZ1 drumcomputer
  • AmenBreak sample
  • Super Mario playing Sequencer
  • Fully launchable Metronome (Hello World of Audio DSP)
  • Simple implementation of ToneMatrix

Tonfall is built with FDT 4.0, which I highly recommended. I checked-in the project files as well to let you compile right away.

I also highly recommend to check out Justin Windle's AS3 Particle Node Sequencer, which is based on Tonfall and a very nice implementation of what you can do with it. Thanks again Justin!

Filed under: actionscript, conference

20 Responses to “Tonfall – Open Source Audio Framework”

  1. Tweets that mention Andre Michelle » Blog Archive » Tonfall – Open Source Audio Framework -- Topsy.com Says:
    October 12th, 2010 at 11:27 am

    [...] This post was mentioned on Twitter by Andre Michelle, Jean-Philippe SARDA, Sandro Ducceschi, Kelvin Luck, Kim Lynge and others. Kim Lynge said: RT @andremichelle: Blogpost on Tonfall (OpenSource Audio Engine) > http://tinyurl.com/tonfallpost [...]

  2. Og2t Says:
    October 12th, 2010 at 11:34 am

    Thanks for releasing this Andre. Do you think it would be possible to use Tonfall to do some simple live DSP audio processing (using microphone/line input)?

  3. Grandpa Wen Says:
    October 12th, 2010 at 3:48 pm

    @Og2t: You mean doing something as cool as this? http://labs.sonoport.com/discovox/

  4. Ricardo Says:
    October 12th, 2010 at 4:00 pm

    Any chance of a “get started” tutorial ?

  5. Andre Michelle Says:
    October 12th, 2010 at 4:57 pm

    @Og2t: Go for it. I would add it to Tonfall.

    @Ricardo: Check out the examples. They should open the door. No time for a step by step tutorial, I am afraid.

  6. Karl Heinz Says:
    October 12th, 2010 at 7:36 pm

    Is this engine useful for audio-visualisation, too? Or is it just for generation?

  7. Nils Says:
    October 13th, 2010 at 1:02 am

    Thank you very much :)

  8. alijaya Says:
    October 14th, 2010 at 9:21 am

    it will be nice if i can get the getting started tutorial :D

  9. Andreas Says:
    October 15th, 2010 at 3:44 pm

    Thanks for sharing!
    I would love some examples on sample playing too.

    Check out this ARP-O-MATIC, made with Tonfall: http://plan8.se/work/the-arp-o-matic/

  10. PIA Blog / Productivity by Design » Notre revue de presse (22/10/2010) Says:
    October 22nd, 2010 at 12:12 pm

    [...] expérimentation en Flash, sonore et interactive. Cette dernière utilise le moteur open-source Tonfall, d’Andre Michelle. Consulter l’article  TechnologiesFlash Builder et la [...]

  11. Morten Says:
    October 28th, 2010 at 8:22 pm

    This looks really interesting, but I can’t seem to find any way of downloading this form the google code page..
    Is it just me, or are there no downloads on the page? Seems a bit un-handy to download all the .as files one by one :)

  12. Andre Michelle Says:
    October 28th, 2010 at 8:25 pm

    It is just you ;)

    Download a SVN-Client of your choice and checkout the project.

  13. Morten Says:
    October 28th, 2010 at 10:12 pm

    Ok, figured it out – thanks!
    SVN-Clients look very smart :)

    I would still like just a package to download from the “download” tab in google code – but that’s just me;)

  14. Ljudprogrammering | OskVarg.se Says:
    November 11th, 2010 at 4:35 pm

    [...] Han ju tydligen Yoda när det kommer till ljudprogrammering i AS3. Jag laddade hem hans framework Tonfall och försökte förstå mig på det. Eller, försökte och försökte, jag rotade runt lite och [...]

  15. links for 2010-11-17 at adam hoyle presents suckmypixel Says:
    November 17th, 2010 at 2:20 pm

    [...] Andre Michelle » Blog Archive » Tonfall – Open Source Audio Framework Blog article from Andre Michelle introducing Tonfall (tags: audio as3 framework flash sound library actionscript code tonfall) [...]

  16. jmp909 Says:
    November 19th, 2010 at 2:32 pm

    FL909 was great. I hope you can show us a drum machine example with tonfall this time. can’t work out how to implement a sample processor :(

  17. 【見た聞いた】FITC Tokyo 2010, Andre Michelle「拍動性クラックル」Pulsatile Crackle | イナヅマtvログ Says:
    December 6th, 2010 at 9:12 am

    [...] Tonfall – Open Source Audio Framework October 12th, 2010 [...]

  18. ActionScript Community | Pearltrees Says:
    March 17th, 2012 at 3:57 am

    [...] Andre Michelle » Blog Archive » Tonfall – Open Source Audio Framework Tonfall is an opensource audio framework for Actionscript I have written for the Audio Code Clash Workshop at Flash on the beach to provide an entry point for the attendees on that subject. Tonfall is not meant to be a fully implemented audio engine but you may learn a lot about signal processing and sequencing in common. It covers most questions I am receiving by email and is not that far away from the audio engine we use in Audiotool . October 12th, 2010 Features [...]

  19. George West Says:
    April 17th, 2012 at 12:35 am

    Hey,
    I am trying to compose a 5 minute piece of computer music for my college class and was interested in using Tonfall for the project. I was wondering if there was a guide or tutorial to get me started with learning and practicing with the framework. Thanks for the help.

  20. Boc la Rocha Says:
    November 2nd, 2012 at 8:15 am

    Hi,

    Would you like to give me one example of how to use your WavEncoder to encode a byte array ? I found your DemoAudioEncoder.as in demo folder but I can not use it to encode my byte array. In this example, you only encode generated amplitudes.

    My situation is like this :
    - I use Microphone to record voice.
    - I save recorded voice to a bytes array.
    Now I want to encode that bytes array.

    Thank you so much in advance.