Signalverarbeitung für Audiodatei in Python
Frage
Ich binde an die Stillekennung in unkomprimierten AIFF -Audio -Dateien. Ich bevorzuge es in Python, würde aber andere Optionen in Betracht ziehen, wenn dies super ineffizient ist. Die unkomprimierten Dateien, mit denen ich mich befasse, werden voraussichtlich 20 MB (maximale Größe) betragen.
Ich kann die Grundlagen der Signalverarbeitung verstehen, bin aber kein Experte darin.
Lösung
Du hast Glück! Das AIFC Die Bibliothek scheint genug zu tun, um die Lösung Ihres Problems zu unterstützen.
Andere Tipps
Sprach-agnostischer Pseudocode:
- Für jedes Zeitfenster (zB 10 ms)
- Berechnen Sie die RMS -Leistung in Zeitfenster
- Stille = RMS -Leistung <Stilleschwelle
Um RMS -Leistung zu berechnen:
- sum_sq = 0
- Für jede Probe im N -Beispielfenster
- SUM_SQ += Sample^2
- RMS Power = SQRT (SUM_SQ / N)
Sie möchten wahrscheinlich auch eine weitere Erkennungsschicht hinzufügen, z. B. entscheiden Sie, dass Stille = M aufeinanderfolgende stille Fenster, wobei m bestimmt, wie lange eine Stille sein muss, bevor es als tatsächliche Stille zählt.