Per command line Audio Peaks erkennen

D

dieter69

Gast
Hey.

Ich suche im Moment nach einer Möglichkeit Audio Peaks aus einem Soundfile per command line zu erkennen und entsprechend einen Timestamp zurückzuliefern. Laut stackexchange ist sox in der Lage mir die Lautstärke aufzuschreiben was ja theoretisch auslesbar wäre.
Allerdings weiß ich nicht genau wie ich dann per Script einen Peak erkennen sollte, denn ein Peak hält ja eine unbekannte Länge an und einfach die 10 höchsten Werte zu nehmen geht nicht da sie einfach im höchsten Peak liegen würden.
Und ich weiß beim besten Willen nicht wie ich eine solche Kurvendiskussion führen soll.

Gleichermaßen bin ich erstaunt dass avconv und ffmpeg (zumindest nach meiner Recherche) eine solche Funktion nicht anbieten. Eigentlich dachte ich das würde bei jedem Normalize vorgang sowieso ermittelt werden.

tpaibtxb.png


hmm..
 

powerfx

Admiral
Dabei seit
Apr. 2009
Beiträge
9.351
Zitat von dieter69:
Eigentlich dachte ich das würde bei jedem Normalize vorgang sowieso ermittelt werden.
Da wird nur der höchste Wert gefunden und das gesamte Signal entsprechend skaliert.

Was sind die roten vertikalen Linien? Das, was gefunden werden soll? Wieso sind sie dann so unterschiedlich positioniert? Du kannst natürlich selbst einen Grenzwert definieren, über dem du alles als ein positives Signal betrachtest und dann entweder den Anfang (das wäre quasi leichter mit einfacher Hysterese) oder die mittlere Zeit zu finden. Du könntest es auch mit Kreuzkorrelation oder Standardabweichung versuchen. Octave würde sich im Prinzip gut eignen, weil viele hilfreiche Funktionen schon dabei sind. Es ließe sich auch über ein Terminal ausführen.
 
Top