asFFT Xtra FAQ

Last revised April 2007

The asFFT Xtra is an Director and Shockwave Xtra that analyses sound input into frequency bands. It is used in a variety of applications online and offline. You may be coming from such an application if you have a problem with this application hearing sound.

 

Listening to sound output

Selecting the sound input source

Reading CD with WindowsMediaPlayer

Known problems for version 1.3

Known problems for version 2.0.xx

Error when playing twice on Director MX2004

Conflict with AudioXtra

Problems with Realtek sound cards

 

_______Listening to sound output

Is there a way to use the asFFT on an audio file (WAV or AIFF) instead of the live sound input? This is a VERY often asked feature. Unfortunately, this is not possible, because the Director sound output buffers are not accessible at runtime.
On Macintosh, the only solution is to physically wire the output of your computer to the input ("Line").
On PC, most recent sound cards have a special input setting (called "What U Hear" or "All"), which, when set, does the wiring *inside* the sound card, so this is a very usable solution. To find this setting, look in the recording panel of your PC sound mixer (see above).

_______Selecting the sound input source

Since version 2.0, you can select the sound input source with lingo. It may still be of interest to select it from the standard user interface. So here we go :


Macintosh
You can select the input source from the standard "Sound" Control panel or "Monitor and Sound" control panel.
You can also select it from the "Settings Bar".

Windows 95/98/Me/2000/XP
The sound input device selection is done in the Settings Panel, using the "Sound" tool. In the "Audio" tab, select the audio device that you wish in the pulldown list.
The sound input source selection is done in the "Recording Volume Control" window:
Find the "Volume Control" application (under Start->Programs->Accessories->Entertainment). Select the Options->Properties menu, and then select the "Recording" button and hit OK. You now have the "Recording Volume Control" window.
In this window, select the input source that you wish the asFFT to hear (CD for CD audio, line for the line input, etc..). Note that the "All", "Mix" or "What U Hear" source corresponds to the sound produced by the computer itself.
Also check that the input volume is close to the top.

_______Reading CD with WindowsMediaPlayer

On Windows, the DirectSoundInput APIs on which the asFFT is built is *not* compatible with applications that do not use this API, like WinAmp or WindowsMediaPlayer (!). This means that when such an application is running, the asFFT cannot access the CD for sound input : when WindowsMediaPlayer is playing a CD, the asFFT cannot function on the sound produced by the CD. This is very unfortunate and all hints as how to overcome this problem are welcome.

Workaround : use another CD playing application, like an old Windows CD application, or an application using MCI commands.
You can also use the "Mix" or "What You hear" or "All" sound input source of your sound card if it exists : this source actually corresponds to the sound *produced* by the card, which magically includes the CD sound.

_______Known problems for version 1.3

 

— Error Sound Manager version < 3.1 on Windows

If this happens on Macintosh, sorry, your Mac is too old.

On Windows : the "Sound Manager version < 3.1" error is thrown if the Xtra cannot initialize the input sound buffer (8bits, Mono, 44.1KHz). In this case, the asFFT Xtra does not hear any sound. This happens on recent sound cards that only deliver 16bit sound streams. SInce 2002, most PCs, especially laptops on Windows XP, come with such cards.

Workaround : fixed in version 2.0

 

— No sound or crash on micless Macintosh G4 w/USB sound

On the G4 Macintosh server that has no built-in microphone, if one plugs an external USB sound card input, the asFFT either fails to recognize the sound input, or plainly crashes.

Workaround : fixed in version 2.0

 

— DV Sound input in Macintosh

On Macintosh, the DV sound input is not recognized, and the Xtra cannot be initialized and does not hear any sound.

Workaround : fixed in version 2.0

 

— Memory leak

When left running for a very long time (about 24 hours depending on the amount of memory of your system), the application eventually crashes. This is because of a very small memory leak in the Xtra, that ends up using all the system memory.

Workaround : fixed in version 2.0

