Audio analysis (FFT etc) of audio file

I normally use soundflower to route the audio from any audio playing app into QC and use the standard audio in to do frequency analysis and then do audio-reactive stuff in QC, but in view of the talks going on at it would be great to have frequency analysis on a Kineme Audio File Input patch as well - so we can load an mp3 and do a bunch of audio reactive stuff on it with frequency info etc. Maybe this already is possible somehow, but I dont know...

gtoledo3's picture
I remember that this has

I remember that this has come up somehow before and that Chris stated that he would be working on this for another edition of Audio Tools.

This thing on Soundflower is interesting. We need to to do a whole other thread on QC related apps...

But, I want to mention that I have been using the audio tools plug to achieve "frequency" dependent stuff in a kind of different way. I have been experimenting with loading the discrete tracks from a mix, and assigning them to effect individual parameters. That way, you can load a cymbal track, for example, and have just the peak volume of the crashes, or hi-hat, distort a given image.

When you sync this back to a mix, it is cool because you will have just the vocal manipulating one element, a guitar strum another...etecetera. Not quite the same as frequency analysis at all, but it produces a similar effect to what I have been wanting to get out of frequency analysis.

This will sound CRAZY, but in addition to the frequency analysis, having a lo-pass, hi-pass, and a parametric mid adjustment would be interesting on the audio loader.... though I guess what I am after with that could be achieved with frequency analysis, structure tools and math patches. I am thinking of being able to load am audio file, and easily slope off lows so that kick drum or bass volume peaks would be ignored. Mids adjustment would be to tweak vocal reactivity. Highs.... hmmm... cymbals, guitar string squeak and sibilance of vocals.

toneburst's picture
Nothing to add to the discussion

...but good to see you here Memo! :D

Actually, a way of recording the output of an FFT analysis of an audio track and playing that analysis file back in Quartz Crystal so it could drive animation would be really cool. I guess this could de done with the stock Audio input plugin and the recorder gadget mentioned in another thread. I remember someone did something similar in VVVV, but they actually wrote a the FFT level info to a load of individual timestamped text files, one for each frame, then read them back in during the offline render.


mfreakz's picture
Sequencer Patch !

QC can't store values easily. For many exemples of projects, recording (real time or edited sequences) could be a major tool. For shure Memo project could be done with a sequencer ! Just translate Audio variation into numeric values (or index, strings, booleans...) and then record those values with the Sequencer Patch ! Your comp will play those variations with the sequencer in full synchro. You can expect then to render your Loud/rich compositions with sounds in Quartz Crystal ! If you plan doing music stuff, interactive roll over value recordings, video editing/interacting... Vote for Sequencer Patch !

I don't proselytizing, just think about the actual Timeline is buggy and obsolete, and think about the difficulty to store/records things in QC... It's a real hole in this software...

psonice's picture
sequencer/value historian

What you're describing there doesn't sound like a sequencer at all - it sounds more like the 'value historian' patch that was discussed somewhere.

Value historian would record various values over time (mouse input, audio level data etc.) and allow you to replay that data later. A sequencer would be more like the timeline patch, where you can edit a timeline, but perhaps more advanced in some way (perhaps including recording functionality).

Of course, the two patches together would cover everything :)

toneburst's picture
You're right psonice. I'd

You're right psonice. I'd envisage being able to record user actions, or the output of QC patches like the audio-analysis one in realtime, then have some kind of display of the recorded information, so it could be edited in a similar way to the controller lanes in the Reason sequencer, for example. I imagine doing this would be a major task though, since you'd have to work out a way of displaying the information recorded, and design and code a set editing of tools.

Initially, I'd settle for just being able to record, with maybe the option of 'overdubbing' if I screwed up, and to have the recorded information savable in a format that could be used for an offline render in Quartz Crystal.


psonice's picture
History structures?

This makes me think: If there was a 'value historian' patch recording values with timestamps, and a 'sequencer' patch playing back values at certain times and having the ability to load/save sequences or record.. the two go together anyway. I'd envisage something like this:

The value historian patch must have two modes (or perhaps multiple patches to do the same): record and playback. It has to store (and presumably save to disk) the data. It does that by creating a standard QC structure, with a specific format (at least timestamp, value for each member).

The sequencer would be much like the timelines patch, but stable and with a few differences. It'd have looped playback options, and a 'structure input' of some kind for each timeline (assuming it has more than one). You could connect the playback output of the historian patch into there - that would give you save/loading options, recording + playback, plus the option of messing with the structure values before passing it in for flexibility.

Sorry if that's been discussed here already somewhere, I've not been following the discussion too closely (been too busy :/ ) and it just came to mind.

mfreakz's picture
The missing QC's Fonction: Recording (data and more...)

Imagine if the Timeline Patch had a Virtual input, a Record/play/pause/reset booleans inputs, it's a Sequencer. In my purpose Editing is the same as Timeline Patch. It's a kind of Upgrade... for Save/load option we could have an input and an output for File Tools Patches... Anyway, i just hope a "Value Historian" or Sequencer Patch, as you want. Have a lot to this topic:

It's a good place to develop the "Data recording Patch" as well... May be we are ALL talking about the same thing...

cwright's picture

We've completed this, and are prepping for release shortly (AudioTools 0.5 beta)

mfreakz's picture
Great !

MAGIC WORLD ! It could be really really great for many projects ! I looking for update hour by hour now...