Handling sound in Flash is restricted to setting the volume and panning. We want to create sound and music applications using the Flash platform but as for now the platform restricts our possibilities in many ways.

For all the other Adobe nerds: What do you need to make audio applications that rock? Contact us! info@make-some-noise.info

For Adobe, here is the list of things we wish for our work to be outstanding:

  • Writing sound bytes (amplitudes) continuously to an existing sound object.
    With the current sound capabilities its impossible to broadcast generated or modified audio to a given output. We need to use hacks or other environments (like java) to achive that. This doesn’t only mean we have to be aware of a ton of wicked things to reach the target, but more important is the fact that we loose lot of performance and/or rely to another environment to be necessary for the work.
  • High resolution timer
    For audio processing its important to have a timer that is as exact as possible and capable to process code within very short time distances. With the current situation we face the problem that the timing isn’t really exact enough for decent applications.
  • Access to the microphones amplitudes
    Right now the microphone input is life-encoded with the Nellymoser Codec. This means its impossible for us to record any input in a reasonable quality for audio processing using the flash API.
  • Multi-Threading
    Audio processing requires a lot of performance itself. But if we continue to create applications with a rich user interface we will end with only few processor cycles spared. Any heavy operation in the ui will stop the audio stream from working which is a crucial problem if we ever want to have serious output. The optimum would be to have it at the language level, so we could just require threads using regular code. But we would be satisfied if each .swf would get a seperate thread to work at, within browsers.
  • Lossy audio codec -Vorbis Codex
    In some situations we need to send or recieve audio files. The MP3 codec is outdated and of questionable quality. We would need the implementation of a proper audio codec like the Vorbis codec which is open-source (no licence costs) and produces better results.
  • Lossless audio codec - Flac support
    Recorded music from any device should be raw (as mentioned earlier). To send it to the server its important to have a codec that allows to send raw audio data in a compressed way to reduce the upload time and create faster expiriences.
  • Midi controls IO
    The input device is extremly important for creating music. Midi IO (which has been standardized) would allow to integrate the music devices into our applications.
  • Native FFT (Fast Fourier Transform) in both directions
    FFT would provide us a shortcut to the current frequency domain of sound. We could analyse and modify the spectrum of a discreet time segment. We already implemented it in AS3, but we think a native approach would be much faster. FFT is also very important for image processing.
  • Native random seed
    The current Math.random solution in Flash is not predictable. Well, you may think that random should act like this, but in many cases you like to get the same sequence of pseudo random numbers everytime you start the flash application. It is also great for game-development (predictable, but random-like behavior) and image-processing as well. A seed parameter would alter the sequence.


10 Responses to “Wishlist”

  1. 1 bram

    Don’t forget:

    * some way to load a compressed file (mp3 or ogg) and then decompress it to raw bytes inside the client, at native speed. (with ogg this should be very easy)

    * ogg is a superior format: decoding ogg allows you to have perfect loops (mp3 does NOT support this as it includes some silence at the end of the file after decoding)

  2. 2 Glen Pike

    Some simple filters built in would be nice too - a bit like MovieClip filters - just create a new Flanger and add it to the array of filters. Instant results to encourage people to start playing.

  3. 3 trioptic

    amen, I agree 100%

    A midi object with full EVENT support would be ideal.

  4. 4 Ron Watkins

    I am making a program to sell as a download on net. When I publish an air application file how can I encrypt or protect my flash files.( .swf) ? Because when I publish a air file and install it on a computer in the program file on the computer I can access the .swf file.

    Thanks Ron

  5. 5 Doug Gray

    A faster timer and/or multi threaded processing is essential to be able to properly visualize the audio spectrum.

    A detailed description of the frequencies when using ComputeSpectrum would be nice. At the moment i divide 20,000Hz by 256 to get 78.125Hz per iteration so the byte array value 0 covers the range 0-78.125, 1 is 78.125-156.25, 2 is 156.25-234.375 etc up to around 20,000Hz. I have no idea if this is correct or if the FFT range is more or less than what i’m using as Adobe don’t present any useful information that i have seen to help me. Also why is the bass end of the spectrum so heavily biased? If this is correct what needs to be done to equalize the display? Come on Adobe who ever coded the ComputeSpectrum method must know the answer so why not publish to help us all.

    Midi would be a great addition.

  6. 6 Friso Horstman

    There should be a function to create a ComputeSpectrum out of a Video object, for now it only works with the sound object! There should be a way to make this possible, right..?

    The reason why i’m asking/saying is because im building a streaming aac player for a dutch music station, only this equalizer function i wanted to implent seems to be impossible!

    Greetings from Holland!

  7. 7 Stephen Hodde

    On a simple note….

    -Sound volume variables expressed in decibels

    -Debugging db meter to check if sound is clipping 0dbfs before it hits the native digital-to-analog converter

  8. 8 Cato Paus

    WE need to vote again :) https://bugs.adobe.com/jira/browse/FP-247

    I realy hope we can have USB communication in AIR and Flash Player :)

    I can imagine many different type of applications which can communicate
    with different devices connected over USB, atleast my phone (over
    bluetooth or cable)…

    It would be great if AIR and Flash player can have USB API for those
    things, so that we (developers) are not forced to write socket-servers
    and take care of installation etc..

  1. 1 Blog von Jens Franke » MAKE SOME NOISE
  2. 2 Socks, Dregs and Bacon Roll » Blog Archive » Adobe - Make some noise

Leave a Reply