애플리케이션에서 개인 보이스 사용

개인 보이스에 화자 프로필 ID를 사용하여 100개 이상의 로캘에서 지원되는 91개 언어로 음성을 합성할 수 있습니다. 로캘 태그는 필요하지 않습니다. 개인 보이스는 문장 수준에서 자동 언어 감지를 사용합니다.

애플리케이션에서 개인 보이스 통합

애플리케이션에서 개인 보이스을 사용하려면 SSML(Speech Synthesis Markup Language)을 사용해야 합니다. SSML은 가상 음성 생성을 위해 텍스트를 표시하는 표준 방법을 제공하는 XML 기반 태그 언어입니다. SSML 태그는 음성 합성 출력의 발음, 볼륨, 피치, 속도 및 기타 특성을 제어하는 데 사용됩니다.

  • SSML의 speakerProfileId 속성은 개인 보이스의 화자 프로필 ID를 지정하는 데 사용됩니다.

  • 음성 이름은 SSML의 name 속성에서 지정됩니다. 개인 보이스의 경우 음성 이름은 지원되는 기본 모델 음성 이름 중 하나여야 합니다. 지원되는 기본 모델 음성 이름 목록을 얻으려면 사용자 지정 음성 API의 BaseModels_List 작업을 사용합니다.

    참고 항목

    Latest(예: DragonLatestNeural 또는 PhoenixLatestNeural)를 사용하여 레이블이 지정된 음성 이름은 수시로 업데이트됩니다. 성능은 지속적인 개선을 위한 업데이트에 따라 달라질 수 있습니다. 수정된 버전을 사용하려면 버전 번호로 레이블이 지정된 버전(예: PhoenixV2Neural)을 선택합니다.

  • DragonLatestNeuralPhoenixLatestNeural에 비해 음성 복제 유사성이 뛰어난 기본 모델입니다. PhoenixLatestNeuralDragonLatestNeural보다 발음이 정확하고 대기 시간이 짧은 기본 모델입니다.

  • 개인 음성의 경우 <lang xml:lang> 요소를 사용하여 말하는 언어를 조정할 수 있습니다. 다국어 음성과 같습니다. lang 요소를 사용하여 다양한 언어를 말하는 방법을 참조하세요.

다음은 음성 이름 및 화자 프로필 ID가 있는 텍스트 음성 변환 요청의 예제 SSML입니다. 이 샘플은 또한 <lang xml:lang> 요소를 사용하여 언어를 en-US에서 zh-HK로 전환하는 방법을 보여 줍니다.

<speak version='1.0' xmlns='http://www.w3.org/2001/10/synthesis' xmlns:mstts='http://www.w3.org/2001/mstts' xml:lang='en-US'>
    <voice name='DragonLatestNeural'> 
        <mstts:ttsembedding speakerProfileId='your speaker profile ID here'> 
            I'm happy to hear that you find me amazing and that I have made your trip planning easier and more fun. 
            <lang xml:lang='zh-HK'>我很高興聽到你覺得我很了不起,我讓你的旅行計劃更輕鬆、更有趣。</lang>
        </mstts:ttsembedding> 
    </voice> 
</speak>

Speech SDK 또는 REST API를 통해 SSML을 사용할 수 있습니다.

  • 실시간 음성 합성: Speech SDK 또는 REST API를 사용하여 텍스트를 음성으로 변환합니다.
    • Speech SDK를 사용하는 경우 사전 빌드 음성처럼 엔드포인트 ID를 설정하지 마세요.
    • REST API를 사용하는 경우 미리 빌드된 인공신경망 음성 엔드포인트를 사용하세요.

개인 음성에 대해 지원되는 SSML 요소 및 지원되지 않는 SSML 요소

Phoenix 및 Dragon 모델에 대해 지원되는 SSML 요소와 지원되지 않는 SSML 요소에 대한 자세한 내용은 다음 표를 참조하세요. SSML 요소를 사용하는 방법에 대한 지침은 SSML 문서 구조 및 이벤트를 참조하세요.