_______Known problems for version 2.0.xx

Totalrecorder : the asFFT is NOT compatible with the TotalRecorder software. This software is bogus (for example, it hangs when you change source using the standard Windows Mixer). The asFFT will returns values of 0. Windows only.

SoundBlaster 16 : on some old SoundBlaster16 cards, the asFFT may not be able to select a source, thus resulting in values of 0. If you have this problem, please email us for a fixed version. Windows only.

Avance ASL4000: the asFFT is NOT compatible with the Avance ASL4000 sound chip, found on very few old sound cards. It returns values of 0. Windows only.

iSight: the asFFT is NOT compatible with the iSight camera's microphone. It just does not recognize the microphone because it does not play the soundmanager game (strange idea from Apple), which the asFFT plays. There is not known workaround. Mac only.

bluetooth headsets: the asFFT is NOT compatible with bluetooth headsets. The headsets appear in the sound sources list, but the asFFT cannot connect to it and gives a "Insufficient hardware available" error. There is not known workaround. Seen on Macintosh. Windows : status unknown.

_______Error when playing twice on Director MX2004

Problem : Under certain circumstances, and only in Director MX 2004, the second time an asFFT Xtra instance is created, it generates a fatal error and crashes. This happens on Macintosh and Windows. This happens for example when starting a movie that uses the asFFT Xtra *for the second time* (start, stop, restart, in authoring mode for example). The error is a fatal error and director quits.

Cause : Since the introduction of Javascript in Director MX, the memory management uses garbage collection to cleanup unused memory objects. This means that these objects are really destroyed from memory only at a certain point in the future after the moment where they are not in use any more (no lingo variable reference them and their internal reference count is 0). They are not destroyed rightaway like in previous versions of Director. This means that Xtra instances that do critical cleanup in their destroy method do not have the opportunity to do it any more right away, and this may cause a problem when reinitializing the Xtra again before this cleanup has been done. This is the case for the asFFT Xtra. This problem is known to Macromedia and will be fixed in later releases of Director. In the meantime, one should use the following workaround.

Workaround: The _system.gc() method should be called. This is a JavaScript undocumented Director method. To call it from your lingo handler you should create a global JavaScript function, in its own script, that calls the gc() method and call this JavaScript function from your lingo :

// global JavaScript function for cleanup

function jsGC() {

   _system.gc()

}

 

-- your lingo function that deletes the Xtra

on closeMyXtra

   gFFT = VOID

   jsGC()

end

This problem and this workaround is only for DirectorMX2004.

Here is an example .dir file which implements this solution.

_______Conflict with AudioXtra

There is a conflict between the asFFT Xtra and AudioXtra from tabuleiro. One some systems, when both these Xtras are used, strange things may happen, including crashes and failures. Seen on Windows and Macintosh.

Here is what one user found out :

Under Windows 2000, AudioXtra 4 and 5 does not work if asFFT is loaded.

Under Windows XP, everything works beautifully, and I'm quite happy with the outcome. The only thing I have to remember is destroy the asFFT instance after every recording and then create it again before the next one--otherwise, the last second or so of the recording is never saved.

Under OSX, if asFFT Xtra is loaded, and calls are made periodically to obtain the amplitude, the recordings that Audio Xtra makes sound as if they are played at 75% speed: slow and at lower frequencies. This happens in authoring as well as projector.

There is no known workaround except what this user states.

_______Problems with Realtek sound cards

On some configuration with RealTek sound card, the asFFT Xtra may return errors when starting up or when changing device or source. Usuall, this boils down to the Xtra finding '0 sources' on the sound card.

This happens on Windows.

Cause : some RealTek drivers do not implement well the Windows Mixer/DirectX APIs.

Workaround : update to the latest drivers of your RealTek sound cards. This usually fixes the problem.
Latest drivers may be found here : http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1&PNid=14&PFid=23&Level=4&Conn=3&DownTypeID=3&GetDown=false