텍스트-음성 변환(Text-to-Speech, TTS) 프로그램은 사용자에게 편리한 음성 인식 경험을 제공합니다. 최근 몇 년간 이 기술의 발전으로 인해 여러 언어 지원이 가능해졌습니다. 이번 글에서는 파이썬을 활용하여 음성을 생성하는 프로그램을 만드는 과정과 다양한 언어를 지원하는 방법을 소개합니다.
TTS 프로그램 개발에 필요한 라이브러리
텍스트를 음성으로 변환하기 위해 파이썬에서는 다음과 같은 라이브러리를 활용할 수 있습니다:
– gTTS (Google Text-to-Speech): Google의 TTS API를 사용하여 음성을 생성하는 라이브러리입니다.
– pyttsx3: 오프라인에서 작동하며, 다양한 음성 엔진을 지원하는 라이브러리입니다.
gTTS 라이브러리로 텍스트-음성 변환하기
먼저, gTTS를 활용한 음성 변환 과정을 살펴보겠습니다. 아래 코드는 사용자가 입력한 텍스트를 음성으로 변환하여 저장하는 기능을 갖고 있습니다.

python
from gtts import gTTS
import os
def text_to_speech(text, lang=’en’):
tts = gTTS(text=text, lang=lang)
tts.save(“output.mp3”)
os.play(“output.mp3”)
text = “안녕하세요, 파이썬으로 텍스트를 음성으로 변환합니다.”
text_to_speech(text, lang=’ko’)
위 코드는 주어진 텍스트와 언어 코드에 따라 음성을 생성하고, 이를 ‘output.mp3’ 파일로 저장합니다. 다양한 언어 코드로 아래와 같은 텍스트로 변환할 수 있습니다:
– 영어: ‘en’
– 한국어: ‘ko’
– 일본어: ‘ja’
– 프랑스어: ‘fr’
음성 변환에서의 음성 선택 옵션
프로그램을 더욱 다양하게 활용하기 위해 사용자가 음성을 선택할 수 있는 기능을 추가할 수 있습니다. 아래 코드는 pyttsx3를 사용하여 음성의 속도를 조절하고, 목소리를 변경할 수 있는 예시입니다.
pyttsx3 라이브러리 사용하기
python
import pyttsx3
def pyttsx3_speech(text, lang=’ko’):
engine = pyttsx3.init()
engine.setProperty(‘rate’, 150) # 음성 속도 조절
engine.setProperty(‘volume’, 1) # 볼륨 조절 (0.0 to 1.0)
voices = engine.getProperty(‘voices’)
if lang == ‘ko’:
engine.setProperty(‘voice’, voices[1].id) # 한국어 음성 선택
else:
engine.setProperty(‘voice’, voices[0].id) # 기본 음성 (영어)

engine.say(text)
engine.runAndWait()
text = “안녕하세요, pyttsx3 라이브러리를 사용하여 음성을 생성합니다.”
pyttsx3_speech(text, lang=’ko’)
위 코드는 사용자가 선택한 언어에 따라 음성을 자동으로 선택해줍니다. 이와 같이 다양한 언어 지원과 설정을 통해 프로그램의 활용도를 높일 수 있습니다.
프로그램 활용 예시
이 TTS 프로그램은 여러 용도로 활용될 수 있습니다. 예를 들어:
| 활용 예시 | 설명 |
|---|---|
| 교육 | 언어 학습이나 발음 연습에 유용합니다. |
| 장애인 지원 | 시각 장애인을 위한 텍스트 정보 전달에 도움을 줄 수 있습니다. |
| 오디오북 제작 | 책이나 기사 내용을 음성으로 변환하여 청취할 수 있습니다. |
이처럼 텍스트-음성 변환 프로그램은 다양한 분야에서 유용하게 활용될 수 있으며, 파이썬으로 쉽게 구현할 수 있습니다. 이러한 프로그램을 통해 다양한 언어를 지원하는 기능도 추가함으로써 사용자에게 더욱 많은 편리함을 제공할 수 있습니다.