Question

J'attache à faire la détection de silence dans les fichiers audio AIFF. Je préfère le faire en Python, mais je considère que d'autres options si cela est super inefficace. Les fichiers non compressés je traite devraient être 20 Mo (taille maximum).

Je peux comprendre les rudiments de traitement du signal, mais ne suis pas un expert en elle.

Était-ce utile?

La solution

Vous avez de la chance! La bibliothèque aifc semble en faire assez pour soutenir la résolution de votre problème.

Autres conseils

Langue-agnostique pseudo-code:

  • pour chaque fenêtre de temps (par exemple 10 ms)
    • calculate Puissance RMS dans la fenêtre de temps
    • silence = Puissance RMS

Pour calculer Puissance RMS:

  • sum_sq = 0
  • pour chaque échantillon dans la fenêtre N de l'échantillon
    • sum_sq + = échantillon ^ 2
  • RMS = sqrt (sum_sq / N)

Vous voulez probablement ajouter une autre couche de détection, par exemple décider que le silence = M fenêtres silencieuses consécutives, où M détermine combien de temps a besoin de silence pour être avant qu'il compte comme un silence réel.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top