Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python으로 텍스트를 음성으로 변환하는 방법 – gTTS 완벽 가이드

텍스트 음성 변환(Text-to-Speech, TTS)은 텍스트를 입력하면 그 내용을 음성 형태로 출력해 주는 프로그램을 의미합니다. 즉, 사용자가 입력한 문장을 컴퓨터가 실제로 말하는 것처럼 들려주는 기술입니다.

Python은 다양한 API를 통해 텍스트 음성 변환 기능을 손쉽게 구현할 수 있습니다. 대표적인 예가 바로 Google Text to Speech API(gTTS)입니다. gTTS를 사용하면 입력된 텍스트를 음성으로 변환하고, 그 결과를 오디오 파일로 저장할 수 있습니다.

1단계 – gTTS 설치하기

gTTS를 사용하려면 먼저 라이브러리를 설치해야 합니다. 설치 과정은 매우 간단합니다.

터미널(명령 프롬프트)을 열고 아래 명령어를 입력하세요.

pip install gTTS

위 명령어를 실행하면 gTTS가 자동으로 설치됩니다.

2단계 – 텍스트 음성 변환 프로그램 작성하기

  • gTTS 모듈 임포트: 먼저 gtts 패키지에서 gTTS 클래스를 불러옵니다.

  • 변환할 텍스트 지정: 음성으로 변환하고 싶은 문장을 변수에 담아 준비합니다.

  • gTTS() 함수 호출: 이 함수는 세 가지 주요 매개변수를 받습니다.

    • text: 음성으로 변환할 입력 텍스트입니다.

    • language(lang): 음성이 출력될 언어를 지정합니다. gTTS는 영어(en), 한국어(ko), 힌디어, 프랑스어, 독일어 등 수십 개 언어를 지원합니다.

    • slow: 음성 재생 속도를 결정하는 불리언(Boolean) 값입니다. False로 설정하면 일반 속도(빠른 속도), True로 설정하면 느린 속도로 음성이 생성됩니다.

  • 결과 저장: gTTS() 호출 결과는 객체로 반환되며, save() 메서드를 이용해 MP3 파일로 저장할 수 있습니다.

  • 음성 재생: 저장된 오디오 파일을 바로 재생하고 싶다면 os.system() 함수를 활용할 수 있습니다. 이를 위해 os 모듈을 임포트한 후, os.system()에 저장한 오디오 파일명을 전달하면 됩니다.

예제 코드

다음은 "I want to learn Python"이라는 영어 문장을 음성으로 변환하고 MP3 파일로 저장하는 기본 예제입니다.

from gtts import gTTS

myText = "I want to learn Python"
speech = gTTS(text=myText, lang="en", slow=False)
speech.save("tts.mp3")

코드를 실행하면 프로젝트 폴더에 tts.mp3 파일이 생성되고, 해당 파일을 재생하면 입력한 텍스트가 자연스러운 음성으로 들립니다.

추가 팁 – 한국어 음성 변환하기

한국어 텍스트를 음성으로 변환하려면 lang 매개변수에 "ko"를 지정하면 됩니다.

from gtts import gTTS

myText = "파이썬 배우고 싶어요"
speech = gTTS(text=myText, lang="ko", slow=False)
speech.save("tts_kr.mp3")

이처럼 gTTS를 활용하면 몇 줄의 코드만으로 다국어 음성 파일을 손쉽게 만들 수 있으며, 챗봇, 접근성 도구, 학습용 앱 등 다양한 프로젝트에 응용할 수 있습니다.