1
Finished Works and Works in Progress / Audio visualization
« on: August 13, 2013, 12:37:01 pm »
Hello there,
I've been venturing into area of procedural (scripted) animation recently. This time it's the idea that I've mentioned some time ago - audio visualization:
The procedure to extract frequency bands from the music is quite simple:
1. Get Audacity http://audacity.sourceforge.net/download/ + LADSPA plugins pack http://audacity.sourceforge.net/download/plugins , Wavosaur http://www.wavosaur.com/download.php , Notepad++ http://notepad-plus-plus.org/download/v6.4.5.html
2. Open your audio (preferably mono downmix or a single channel)
3. Filter -> GLAME Bandpass Filter with parameters: a, a/10, 10
where a = frequency of the required band (for example 2000, 200, 10)
3. Filter -> Amplify - sound should be as loud as possible but the best the value should be equal for all channels/passes
4. Filter -> Diode Processor filter with value 1
5. Filter -> Waveshaper (acts like an expander making quiter sounds more quiet and louder more loud and beats more 'visible') - 1.2-2.2 should be ok
6. Filter -> Comb Filter with: Band separation = 100-300 and high-ish feedback = 0.95-0.99 - this is the 'smoothnes' or 'slowness' of the curve following the beats
7. Save the file and open in Wavosaur
8. Process -> Resample - enter Frequency equal to FPS of your animation (better not to use fractional framerates), with Apply interpolation = linear or spline
9. File -> Export -> Text
10. Open in Notepad++
11. Record a macro for a single line where you add '"$arr.push(' at the start of line, ');"' at the and and move to the next line and beginning (use keyboard only)
12. Repeat until the end of the file
13. Copy to appropriate location in the *.an8 file
14. Repeat for other channels/frequencies bands to create more audio lists (if you wish/that's required) - it's better to repeat exactly all values entered and change only the ones from step 3.
A hint: 'The best frequencies lie at exponentical curve. i.e I've used 125, 250, 500, 1k, 2k, 4k, 8k (7,2k to be accurate as the filter didn't allow me to enter 8k)'
Have a look here for such frequency lists: http://sound.westhost.com/project63.htm
Currently I'm working on tool to automate the process of injecting the processed audio lists into appropriate morphs' locations in *.an8 file, so that you could just create the *.an8 template and audio lists and using graphical tool inject them automatically without need for manual text processing.
I've been venturing into area of procedural (scripted) animation recently. This time it's the idea that I've mentioned some time ago - audio visualization:
The procedure to extract frequency bands from the music is quite simple:
1. Get Audacity http://audacity.sourceforge.net/download/ + LADSPA plugins pack http://audacity.sourceforge.net/download/plugins , Wavosaur http://www.wavosaur.com/download.php , Notepad++ http://notepad-plus-plus.org/download/v6.4.5.html
2. Open your audio (preferably mono downmix or a single channel)
3. Filter -> GLAME Bandpass Filter with parameters: a, a/10, 10
where a = frequency of the required band (for example 2000, 200, 10)
3. Filter -> Amplify - sound should be as loud as possible but the best the value should be equal for all channels/passes
4. Filter -> Diode Processor filter with value 1
5. Filter -> Waveshaper (acts like an expander making quiter sounds more quiet and louder more loud and beats more 'visible') - 1.2-2.2 should be ok
6. Filter -> Comb Filter with: Band separation = 100-300 and high-ish feedback = 0.95-0.99 - this is the 'smoothnes' or 'slowness' of the curve following the beats
7. Save the file and open in Wavosaur
8. Process -> Resample - enter Frequency equal to FPS of your animation (better not to use fractional framerates), with Apply interpolation = linear or spline
9. File -> Export -> Text
10. Open in Notepad++
11. Record a macro for a single line where you add '"$arr.push(' at the start of line, ');"' at the and and move to the next line and beginning (use keyboard only)
12. Repeat until the end of the file
13. Copy to appropriate location in the *.an8 file
14. Repeat for other channels/frequencies bands to create more audio lists (if you wish/that's required) - it's better to repeat exactly all values entered and change only the ones from step 3.
A hint: 'The best frequencies lie at exponentical curve. i.e I've used 125, 250, 500, 1k, 2k, 4k, 8k (7,2k to be accurate as the filter didn't allow me to enter 8k)'
Have a look here for such frequency lists: http://sound.westhost.com/project63.htm
Currently I'm working on tool to automate the process of injecting the processed audio lists into appropriate morphs' locations in *.an8 file, so that you could just create the *.an8 template and audio lists and using graphical tool inject them automatically without need for manual text processing.