1. Curved computeSpectrum() , vectors drawn on Bitmap with blur filter applied.


Example here, click to change the gradient colors, and blend modes.

2. Basic computeSpectrum() , fillRect() on Bitmap with blur filter applied.


Example here (click on it to apply Fourier transformation )

Sources available here

Comments (24)

  1. Goach wrote:

    hehehe, j\’inaugure les commentaires !!! i\’m the first one !

    Wednesday, June 21, 2006 at 7:33 pm #
  2. dehats wrote:

    Can’t wait to get my hands on this!


    Friday, June 30, 2006 at 7:29 pm #
  3. Code! Gimme! hehe.

    Sunday, September 24, 2006 at 10:35 pm #
  4. Dakular wrote:

    Nice work!

    Tuesday, October 10, 2006 at 10:41 am #
  5. pascal wrote:

    Nice but, is there a chance to have a source exemple ?!

    Sunday, November 19, 2006 at 3:00 pm #
  6. thibault.imbert wrote:


    sources have been posted :)

    Wednesday, December 20, 2006 at 1:21 pm #
  7. Boris wrote:

    You make my transit to AS3 so more interesting and less painfull ;)

    Thursday, December 21, 2006 at 10:00 am #
  8. Nice work,
    they look very good.
    Thanx for sharing.

    Saturday, December 23, 2006 at 5:28 pm #
  9. akme wrote:

    I got this thing trying to watch http://www.bytearray.org/wp-content/uploads/2006/11/spectrums2/bezier

    SecurityError: Error #2121: Security sandbox violation: SoundMixer.computeSpectrum: http://www.bytearray.org/wp-content/uploads/2006/11/spectrums2/bezier/01.swf cannot access . This may be worked around by calling Security.allowDomain.
    at flash.media::SoundMixer$/computeSpectrum()
    at asfiles.spectrums::SmoothSpectrum/asfiles.spectrums:SmoothSpectrum::updatePoints()

    Friday, January 5, 2007 at 12:09 pm #
  10. thibault.imbert wrote:

    hi akme,

    this is strange, let me check it :)

    Friday, January 5, 2007 at 12:42 pm #
  11. Lorenz wrote:

    hey thibault,

    this question may seem very dumb for you and others…

    but what kind of data are used to draw the different states of such an equalizer???

    I just don’t get it…I thought it isn’t possible to make an “real” equalizer in flash, because you can’t access all the data embedded in the sound file etc.?!?

    Saturday, January 6, 2007 at 1:14 am #
  12. thibault.imbert wrote:

    hi Lorenz,

    to draw an equalizer what you need is to loop through a bytearray containing the sound spectrum, if you call SoundMixer.computeSpectrum() you will get that bytearray, which is 2048 bytes long, containing 512 float values (4 bytes)
    then you read those values with the ByteArray.readFloat() method.

    Then draw with some bitmap methods the lines or squares to represent the spectrum.


    Saturday, January 6, 2007 at 1:48 pm #
  13. maya wrote:

    great stuff, thanx again for sharing the sources

    Sunday, January 14, 2007 at 2:52 pm #
  14. 2Lorenz : Was impossible until AS3 ;)

    Monday, April 30, 2007 at 11:20 am #
  15. Roland wrote:

    great example ofcourse, but:
    whats the song thats playing in the upper example? its so lovely…
    michelle petrucciani? (no…)
    help me!

    Sunday, November 18, 2007 at 12:47 am #
  16. seb wrote:

    Merci, merci, merci!!
    Très cool, et trop sympa de nous filler les sources!
    Continue comme ça!

    Tuesday, November 20, 2007 at 12:01 pm #
  17. Inder wrote:

    Great work Thibault … Keep it continue..:)

    Thanks for sharing resources…

    Thursday, January 31, 2008 at 6:36 pm #
  18. Adam. wrote:

    Hear that? It’s my little mind blowing…

    That’s just spectacular Thibault. It’s going directly into a project now…

    Thursday, March 27, 2008 at 7:02 am #
  19. Matt wrote:

    Merci, superbe script !!
    J’ai une question, comment ne pas avoir un fond de couleur généré (ici du noir) par ce script mais uniquement les barettes ?
    je souhaiterais pouvoir l’inclure au dessus d’une image et donc que le fond soit transparent, peux tu m’éclairer ?
    Merci encore !

    Sunday, April 27, 2008 at 10:55 am #
  20. snipx wrote:

    Hello Thibault,

    It’s a great job that you done. And It’s really helpful to give the sources. Big up to you ;)

    I have just a question : why the compiler makes an error when we try to compile in strict mode ? (Flash say he attempt to have a DisplayObject instead of BasicSpectrum type, as if flash don’t recognize the type of BasicSpectrum).

    Thanks you

    Monday, September 8, 2008 at 7:49 pm #
  21. Thibault Imbert wrote:

    Hi snipx,

    Download the new sources, I have updated and optimized all the code. It should compile with no problems in strict mode now and run faster :)



    Saturday, September 13, 2008 at 12:58 pm #
  22. Thibault Imbert wrote:

    For information, the track playing is from a French Jazz/Funk group from the 70′s called Cortex.

    More infos here :




    Monday, September 15, 2008 at 1:23 am #
  23. jose wrote:

    salut thibault et merci pour ces superbes spectrums, j’ai juste un soucis. dans le cas ou j’ouvre une auyte fenetre internet et que je navigue un peu trop haut sur la fenetre le son sature a en faire peter les vitres :) as tu une solution


    Monday, December 8, 2008 at 6:15 pm #
  24. umzug wrote:

    wow supper demo

    Sunday, March 27, 2011 at 6:26 pm #

Trackbacks/Pingbacks (4)

  1. Flex Music Player 2.0 | tarasnovak.com on Thursday, January 15, 2009 at 9:59 pm

    [...] – Alternative Smooth Spectrum Visualization created by Thibault Imbert [...]

  2. Flex Music Player v.2 | tarasnovak.com on Thursday, January 15, 2009 at 11:09 pm

    [...] -Alternative SmoothSpectrum visualization created by Thibault Imbert [...]

  3. product page - StartTags.com on Friday, January 29, 2010 at 10:10 am

    [...] iPhone Software. Our apps are CoverSutra for Mac OS X and Groceries and Tipulator for the iPhone.Equalizers <font size='1'>[ by Thibault Imbert ]</font …[ 1. Curved computeSpectrum() , vectors drawn on Bitmap with blur … Example here, click to change [...]

  4. Sound Visualization and Flash « OhNit on Friday, March 26, 2010 at 1:21 am

    [...] ByteArray.org Equalizers: http://www.bytearray.org/?p=9 [...]