Нижче - сигнал, який представляє запис того, хто говорить. Я б хотів створити на основі цього ряд менших аудіосигналів. Ідея полягає в тому, щоб визначити, коли починається і закінчується важливий звук, і використовувати їх для маркерів для створення нового фрагмента звуку. Іншими словами, я хотів би використовувати тишу в якості індикаторів, коли аудіо "шматок" починається або зупиняється, і створювати нові звукові буфери на основі цього.
Так, наприклад, якщо людина записує себе, що говорить
Hi [some silence] My name is Bob [some silence] How are you?
то я хотів би зробити з цього три аудіокліпи. Той, що каже Hi
, той, що говорить, My name is Bob
і той, що говорить How are you?
.
Моя початкова ідея - пробігти аудіо буфер, постійно перевіряючи, де є області низької амплітуди. Можливо, я міг би зробити це, взявши перші десять зразків, середні значення, і якщо результат низький, то позначте його як мовчазний. Я продовжував би вниз по буфері, перевіряючи наступні десять зразків. Збільшуючись таким чином, я міг виявити, де конверти починаються та зупиняються.
Якщо хтось має поради щодо хорошого, але простого способу зробити це, було б чудово. Для моїх цілей рішення може бути досить рудиментарним.
Я не фахівець в DSP, але розумію деякі основні поняття. Також я б це робив програмно, тому було б найкраще поговорити про алгоритми та цифрові зразки.
Дякую за всю допомогу!
ЗРІД 1
Чудові відгуки поки що! Просто хотів уточнити, що це не в прямому ефірі, і я сам буду писати алгоритми на C або Objective-C, тому будь-які рішення, які використовують бібліотеки, насправді не є варіантом.