Published on

TTS: 텍스트를 음성으로 합성하는 파이썬 코드

Authors
  • 테크버킷
    Name
    테크버킷
    Twitter

사용 기술

  • Google Cloud Text-to-Speech
  • Python
  • TTS(Text-to-Speech)

TTS

TTS(Text-to-Speech)는 컴퓨터가 텍스트를 읽어서 음성으로 변환해주는 기술입니다. TTS 기술은 텍스트를 음성으로 변환하여 읽어주는 보이스 리더, 음성 인터페이스, 가상 비서, 음성 교육 시스템 등 다양한 분야에서 사용됩니다. 이번 예제에서는 Google Cloud Text-to-Speech라는 음성 합성 엔진을 이용하여, 텍스트를 음성으로 변환해 보려고합니다.

TTS 만들기: 텍스트 파일을 이용한 Text-to-Speech

텍스트 파일을 이용하여 TTS(Text-to-Speech)를 만들기 위해서는 다음과 같은 단계를 따를 수 있습니다.

1. 음성 합성 엔진 선택

Google Cloud Text-to-Speech, Amazon Polly, Microsoft Azure Speech, OpenAI TTS 등의 음성 합성 엔진 중 하나를 선택합니다. 이번 예제에서는 Google Cloud Text-to-Speech를 사용합니다.

2. 텍스트 파일을 음성 파일로 변환

선택한 음성 합성 엔진을 사용하여 텍스트 파일을 음성 파일로 변환합니다. API 키 등의 인증 정보를 입력해야 하며, 각 음성 합성 엔진마다 다른 API 요청 방식이 있을 수 있습니다.

3. 음성 파일 저장

변환된 음성 파일을 원하는 형식으로 저장합니다. MP3, WAV, OGG 등의 다양한 오디오 형식을 지원합니다.

코드

위의 단계를 따라 텍스트를 음성으로 출력하는 TTS를 만들 수 있습니다.

language_code는 언어 코드를, ssml_gender는 음성 성별을 나타냅니다. audio_encoding은 저장할 오디오 파일 형식을 선택합니다.

from google.cloud import texttospeech

# 인증 정보 설정
client = texttospeech.TextToSpeechClient()
input_text = texttospeech.SynthesisInput(text='Hello, world!') # 변환할 텍스트

# 음성 설정
voice = texttospeech.VoiceSelectionParams(
    language_code='en-US', ssml_gender=texttospeech.SsmlVoiceGender.NEUTRAL
)
audio_config = texttospeech.AudioConfig(audio_encoding=texttospeech.AudioEncoding.MP3)

# 음성 합성 요청
response = client.synthesize_speech(input_text, voice, audio_config)

# 변환된 음성 파일 저장
with open('output.mp3', 'wb') as out:
    out.write(response.audio_content)
    print('Audio content written to file "output.mp3"')