Di seguito è riportato un segnale che rappresenta una registrazione di qualcuno che parla. Vorrei creare una serie di segnali audio più piccoli basati su questo. L'idea è di rilevare quando il suono "importante" inizia e finisce e usare quelli per i marcatori per creare un nuovo frammento di audio. In altre parole, vorrei usare il silenzio come indicatore di quando un "blocco" audio è stato avviato o interrotto e creare nuovi buffer audio basati su questo.
Quindi, ad esempio, se una persona si registra dicendo
Hi [some silence] My name is Bob [some silence] How are you?
quindi vorrei fare tre clip audio da questo. Uno che dice Hi, uno che dice My name is Bobe uno che dice How are you?.
La mia idea iniziale è quella di passare attraverso il buffer audio controllando costantemente dove ci sono aree di bassa ampiezza. Forse potrei farlo prendendo i primi dieci campioni, calcolando la media dei valori e se il risultato è basso, etichettarlo come silenzioso. Procederei nel buffer controllando i successivi dieci campioni. Incrementando in questo modo ho potuto rilevare dove iniziano e si fermano le buste.
Se qualcuno ha qualche consiglio su un modo buono, ma semplice per farlo, sarebbe fantastico. Per i miei scopi la soluzione può essere abbastanza rudimentale.
Non sono un professionista in DSP, ma capisco alcuni concetti di base. Inoltre, lo farei a livello di codice, quindi sarebbe meglio parlare di algoritmi e campioni digitali.
Grazie per tutto l'aiuto!

MODIFICA 1
Grandi risposte finora! Volevo solo chiarire che questo non è sull'audio dal vivo e scriverò io stesso gli algoritmi in C o Objective-C, quindi tutte le soluzioni che usano le librerie non sono davvero un'opzione.
