blog · git · desktop · images · contact & privacy · gopher


rtspeccy: Real time spectrum analyzer

Ich habe ein Programm gebraucht, das mir das, was ich ins Mikrofon sage, spreche, singe oder sonstwie per Schallwellen übermittle, sichtbar macht. Und zwar als Spektralanalyse.

Das Programm sollte sehr einfach sein und lediglich ALSA voraussetzen, da ich kein Musiker bin und auch sonstwie kein komplexes Audio-Setup habe, sodass ich wunderbar ohne Pulse-Audio oder JACK auskomme. Allerdings wollte ich nicht nur das aktuelle Spektrum sehen, sondern auch eine schöne „History“. Aus dem Momentanwert kann man nämlich manchmal nicht alles ablesen und Verläufe sind eben gar nicht sichtbar. Aus diesem Grund schied zum Beispiel sndpeek aus, das die History nur in Form aneinandergereihter Liniendiagramme darstellt, was sehr schlecht erkennbar ist.

Die meiste andere Software schied aber aus, weil sie zwar Spektrogramme wunderbar darstellen konnte, aber nicht in Echtzeit (Audacity zum Beispiel) – jedesmal erst eine Aufnahme anfertigen, wollte ich nicht.

Einige andere Software, die ansonsten geeignet wäre, schied aus, weil sie nur als Freeware erhältlich ist und nicht als Freie Software.

Letztenendes habe ich nichts geeignetes gefunden. Das nahm ich als Anlass, mal ein klein wenig in ALSA reinzuschnuppern. Herausgekommen ist nun rtspeccy:

Screenshot

Ich habe versucht, das Programm klein und einfach zu halten, weswegen die Konfiguration zum Beispiel über eine config.h abläuft. In Sachen ALSA bin ich noch nicht so erfahren und habe mich an diesem Artikel orientiert. Zur Spektralanalyse wird FFTW3 genutzt und die Darstellung erfolgt über OpenGL. Das Programm läuft wegen ALSA vermutlich nur unter GNU/Linux.

Mehr dazu hier auf der Projektseite im Repo. Das Dingens befindet sich noch leicht im Bau.

– Nachtrag vom 11.06.2011: Army hat ein PKGBUILD ins AUR gestellt. Vielen Dank dafür!