권장사항

이 문서에는 Media Translation API에 음성 데이터를 제공하는 방법에 대한 권장사항이 포함되어 있습니다. 이 가이드라인은 서비스의 응답 시간을 합리적으로 개선하고 효율성과 정확성을 높이기 위해 마련되었습니다. 서비스에 전송되는 데이터가 이 문서에 설명된 매개변수 내에 있을 때 Media Translation API를 가장 효율적으로 사용할 수 있습니다.

최적의 결과를 얻는 방법 가능하면 피해야 할 사항
16,000Hz 이상의 샘플링 레이트로 오디오를 캡처합니다. 그 외의 경우에는 다시 샘플링하지 말고 sample_rate_hertz를 오디오 소스의 기본 샘플링 레이트와 일치하도록 설정합니다. 샘플링 레이트가 낮으면 인식 정확도가 떨어질 수 있으며, 결과적으로 번역 정확도도 떨어집니다. 하지만 다시 샘플링하지 마세요. 예를 들어, 전화 통신에서 기본 속도는 일반적으로 서비스에 전송해야 하는 속도인 8,000Hz입니다.
무손실 코덱을 사용하여 오디오를 녹음하고 전송합니다. FLAC 또는 LINEAR16을 사용하는 것이 좋습니다. 녹음 또는 전송 시 mu-law 또는 기타 손실 코덱을 사용하면 정확도가 떨어질 수 있습니다. 인코딩된 오디오가 API에서 지원되지 않는 경우 무손실 FLAC 또는 LINEAR16으로 트랜스코딩합니다. 애플리케이션이 대역폭 보존을 위해 손실 코덱을 사용해야 하는 경우에는 AMR_WB 또는 OGG_OPUS 코덱을 원하는 순서로 사용하는 것이 좋습니다.
LINEAR16 코덱을 사용하여 스트리밍 응답 지연 시간을 최적화합니다. 다른 코덱 유형에는 디코딩 단계가 추가로 필요하므로 응답 지연 시간이 늘어날 수 있습니다. 동일한 코덱에서는 샘플링 레이트가 높으면 지연 시간이 길어질 수 있습니다.
특히 백그라운드 노이즈가 있는 경우에는 마이크를 최대한 화자와 가깝게 배치합니다. 인식기는 추가적인 주변 소음 제거 없이 백그라운드 음성과 노이즈를 무시하도록 설계되었습니다. 특히 손실 코덱을 사용하는 경우, 과도한 백그라운드 노이즈와 에코는 정확도를 떨어뜨릴 수 있습니다.
노이즈가 심한 백그라운드 오디오의 결과를 개선하려면 고급 모델을 사용합니다. 고급 모델이 아니면 노이즈가 심하거나 에코 오디오에서 제대로 작동하지 않을 수 있습니다.
'language-region' 형식의 언어 코드를 사용하여 source_language_code를 지정하고 지역이 없는 언어 코드를 사용하여 target_language_code를 지정합니다(단, zh-CN 및 zh-TW는 예외임), source_language_code에 '지역'을 지정하지 않으면 기본 지역이 선택됩니다. 이 경우 실제 음성의 지역과 일치하지 않아 정확도가 떨어질 수 있습니다. 번역은 텍스트이기 때문에 target_language_code에 지역이 필요하지 않지만 zh-CN과 zh-TW는 텍스트가 다릅니다.

단일 발화

간단한 쿼리 또는 명령어의 경우 single_utterance를 true로 설정한 상태에서 StreamingTranslateSpeechConfig를 사용합니다. 이렇게 하면 짧은 발화에 대한 인식이 최적화되고 지연 시간이 최소화됩니다. 또한 말의 멈춤이나 정적이 길어지면 서비스가 자동으로 번역을 중지합니다. '단일 발화' 모드를 사용하면 서비스가 응답으로 END_OF_SINGLE_UTTERANCE 음성 이벤트 유형을 반환합니다. 클라이언트는 END_OF_SINGLE_UTTERANCE 응답을 받으면 요청 전송을 중지하고 나머지 응답을 계속 수신해야 합니다.

프레임 크기

스트리밍 인식은 라이브 오디오를 마이크 또는 기타 오디오 소스에서 캡처된 그대로 인식합니다. 오디오 스트림은 프레임으로 분할되어 연속적인 StreamingTranslateSpeechRequest 메시지로 전송됩니다. 모든 프레임 크기가 허용됩니다. 프레임 크기가 클수록 효율적이지만 지연 시간이 추가됩니다. 지연 시간과 효율성 간의 절충안으로 100밀리초 프레임 크기가 권장됩니다.

오디오 사전 처리

우수한 품질의 잘 배치된 마이크를 사용하여 가능한 선명한 오디오를 제공하는 것이 가장 좋습니다. 오디오를 서비스에 보내기 전에 오디오에 노이즈 감소 신호 처리를 적용하면 일반적으로 인식 정확도가 떨어집니다. 이 인식 서비스는 노이즈가 심한 오디오를 처리하도록 설계되었습니다.

최상의 결과를 얻는 방법

  • 특히 백그라운드 노이즈가 있는 경우에는 마이크를 최대한 화자와 가깝게 배치합니다.
  • 오디오를 자르지 마세요.
  • 자동 게인 제어(AGC)를 사용하지 마세요.
  • 모든 노이즈 감소 처리를 중지해야 합니다.
  • 샘플 오디오를 듣습니다. 왜곡이나 예상치 못한 노이즈 없이 선명하게 들려야 합니다.

요청 구성

Media Translation API에 대한 요청과 함께 전송되는 오디오 데이터를 정확하게 설명해야 합니다. 해당 요청의 TranslateSpeechConfig에서 sample_rate_hertz, audio_encoding, source_language_code, target_language_code를 올바르게 기술하면 텍스트 변환이 정확히 이루어지고 요청에 대한 요금도 정확히 청구됩니다.