как создать аудиобуфер для доступа к микрофонному входу несколько секунд назад

Я пытаюсь создать функцию распознавания голоса, которую можно активировать горячим словом. Я нашел этот пакет Snowboy, который может создать прослушиватель горячих слов, который может слушать все время и запускать определенную задачу при активации.

Моя проблема, мне нужно запустить функцию голосовой аутентификации при обнаружении горячего слова. Предположим, мое горячее слово - "привет", а входная потребность для моей голосовой аутентификации - "привет, пожалуйста, откройте дверь". но если я начинаю запись после того, как обнаружено ключевое слово, мне нужно повторить слово "привет". как я могу получить полную запись "Привет, пожалуйста, откройте дверь", не повторяя ее.

есть ли способ, которым Snowboy может вывести короткий звуковой файл "привет", который он использовал для активации, если да, то я могу просто объединить их.

Если теперь я могу создать аудиобуфер, который будет все время хранить последние 10 секунд данных микрофона, не сильно влияя на процессор. в то же время это необходимость делить микрофон со снеговиком.

это моя идея, но я не знаю, как это реализовать. Скажите, пожалуйста, как я могу сделать то или иное, как я могу получить полную запись.

смело редактируйте вопрос это какое-то место не понятно.

благодарю вас!!

1 ответ

Да. При обнаружении Snowboy по умолчанию проигрывает волновой файл "ding", находящийся в папке ресурсов. Вы можете отредактировать функцию snowboydecoder.HotwordDetector для воспроизведения другого звукового файла вместо ding (вам может потребоваться приблизительное понимание языка, на котором он скомпилирован). Вы можете скачать специальный волновой файл для воспроизведения здесь или использовать различные списки бесплатных TTS API в Интернете для создания настраиваемого сообщения с "роботизированным звуком", сохраненного на вашем компьютере. При необходимости я дам подробные объяснения

Другие вопросы по тегам