- Published on
TTS: 텍스트를 음성으로 합성하는 파이썬 코드
- Authors
- Name
- 테크버킷
사용 기술
- 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"')