2016-07-22 3 views
3

Ich habe eine Audio-Datei, die ich mit lesen [TABREAD ~]). Das Audio beginnt mit etwas Stille und ich versuche den ersten nicht stummen Sample-Index zu finden.Erkennen ersten nicht stillen Probe Index

Ich habe versucht, zu verwenden [Bonk ~], [fiddle ~] oder [sigmund ~], aber die Ergebnisse waren annähernd und Konstanten.

Hat jemand eine Lösung für dieses? Vielen Dank.

Pascal

enter image description here

Antwort

1

ich bereits beantwortet diese Frage in der Pure Data forum, aber ich bin Kopieren es hier (leicht angepasst) für den Fall, jemand anderen finden es nützlich:

Wenn der Ton völlig geräuschlos bis zu dem Punkt, den Sie markiert (das heißt, ist die Tabelle mit Nullen bis zu diesem Punkt gefüllt), dann können Sie einfach die Array-Elemente gehen durch [TABREAD] Verwendung bei der ersten Probe starten und prüfen, ob der absolute Wert der nachträgliche Eine davon ist größer als Null. Wenn das Signal nicht vollständig still, aber in der Nähe leise, dann werden Sie können entweder eine Art Angriffserkennung (wie [Bonk ~]) oder einfach so etwas wie folgt verwenden:

... 
| 
[tabread array1] 
| 
{abs] 
| 
[> 0.001] 
| 
[sel 1] 
| 
... 

Hinweis, wie ich verwendet [> 0,001] anstelle von [> 0]. Passen diese Nummer (entweder direkt als Argument oder über den am weitesten rechts liegenden Einlaß [>]), um die Empfindlichkeit der Detektion zu steuern. Dann einmal [sel 1] einen Schwimmer Wert empfängt 1, können Sie den Knall, den Prozess zu stoppen, da Sie Ihr erstes nicht-silent Element gefunden.

+1

Danke Gilberto. Nach der gleichen Technik wie Ihre, es funktioniert. Groß! –

+1

@ André großartig, dass Sie eine Lösung gefunden haben; Der richtige Weg, "Danke" an [so] zu sagen, besteht darin, * die Antwort zu akzeptieren (anstatt einen Kommentar zu hinterlassen). –

+0

Ok, fertig. Vielen Dank(). –