Mastodon

fnordlicht vu meter

Last time, I showed you my new fnordlicht’s. Today, I’ve a little gift for you: I’ve written a small c program to control the lights according to the current peak level.

The software analyses the audio signal of my system (Ubuntu 10.10 with pulseaudio). So you can dance to everything that can play audio.. 😀

Update: As preparation for a exam, I added a discrete fourier analysis (DFT). Unfortunatly the serial bus is to slow to visualize the audio spectrogram in real time 🙁 The bars are colored with their complex phase->hue (HSV) aquivalent.

The software uses and is distributed together with my fnlib (fnordlicht library) available under: http://web.git.0l.de/libfn.git

Some technical details (in german):

Ich benutze PulseAudio um mich in die Soundkarte des Systems einzuklingen. Das Programm tarnt sich als Recording-Tool. Und kann dadurch den kompletten Audio-Output oder nur bestimmte Programme visualisieren. Sogar das Mikrofon kann ich benutzen :p

PulseAudio liefert mir einen einfachen PCM Stream (44,1kHz Samplingrate, Mono & 16-Bit signed Integers). Derzeit addiere ich immer nur x Werte dieses Bytestreams und mittele diese Summe dann über einen kurzen Zeitraum.

Geplant ist noch eine FFT-Analyse um  die Amplituden verschiedener Frequenzen gemäß der „Ohrkurve“, der Empfindlichkeit des menschlichen Gehörs, gewichten zu können. Der Schritt zur Spektraldarstellung (jedes meiner 10 fnordlichter als VU-Meter für ein bestimmtes Frequenzband) ist dann hoffentlich auch nicht mehr so weit.

Ohrkurve

Hints (for me)