elaborazione del segnale per il file audio in python
Domanda
sto legando a fare il rilevamento silenzio in file AIFF audio non compressi. Io preferisco farlo in Python, ma considererei altre opzioni, se questo è super inefficiente. I file non compressi mi occupo dovrebbero essere 20 MB (dimensione massima).
posso capire basi di elaborazione del segnale, ma non sono un esperto in esso.
Soluzione
Sei fortunato! Il aifc biblioteca sembra fare abbastanza per sostenere la risoluzione del problema.
Altri suggerimenti
pseudo codice indipendente dal linguaggio:
- per ogni intervallo di tempo (ad esempio 10 ms)
- calcolare RMS di potenza nella finestra di tempo
- silenzio = RMS di potenza
Per calcolare Potenza RMS:
- sum_sq = 0
- per ogni campione in una finestra del campione N
- sum_sq + = campione ^ 2
- RMS = sqrt (sum_sq / N)
Probabilmente anche voler aggiungere un ulteriore strato di rilevazione, ad esempio, decidere che il silenzio = M finestre silenti consecutivi, dove M determina per quanto tempo un silenzio deve essere prima che conta come un silenzio vero e proprio.