Spektrogramme mit arecord, sox und ffmpeg/avconv erzeugen

Inhalt

Spektrogram erstellen (Bild)

Mit folgendem Befehl wird mittels Alsa (Device 2,0) ein WAV-File erstellt. In diesem Falle wird zusätzlich noch durch Sox gepiped was hier komplett unnötig ist jedoch könnte man bei Sox noch diverse Filter dranhängen um das resultierende test.wav zu verändern:

arecord -D hw:2,0 -r 32000 -f S16_LE -c 1 -t wav | sox -t wav -c 1 -L -b 16 -r 32000 - test.wav

Anhand der eben erstellten Datei test.wav wird nun ein Spektrogram erzeugt:

sox test.wav -n spectrogram -o image.png

Die Datei image.png sieht dann in etwa wie folgt aus (In diesem Falle ein einfaches Pfeifen)

content.org_20180225_093605_15135M7Y.png

Ähnliches kann auch mittels avconv erstellt werden:

avconv -i test.avi -lavfi showspectrumpic=s=hd480:legend=0,format=yuv420p out.png

avconv_spec.png

Spektrogram erstellen (Video)

Folgende Anweisung erstellt aus einem Video test.avi ein Spektrogram. Dieses wird als Video unter dem namen out.avi gespeichert.

avconv -i test.avi -filter_complex "[0:a]showspectrum=s=854x480:mode=combined:slide=scroll:saturation=0.2:scale=log,format=yuv420p[v]" -map "[v]" -map 0:a -b:v 700k -b:a 360k out.mp4

screenshot_20190101_095339.png

Statt avconv hätte auch ffmpeg verwendet werden können. Die Debian-Version unterstützt hier derzeit aber nicht alle Parameter.

Alternativen

Ein Spektrogram eines Video's kann auch mittels mplayer erstellt werden bzw. über die mplayer/sox Kombination.

Zuerst wird ein WAV-File mittels MPlayer erstellt:

mplayer test.mp4 -ao pcm:file=/dev/stdout -vo null > test.wav

Danach folgt die Erstellung des Spektrograms:

sox test.wav -n spectrogram -o test.png

Man kann die so erstellten Grafiken direkt vergleichen. Bei manchen (scheinbar identischen) WAV-Files kann dies schwierig werden.

Aus diesem Grund empfiehlt sich die Anzeige eines Spektrogram-Diff's.

Zuerst wird wird ein WAV-Diff erstellt:

sox -m -v 1 source1.wav -v -1 source2.wav diff.wav

Danach wird das Spektrogram-Diff erstellt:

sox diff.wav -n spectrogram -o diff.png


Dokumenten-ID: kb/ea634176-0b79-4f9f-8151-f473d2251c7c
Package downloaden