요소 설명 Phoenix에서 지원됨 Dragon에서 지원됨
<voice> 음성 및 선택적 효과(eq_careq_telecomhp8k)를 지정합니다.
<mstts:express-as> 말하는 스타일과 역할을 지정합니다. 아니요 아니요
<mstts:ttsembedding> 개인 음성에 대한 speakerProfileId 속성을 지정합니다.
<lang xml:lang> 말하기 언어를 지정합니다.
<prosody> 피치, 윤곽, 범위, 속도 및 볼륨을 조정합니다.
   pitch 텍스트의 기준 피치를 나타냅니다. 아니요 아니요
   contour 피치의 변화를 나타냅니다. 아니요 아니요
   range 텍스트의 피치 범위를 나타냅니다. 아니요 아니요
   rate 텍스트를 읽는 속도를 나타냅니다.
   volume 말하기 음성의 볼륨 수준을 나타냅니다. 아니요 아니요
<emphasis> 텍스트에 단어 수준의 강세를 추가하거나 제거합니다. 아니요 아니요
<audio> SSML 문서에 미리 녹음된 오디오를 포함합니다. 아니요
<mstts:audioduration> 출력 오디오의 기간을 지정합니다. 아니요 아니요
<mstts:backgroundaudio> SSML 문서에 백그라운드 오디오를 추가하거나 오디오 파일을 텍스트 음성 변환과 혼합합니다. 아니요
<phoneme> SSML 문서의 음성 발음을 지정합니다.
   ipa 음성 알파벳 중 하나. 아니요
   sapi 음성 알파벳 중 하나. 아니요 아니요
   ups 음성 알파벳 중 하나. 아니요
   x-sampa 음성 알파벳 중 하나. 아니요
<lexicon> SSML에서 여러 엔터티를 읽는 방법을 정의합니다. 예(별칭만 지원)
<say-as> 요소 텍스트의 콘텐츠 형식(예: 숫자 또는 날짜)을 나타냅니다.
<sub> 요소의 묶인 텍스트 대신 별칭 특성의 텍스트 값을 발음해야 함을 나타냅니다.
<math> 출력 오디오에서 수학적 표기법을 올바르게 발음하기 위해 MathML을 입력 텍스트로 사용합니다. 아니요
<bookmark> 오디오 스트림에서 각 마커의 오프셋을 가져옵니다. 아니요
<break> 단어 사이의 줄 바꿈이나 일시 중지의 기본 동작을 재정의합니다.
<mstts:silence> 텍스트 앞이나 뒤, 또는 두 인접한 문장 사이에 잠깐 멈춤을 삽입합니다. 아니요
<mstts:viseme> 사람이 말하는 동안 얼굴과 입의 위치를 정의합니다. 아니요
<p> SSML 문서의 문단을 나타냅니다.
<s> SSML 문서의 문장을 나타냅니다.

개인 음성에 대해 지원되는 SDK 기능과 지원되지 않는 SDK 기능

다음 표는 Phoenix 및 Dragon 모델에서 지원되는 SDK 기능을 간략하게 설명합니다. 애플리케이션에서 이러한 SDK 기능을 활용하는 방법에 대한 자세한 내용은 신시사이저 이벤트 구독을 참조하세요.

SDK 기능 설명 Phoenix에서 지원됨 Dragon에서 지원됨
단어 경계(word boundary) 음성 합성 프로세스에서 단어 경계가 수신되었다는 신호를 보내어 음성 합성 프로세스에서 정확한 단어 타이밍을 제공합니다. 아니요
비젬 이벤트 합성 중에 비젬(입술, 턱, 혀의 움직임) 정보를 제공하여 시각적 동기화를 가능하게 합니다. 아니요

참조 설명서

다음 단계

  • 개요에서 사용자 지정 신경망 음성에 대해 자세히 알아봅니다.
  • 개요에서 Speech Studio에 대해 자세히 알아봅니다.