Cloud TTS(텍스트 음성 변환) 기본사항

개발자는 Text-to-Speech를 사용하여 자연스럽게 합성된 인간 음성을 재생 가능한 오디오로 만들 수 있습니다. Text-to-Speech를 사용하여 만든 오디오 데이터 파일은 애플리케이션 성능을 강화하거나 동영상 또는 오디오 녹음과 같은 미디어를 보강하는 데 사용될 수 있습니다. 단, 모든 관련 법률은 물론 Google Cloud Platform 서비스 약관을 준수해야 합니다.

Text-to-Speech는 텍스트 또는 음성 합성 마크업 언어(SSML) 입력을 MP3 또는 LINEAR16(WAV 파일에서 사용되는 인코딩)과 같은 오디오 데이터로 변환합니다.

이 문서는 Speech-to-Text 사용에 대한 기본 개념을 설명하는 가이드입니다. API를 본격적으로 살펴보기 전에 빠른 시작을 검토하세요.

기본 예시

Text-to-Speech는 사용자에게 음성 오디오를 재생하는 모든 애플리케이션에 적합합니다. 임의의 문자열, 단어, 문장을 동일한 내용을 말하는 사람의 소리로 변환할 수 있습니다.

재생 가능한 오디오 파일로 사용자에게 자연어 피드백을 제공하는 음성 지원 앱이 있다고 가정해 보겠습니다. 앱에서 조치를 취한 다음 인간의 음성을 사용자에게 피드백으로 제공할 수 있습니다.

예를 들어 앱이 사용자의 캘린더에 일정을 성공적으로 추가했다고 보고할 수 있습니다. 앱은 응답 문자열을 구성하여 사용자에게 성공을 보고합니다(예: '캘린더에 일정을 추가했습니다').

Text-to-Speech를 사용하면 아래에 제공된 예시와 같이 응답 문자열을 실제 인간의 음성으로 변환하여 사용자에게 재생할 수 있습니다.


예시 1. Text-to-Speech를 통해 생성된 오디오 파일

예시 1과 같은 오디오 파일을 만들려면 다음 코드 스니펫과 같은 Text-to-Speech에 요청을 보냅니다.

로 바꿉니다.
curl -H "Authorization: Bearer "$(gcloud auth print-access-token) -H "x-goog-user-project: <var>PROJECT_ID</var>" -H "Content-Type: application/json; charset=utf-8" --data "{
  'input':{
    'text':'I\'ve added the event to your calendar.'
  },
  'voice':{
    'languageCode':'en-gb',
    'name':'en-GB-Standard-A',
    'ssmlGender':'FEMALE'
  },
  'audioConfig':{
    'audioEncoding':'MP3'
  }
}" "https://texttospeech.googleapis.com/v1/text:synthesize"

음성 합성

텍스트 입력을 오디오 데이터로 변환하는 프로세스를 합성이라고 하며 합성 출력을 합성 음성이라고합니다. Text-to-Speech는 원시 텍스트나 SSML 형식의 데이터와 같은 두 유형의 입력을 사용합니다(아래에서 설명). 새 오디오 파일을 만들려면 API의 synthesize 엔드포인트를 호출합니다.

음성 합성 프로세스는 원시 오디오 데이터를 base64로 인코딩된 문자열로 생성합니다. base64로 인코딩된 문자열을 오디오 파일로 디코딩해야 애플리케이션에서 재생할 수 있습니다. 또한 대부분의 플랫폼과 운영체제에는 base64 텍스트를 재생 가능한 미디어 파일로 디코딩하는 도구가 있습니다.

합성에 대해 자세히 알아보려면 빠른 시작 또는 음성 오디오 파일 만들기 페이지를 검토하세요.

음성

Text-to-Speech는 자연스러운 인간 음성에 대한 원시 오디오 데이터를 만듭니다. 즉, 사람이 말하는 것처럼 들리는 오디오를 생성합니다. Text-to-Speech에 합성 요청을 보낼 때는 단어를 '말하는' 음성을 지정해야 합니다.

Text-to-Speech는 사용자가 사용할 수 있는 다양한 커스텀 음성을 제공합니다. 음성은 언어, 성별, 억양(일부 언어만 해당)별로 다릅니다. 예를 들어 위의 예시 1과 같은 영국 억양을 가진 여성 영어 화자의 음성을 모방한 오디오를 제작할 수 있습니다. 동일한 텍스트를 다른 음성으로 변환할 수도 있습니다. 예를 들어 오스트레일리아 억양을 가진 남성 영어 화자의 음성으로 변환할 수 있습니다.


예시 2. en-AU 화자를 통해 생성된 오디오 파일

사용 가능한 음성의 전체 목록을 보려면 지원되는 음성을 참조하세요.

WaveNet 음성

Text-to-Speech는 기존의 다른 합성 음성과 함께 WaveNet에서 생성된 프리미엄 음성도 제공합니다. 사용자는 Wavenet에서 생성된 음성이 다른 합성 음성보다 더 따뜻하고 인간과 비슷하다는 것을 알게 됩니다.

WaveNet 음성의 주요 차별점은 음성을 생성하는 데 사용되는 WaveNet 모델입니다. WaveNet 모델은 실제 인간이 말한 원시 오디오 샘플을 사용하여 학습되었습니다. 따라서 이러한 모델은 음절, 음소, 단어에 인간과 매우 비슷한 강세와 어조를 사용하여 합성 음성을 생성합니다.

합성 음성의 다음 두 샘플을 비교하세요.


예시 3. 표준 음성을 통해 생성된 오디오 파일


예시 4. WaveNet 음성을 통해 생성된 오디오 파일

WaveNet에서 생성된 음성의 이점에 대해 자세히 알아보려면 음성 유형을 참조하세요.

기타 오디오 출력 설정

음성 외에 음성 합성으로 생성된 오디오 데이터 출력의 다른 요소를 구성할 수도 있습니다. Text-to-Speech는 말하기 속도, 음의 높낮이, 볼륨, 샘플링 레이트(헤르츠 단위)를 구성할 수 있습니다.

자세한 내용은 AudioConfig 참조를 살펴보세요.

SSML(Speech Synthesis Markup Language) 지원

음성 합성 마크업 언어(SSML)로 텍스트를 마크업하여 Text-to-Speech에서 생성한 합성 음성을 개선할 수 있습니다. SSML을 사용 설정하여 Text-to-Speech에서 생성한 오디오 데이터에 일시중지, 두문자어 발음 또는 추가 세부정보를 삽입할 수 있습니다. Text-to-Speech는 사용 가능한 SSML 요소 중 일부를 지원합니다.

예를 들어 Text-to-Speech에 서수의 정확한 발음을 표시하는 SSML 입력을 제공하여 합성 음성이 서수를 정확하게 발음하도록 할 수 있습니다.


예시 5. 일반 텍스트 입력을 통해 생성된 오디오 파일


예시 6. SSML 입력을 통해 생성된 오디오 파일

SSML에서 음성을 합성하는 방법에 대해 자세히 알아보려면 음성 오디오 파일 만들기를 참조하세요.