Forum

FFT hang up

just starting with VVVV and am interested in music synchronization and beat detection.

I had everything working quite well with the “FFT4Channels” module as described in in “SYFENX’s AUDIO TO MIDI PATCH”.

Then while looking further into the FFT4channels, I opened this module directly by double clicking on it. It opened OK, but I could not close it. VVVV froze up at the stage of asking Save etc. I could not close it with Task Manager Process or Application or shut down. I had to power off.

Now nothing works with FFT at all including the standard “FFT”, even with a basic patch. I am using “AudioIn” as input to it and I can get sound out of FileStream and AudioOut OK. But the FFT shows no output and buffer size of zero. When I try to close a patch, it locks up and the same shutdown problem occurs.

Everything else seems OK, just the FFT. I am using XP with Service pack 2 and DirectX 9. It was working OK and it still works fine on a second but older computer.

I have run “UnInstall” and removed VVVV and then restarted it with the same problems.

I have run out of ideas to get it going again. Can anyone help with this…

basically if vvvv crashes this is usually due to driver issues.

some more simple questions:
did you set Enabled on the AudioIn to 1?
Which drivers can you select on the AudioIn pin?
do you have any nonstandard sound cards installed?

to further debug this topic:
*please create a Renderer (TTY)
*Create a AudioIn
*Create a FFT
*connect the two nodes
*and copypaste the text from the Renderer (TTY) here, so that we can take a look at it.

Hello oschatz,

AudioIn was enabled (1)
Drivers were Cmedia audio rear panel (inbuilt sound card)

The machine hung up several more times and I tried removing VVVV completely, by uninstalling, removing all the files and reboot. Then unzip the files again and re-run VVVV. All worked fine until I opened a patch with the FFT4Channels in it. The pins showed disconnected. Then I realised I had not copied over the FFT4Channels to the modules folder, so I did that. Still no action. Then it froze on exit again.

A close call with a smashed keyboard later I set about re-loading Windows XP and SP2. Blue screen of death of course…

So now I am reloading from scratch on a new hard drive which will be temporary to back up all my files. I will see if I get the same problem again before cleaning off the original drive and starting again with that.

I will say that it was all working OK until I examined the FFT4Channels patch - while the other one was running. It seemed that a conflict occurred and could not be repaired.

It seems to me that VVVV has corrupted something or else something has been retained in the registry or elsewhere. I don’t think it is drivers because it was running fine before the event. Is there any initialization data saved by VVVV?

I would like to get to the bottom of the cause but need to get a working computer first.

I have a fresh Windows XP installation running. All drivers installed OK and audio output is fine.

Now VVVV does not freeze on shutdown but the FFT still has problems. If I copy Synfex’s FFT4Channels into the modules folder it does not show up in the selection menu.

The standard FFT works, showing the buffersperframe output, but shows all zeroes in the FFT slice outputs.

F1 help on the FFT shows up but does not work.

I made a simple patch with AudioIn and FFT and the TTY renderer. Audio is enabled. Here is the renderer text when it is opened from the root. Two errors show up.

00:05:40 : Adding samplegrabber and null renderer
00:05:40 : Adding node to filtergraph: FFT (DShow9)
00:05:40 : FFT (DShow9).Audio --> SampleGrabber.Input
00:05:40 : Connecting from: AudioIn (DShow9).Audio to: FFT
(DShow9).Audio
00:05:40 * : nil pins can not be connected in directshow graph
00:05:40 : getting output of SampleGrabber
00:05:40 : Getting input of NullRenderer
00:05:40 ERR : There is no common media type between these pins.
00:05:40 ERR : The operation cannot be performed because the pins are not connected.
00:05:40 : Adding node to filtergraph: AudioIn (DShow9)
00:05:40 : AudioIn (DShow9).Audio --> HD Audio digital in.Capture
00:05:40 : Connecting from: AudioIn (DShow9).Audio to: FFT
(DShow9).Audio
00:05:40 : ds connect from: Capture to: Input
00:05:40 : getting output of SampleGrabber
00:05:40 : Getting input of NullRenderer
00:05:40 : Removing node: SampleGrabber from filtergraph
00:05:40 : Removing node: HD Audio digital in from filtergraph
00:05:40 : Adding node to filtergraph: AudioIn (DShow9)
00:05:40 : AudioIn (DShow9).Audio --> HD Audio digital in.Capture
00:05:40 : Adding node to filtergraph: FFT (DShow9)
00:05:40 : Connecting from: AudioIn (DShow9).Audio to: FFT
(DShow9).Audio
00:05:40 : ds connect from: Capture to: Input
00:05:40 : getting output of SampleGrabber
00:05:40 : Getting input of NullRenderer

