Ci-dessous un signal qui représente un enregistrement de quelqu'un qui parle. Je voudrais créer une série de signaux audio plus petits basés sur cela. L'idée est de détecter le début et la fin d'un son "important" et d'utiliser ceux-ci comme marqueurs pour créer un nouvel extrait de son. En d'autres termes, j'aimerais utiliser le silence comme indicateur du début ou de la fin d'un «morceau» audio et créer de nouveaux tampons audio en conséquence.
Ainsi, par exemple, si une personne s’enregistre en disant
Hi [some silence] My name is Bob [some silence] How are you?
alors je voudrais faire trois clips audio à partir de cela. Un qui dit Hi
, un qui dit My name is Bob
et un qui dit How are you?
.
Mon idée de départ est de parcourir le tampon audio en vérifiant en permanence les zones de faible amplitude. Peut-être que je pourrais le faire en prenant les dix premiers échantillons, en faisant la moyenne des valeurs et si le résultat est faible, étiquetez-le comme étant silencieux. Je procéderais dans le tampon en vérifiant les dix échantillons suivants. En procédant ainsi, je pouvais détecter le début et la fin des enveloppes.
Si quelqu'un a des conseils sur un bon moyen, mais simple , de le faire, ce serait formidable. Pour mes besoins, la solution peut être assez rudimentaire.
Je ne suis pas un professionnel chez DSP, mais je comprends certains concepts de base. De plus, je le ferais par programme, alors il serait préférable de parler d’algorithmes et d’échantillons numériques.
Merci pour votre aide!
EDIT 1
Super réponses jusqu'à présent! Je voulais juste préciser que ce n’est pas de l’audio en direct et que j’écrirai moi-même les algorithmes en C ou en Objective-C, de sorte que les solutions utilisant des bibliothèques ne sont pas vraiment une option.