2 Stimmen

Ton/Stille in einer wav-Datei

Ich bin auf der Suche nach einem Dienstprogramm/Code, der erkennt und mir mitteilt, ob meine 1-minütige wav-Datei Ton enthält oder nicht? Auf andere Weise, wenn es die Dauer der Stille (wenn vorhanden) an einer beliebigen Position in der wav-Datei zu erkennen, das wäre auch Server den Zweck.

Unterstützt SOX einen entsprechenden Befehl? Ich habe es mit Java versucht, aber im JMF nichts gefunden.

Gracias

Vivek

0voto

bzlm Punkte 9436

SoX hat die Fähigkeit a trimmen Schweigen, aber ich bin mir nicht sicher, ob Ihnen das hilft:

silence [-l] above-periods [duration threshold[d|%] [Unter-Perioden Dauer Schwelle[d|%]]

Entfernt Stille am Anfang, in der Mitte oder am Ende des Tons. Die "Stille" wird durch einen festgelegten Schwellenwert bestimmt.

0voto

Francisco Soto Punkte 10131

Sie können Ihren Wave-Dateiprozessor ganz einfach schreiben, es ist ein einfacher Header und dann nur einfache Daten. Du kannst leicht die Samplegröße herausfinden, 8 oder 16 Bits, und dann die Datei Sample für Sample lesen, wenn du eine Sequenz von Samples mit dem Wert 0 findest, hast du Stille. Messen Sie, wie viele Samples 0 sind, und verwenden Sie die Abtastrate (ebenfalls im Header), um die Dauer zu berechnen.

0voto

kent Punkte 5725

Audacity tut dies und ist OpenSourced auf sourceforge.net, so dass Sie in der Lage sein sollten, den gesamten Beispielcode, den Sie benötigen, zu erhalten.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X