음성 활동 이벤트 및 제한 시간

음성 활동 이벤트는 스트림 전체에서 음성 시작 또는 끝이 감지된 시점을 나타냅니다. 이벤트는 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_featuresvoice_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바이트입니다.