It appears that something has been carried over from the previous installation. I had been playing with io.dll and once saw a message that this could not be found. I put the dll in the bin folder and the message did not appear, but I have not seen it since even though I have removed the dll. How do I clean off the installation completely?

I hope that helps solve this. Let me know any other tests.

It seems to me that VVVV has corrupted something or else
something has been retained in the registry or elsewhere.
I don’t think it is drivers because it was running fine before
the event. Is there any initialization data saved by VVVV?

vvvv is designed to be extremley careful with writing things to the registry. it installs no dlls anywhere except in the supplied bin folder. the only things vvvv does is registering its default filetype and registering some of the supplied components.

even with the most bizarre problems we never needed to reinstall windows after using vvvv.

i still think its a driver issue and it might be related to some “features” or “enhancements” in your driver. audio enhancements, crashing psychoacoustic processors in the drivers, wrong surround routings, buggy autodetection of audio inputs, high definition audio etc.
are you sure everything is disabled?

Which drivers can you select on the AudioIn pin?

why did you need to mess around with io.dll?

has the beta12 release the same problems?

I understand what you are saying about the complexities of the sound settings and I think the sound driver is the prime suspect. But I had everything set standard as far as I knew and was not changing the settings when the problem came up.

This is a peculiar problem because everything was working fine with the Cmedia drivers that were installed. I had complex beat detection working along with 3D mesh morphing all at once without any problems until I was examining the “FFT4Channels” module. Then everything fell apart. After that the FFT node would not work and the lock up on quit problem came up. No amount of re-installation fixed it so in desperation I set up a clean machine on a new hard drive. But the problem remains and I suspected some settings were saved and carried over from the backed up files. I still can’t work out why this is happening when it did not before.

However, I think I am close to a workaround for the problem.

I have confirmed that it will lock up on close only if AudioIn is enabled at the time, even if AudioIn is the only thing there.

I can avoid lock up by using a Microsoft driver “UAA Function Driver for High Definition Audio - Cmedia 9880”. The FFT works, but AudioIn only allows Inputs to be selected i.e. microphone and digital in. FFT buffer size shows as 1024 but the slice output is only noise.

Here is the output when F1 is pressed for FFT.

