음성 활동 이벤트는 스트림 전체에서 음성 시작 또는 종료가 감지된 시점을 나타냅니다. 이벤트는 Speech-to-Text에서 감지하면 실시간으로 전송됩니다. 음성 활동 이벤트는 사용자가 말하기를 시작하거나 끝낼 때를 자동으로 감지하는 애플리케이션을 개발하는 데 유용할 수 있습니다. 음성 활동에 따라 스트림을 자동으로 닫도록 Speech-to-Text를 구성할 수도 있습니다.
음성 활동 이벤트는 StreamingRecognize gRPC 요청에만 사용할 수 있습니다.
음성 활동 이벤트 사용 설정
streaming_features
메시지에서 enable_voice_activity_events
플래그를 true로 설정하여 음성 활동 응답 수신을 사용 설정할 수 있습니다.
음성 활동 이벤트 유형
음성 활동 이벤트는 Speech-to-Text가 스트림 중에 음성 시작 또는 중지를 감지하면 일반적으로 실시간으로 반환됩니다. 일반적으로 해당 음성 세그먼트의 스크립트 작성 결과 전에 반환됩니다. 빈 텍스트 변환 결과를 생성하는 오디오의 음성 활동 이벤트를 전송할 수 있습니다.
음성 활동 시작
Speech-to-Text에서 음성이 시작된 것을 감지하면 전송됩니다.
{ "speechEventType": "SPEECH_ACTIVITY_BEGIN", "speechEventOffset": "1.070s" }
음성 활동 종료
Speech-to-Text에서 음성이 종료되었음을 감지하면 전송됩니다.
{ "speechEventType": "SPEECH_ACTIVITY_END", "speechEventOffset": "1.070s" }
SPEECH_ACTIVITY_END
이벤트가 전송되지 않습니다.
음성 활동 제한 시간 사용 설정
streaming_features
의 voice_activity_timeout
메시지에 값을 설정하여 음성 활동 제한 시간을 사용 설정할 수 있습니다. 음성 활동 제한 시간은 500밀리초보다 길고 60초 미만이어야 합니다. 음성 시작 및 종료 제한 시간은 별도로 설정할 수 있습니다.
음성 시작 제한 시간
음성 시작 제한 시간이 설정된 경우 제한 시간 전에 음성이 시작되지 않으면 Speech-to-Text가 스트림을 자동으로 닫습니다. SPEECH_ACTIVITY_START
이벤트가 감지되어 반환되면 스트림이 진행되는 동안 제한 시간이 취소됩니다. 이 기능은 사용자가 주어진 시간 내에 말하기 시작할 것으로 기대되는 애플리케이션에 유용합니다.
음성 종료 제한 시간
음성 종료 제한 시간이 설정되면 SPEECH_ACTIVITY_END
이벤트 후 제한 시간 내에 음성이 더 이상 감지되지 않으면 Speech-to-Text가 스트림을 자동으로 닫습니다. SPEECH_ACTIVITY_START
이벤트가 감지되어 반환되면 제한 시간이 취소되고 SPEECH_ACTIVITY_END
이벤트가 전송되면 다시 시작됩니다.
제한 시간에 대한 시간 측정
경과 시간은 서버 시간과 달리 Speech-to-Text 요청으로 전송된 오디오 바이트로 측정됩니다. 이를 통해 스트림 전송의 변동 중에 정확성을 유지할 수 있습니다. 매우 큰 오디오 청크를 요청으로 전송하거나 매우 빠르게 연속적으로 요청을 보내면 제한 시간 측정의 정확성이 떨어집니다. 참고: 오디오 청크의 크기 제한은 요청당 15,360바이트입니다.