Мы используем стандартный метод записи звука в Unity:Unity - проверка микрофона, если немого
_sendingClip = Microphone.Start(_device, true, 10, 16000);
где _sendingClip
является AudioClip и _device
это имя устройства.
Я хотел бы знать, когда пользователь прекращает говорить, что может произойти через 2 секунды, или даже 10.
Я смотрел на различные источники, чтобы найти ответ, но не смог найти один:
- https://forum.unity3d.com/threads/check-current-microphone-input-volume.133501/
- http://answers.unity3d.com/questions/137170/how-to-check-if-the-user-speak-to-microphone.html (но этот более 5 лет уже)
- http://answers.unity3d.com/questions/1113690/microphone-input-in-unity-5x.html
Идея состоит в том, что когда пользователь перестает говорить, звук отправляется на сервер распознавания речи без задержки и без прерывания звука, когда пользователь все еще говорит.
Решения не обязательно должны быть в формате кода. Общее направление, где искать, было бы неплохо.
Ну, как мы узнаем, что пользователь перестает говорить?Вероятно, когда амплитуда волн опускается ниже определенного порогового значения. – bpgeck