python

텍스트를 음성으로 변환하여 파일로 저장하는 파이썬 스크립트 가이드

알세지 2024. 6. 28. 11:54

 

텍스트→ 음성 변환 후 파일 저장하는 python 코드

 

1. 필요한 라이브러리

  1. speech_recognition: 음성 인식 기능을 제공합니다. (이 스크립트에서는 직접 사용하지 않지만, 향후 확장성을 위해 포함)
  2. gtts (Google Text-to-Speech): 텍스트를 음성으로 변환합니다.
  3. os: 운영 체제와 상호 작용하는 기능을 제공합니다.
  4. time: 시간 관련 기능을 제공합니다.

라이브러리 설치 방법(주피터 노트북)

!pip install SpeechRecognition gtts

2. 코드 설명

(1) 필요한 라이브러리 임포트


import speech_recognition as sr
from gtts import gTTS
import os
import time
    

 

(2) 텍스트를 음성으로 변환하고 저장하는 함수 정의


def speak(text):
    tts = gTTS(text=text, lang='ko')
    timestamp = int(time.time())
    filename = f'voice_{timestamp}.mp3'
    
    current_dir = os.getcwd()
    file_path = os.path.join(current_dir, filename)
    
    tts.save(file_path)
    
    return file_path
    

이 함수는 다음과 같은 작업을 수행합니다:

  • 주어진 텍스트를 한국어 음성으로 변환합니다.
  • 현재 시간을 이용해 고유한 파일 이름을 생성합니다.
  • 현재 작업 디렉토리에 MP3 파일을 저장합니다.
  • 저장된 파일의 전체 경로를 반환합니다.

(3) 함수 실행 및 결과 출력


saved_file_path = speak("안녕하세요. 길동씨")
print(f"음성 파일이 다음 경로에 저장되었습니다: {saved_file_path}")
    

 

이 부분에서는 speak 함수를 호출하여 "안녕하세요. 길동씨"라는 텍스트를 음성으로 변환하고 저장합니다.

그리고 저장된 파일의 경로를 출력합니다.

 

 

3. 전체 코드


import speech_recognition as sr
from gtts import gTTS
import os
import time

def speak(text):
    tts = gTTS(text=text, lang='ko')
    timestamp = int(time.time())
    filename = f'voice_{timestamp}.mp3'
    
    current_dir = os.getcwd()
    file_path = os.path.join(current_dir, filename)
    
    tts.save(file_path)
    
    return file_path

# 함수 호출 및 파일 경로 출력
saved_file_path = speak("안녕하세요. 길동씨")
print(f"음성 파일이 다음 경로에 저장되었습니다: {saved_file_path}")
    

.