2017-02-08 2 views
-1

Je travaille sur un programme qui prend un fichier wav de 30 minutes et l'analyse pour divers événements. J'ai un tas de fichiers wav de 30 minutes d'un événement sportif et j'essayais d'automatiser un moyen de trouver l'heure à laquelle certains événements se produisent.Analyse de fichier wav audio Python

Par exemple, voici l'événement que je souhaite essayer d'identifier: - Lorsqu'un but ou un événement se produit, il y aura du bruit et des acclamations de la foule. Je veux retourner les moments où ces événements se produisent. - Ou quand un coup de sifflet - également être en mesure d'identifier un silence complet pendant une longue période de temps serait utile

Je joue avec la représentation graphique de la FFT de ces échantillons audio et sont venus à la conclusion que cette ne me donne pas le meilleur aperçu de ces événements. Quel serait le meilleur processus pour y parvenir?

Des instructions seraient grandement appréciées.

Merci

+1

Bienvenue sur SO! Ce type de question semble un peu ouvert et peut ne pas être le mieux adapté ici. Pour obtenir de meilleurs commentaires, il est utile que vous formiez votre question comme suit: «Voici un code de choses que j'ai essayé, mais voici où il se casse: Comment puis-je résoudre ce problème? – slizb

Répondre

1

en espérant que les étapes suivantes peuvent vous aider.

  1. Lire fichier WAV:

    Reading *.wav files in Python

    Python Wave byte data

  2. Detect le son:

    Detect and record a sound with python

    Detect tap with pyaudio from live mic

    Python record audio on detected sound

  3. Déterminée le premier point de anormale morceau son comme:

    sample_rate = 44100 
    wav_file_duration = 30*60 #in sec. 
    first_abnormal_point_index = 20000 
    

    alors le début du son est:

    onset = first_abnormal_point_index/sample_rate * wav_file_duration 
    

Ou vous pouvez également utiliser d'autres paquets python pour ce faire, tels que Modal ou aubio.