00:01:35 * : patch C:\data\VVVV\vvvv_33beta11.1\help\FFT (DShow9) help.v4p has been marked as changed because of convertions (from http://vvvv.org/versions/vvvv33alpha9.0.dtd to 33beta11.1).
you will be asked for OVERWRITING your patch with the updated version…
00:01:35 : Adding samplegrabber and null renderer
00:01:35 : Adding node to filtergraph: FFT (DShow9)
00:01:35 : FFT (DShow9).Audio --> SampleGrabber.Input
00:01:35 : Connecting from: AudioIn (DShow9).Audio to: FFT (DShow9).Audio
00:01:35 * : nil pins can not be connected in directshow graph
00:01:35 : getting output of SampleGrabber
00:01:35 : Getting input of NullRenderer
00:01:35 ERR : There is no common media type between these pins.
00:01:35 ERR : The operation cannot be performed because the pins are not connected.
00:01:35 : Adding node to filtergraph: AudioIn (DShow9)
00:01:35 : AudioIn (DShow9).Audio --> C-Media Rear Panel Audio.Capture
00:01:35 : Connecting from: AudioIn (DShow9).Audio to: FFT (DShow9).Audio
00:01:35 : ds connect from: Capture to: Input
00:01:35 : getting output of SampleGrabber
00:01:35 : Getting input of NullRenderer
00:01:35 : Removing node: SampleGrabber from filtergraph
00:01:35 : Removing node: C-Media Rear Panel Audio from filtergraph
00:01:35 : Adding node to filtergraph: AudioIn (DShow9)
00:01:35 : AudioIn (DShow9).Audio --> C-Media Rear Panel Audio.Capture
00:01:35 : Adding node to filtergraph: FFT (DShow9)
00:01:35 : Connecting from: AudioIn (DShow9).Audio to: FFT (DShow9).Audio
00:01:35 : ds connect from: Capture to: Input
00:01:35 : getting output of SampleGrabber
00:01:35 : Getting input of NullRenderer

It appears that VVVV can only find the audio inputs of the driver. How do I select the sound card output instead of the input? It does not show up in the list of AudioIn. These are :

HD Audio front mic
HD Audio digital in
HD Audio rear input

I tried version 9.0 as hinted in the error message but the same problems occur. I tried version 12 with the same symptoms (noise only) but FFT now shows 2 channels which is much better.

I downloaded the latest Cmedia 9880 drivers. Same problem as before - no FFT output with buffer size of 0 and lock up on quit. But at least the Cmedia rear panel audio apperas in the AudioIn list. Also if I try to disconnect the AudioIn to FFT pin link, it locks up with an hourglass cursor and cannot be closed with Task Manager.

I am stuck with this and will have to give up if I can’t solve it.

Regarding your question on io.dll. I was using io.dll from “Geek Hideout” to control a parallel port relay board. I had used it before in my own code with success and VVVV worked first try, no problems. I can see reference to io.dll if I open up a basic patch without the root (no I/O is in the patch). Here is the first part of the output.

Everything you know is wrong
physical : in use= 22, total = 1048044 kb, avail = 813336 kb
virtual : in use= 2, total = 2097024 kb, avail = 2055316 kb
paging : in use= 6, total = 2521288 kb, avail = 2377084 kb

00:00:00 - : Hid (Human Interface Devices) DeviceController - OnDeviceChange
00:00:00 * : Direct3D initialized.
00:00:00 - : enumerating game devices
00:00:00 ERR : io.dll not found
00:00:00 : Adding samplegrabber and null renderer
00:00:00 : Adding node to filtergraph: FFT (DShow9)
00:00:00 : FFT (DShow9).Audio --> SampleGrabber.Input
00:00:00 : Connecting from: AudioIn (DShow9).Audio to: FFT (DShow9).Audio
00:00:00 * : nil pins can not be connected in directshow graph
00:00:00 : getting output of SampleGrabber
00:00:00 : Getting input of NullRenderer
00:00:00 ERR : There is no common media type between these pins.
00:00:00 ERR : The operation cannot be performed because the pins are not connected.
00:00:00 * : couldn’t find/create node (ID: 1) in patch root.v4p ////. deleting action.

If I put io.dll in the bin folder the message goes away. Perhaps this is a generic message, but I suspected that some settings had been saved after I had used io.dll before, so this might be a clue to getting a clean installation, which is why I asked.

what are the input pin settings of your AudioIn node? are there mode than two with defferent settings?

i guess there is a samplerate, bitrate, or buffersize selected that is incompatible with your card.

the routing with the new sourround cards are a mess, for example my laptop has no StereoMix input anymore… you have to check some settings in the driver control panel, maybe you find something.

did you try to swith your record input with AudioRecordSelector?

Thanks Tonfilm.

AudioIn with the Cmedia driver gave me an option for “Cmedia rear panel output” which allowed me to grab the sound card output as an input. The Microsoft driver only shows inputs and does not give me the option for sound card itself as an input. I tried AudioRecordSelector but it doesn’t help.

I haven’t discovered whether I can change the sample rate or bit rate. I have looked through the sound card controls but there is nothing much I can change to get it down to basics. I suspect there is permanent sound processing going on.

The problem was definitely with AudioIn and the Cmedia driver. I have run out of ideas to find out how it worked originally.

Anyway I have a solution now. With the Microsoft driver I can’t get the internal sound card to drive the FFT but I have worked around this by modifying the FFT4Channels module to take a FileStream input and connecting it directly to the FFT. I use another FileStream in parallel connected to an AudioOut to hear what is playing.

I can also use the Cmedia driver with this arrangement as long as I avoid AudioIn, but then I have no inputs available.

So I can get on with the learning curve now with your fantastic program.

All the best to you for Christmas.