텍스트 음성 변환 API 사용

완료됨

음성 텍스트 변환 API와 마찬가지로 Azure Speech Service는 음성 합성을 위한 다른 REST API를 제공합니다.

  • 음성 합성을 수행하는 기본 방법인 Text to Speech API입니다.
  • 대량의 텍스트를 오디오로 변환하는 일괄 처리 작업을 지원하도록 설계된 Batch 합성 API(예: 원본 텍스트에서 오디오 책 생성).

Text to Speech REST API 설명서에서 REST API에 대해 자세히 알아볼 수 있습니다. 실제로 대부분의 대화형 음성 지원 애플리케이션은 (프로그래밍) 언어별 SDK를 통해 Azure Speech Service를 사용합니다.

Azure Speech SDK 사용

음성 인식과 마찬가지로 실제로 대부분의 대화형 음성 지원 애플리케이션은 Azure Speech SDK를 사용하여 빌드됩니다.

음성 합성을 구현하는 패턴은 음성 인식의 패턴과 유사합니다.

SpeechConfig 및 AudioConfig에서 SpeechSynthesizer 개체를 만들고 SpeechTextAsync 메서드를 사용하여 Speech API를 호출하는 방법을 보여 주는 다이어그램

  1. SpeechConfig 개체를 사용하여 Azure Speech 리소스에 연결하는 데 필요한 정보를 캡슐화합니다. 특히 그것의 위치주요 요소입니다.
  2. 필요에 따라 AudioConfig 를 사용하여 음성을 합성할 출력 디바이스를 정의합니다. 기본적으로 기본 시스템 스피커이지만 오디오 파일을 지정하거나 명시적으로 이 값을 null 값으로 설정하여 직접 반환되는 오디오 스트림 개체를 처리할 수 있습니다.
  3. SpeechConfigAudioConfig를 사용하여 SpeechSynthesizer 개체를 만듭니다. 이 개체는 Text to Speech API의 프록시 클라이언트입니다.
  4. SpeechSynthesizer 개체의 메서드를 사용하여 기본 API 함수를 호출합니다. 예를 들어 SpeakTextAsync() 메서드는 Azure Speech Service를 사용하여 텍스트를 음성 오디오로 변환합니다.
  5. Azure Speech Service에서 응답을 처리합니다. SpeakTextAsync 메서드의 경우 결과는 다음 속성을 포함하는 SpeechSynthesisResult 개체입니다.
    • AudioData
    • 속성
    • 이유
    • ResultId

음성이 성공적으로 합성되면 Reason 속성이 SynthesizingAudioCompleted 열거형으로 설정되고 AudioData 속성에 오디오 스트림이 포함됩니다( AudioConfig 에 따라 스피커 또는 파일로 자동으로 전송되었을 수 있음).