1. pip install --user -r requirements.txt
2. python main.py

 requirements.txt

gTTS==2.3.2
elevenlabs==0.2.24

 

main.py (gTTS 버전)

from gtts import gTTS
import os

def text_to_speech():
    try:
        # input.txt 파일 읽기
        with open('input.txt', 'r', encoding='utf-8') as file:
            text = file.read()
        
        # gTTS를 사용하여 텍스트를 음성으로 변환
        tts = gTTS(text=text, lang='ko')
        
        # 음성을 output.wav 파일로 저장
        tts.save('output.wav')
        print("음성 변환이 완료되었습니다. output.wav 파일을 확인해주세요.")
        
    except FileNotFoundError:
        print("input.txt 파일을 찾을 수 없습니다.")
    except Exception as e:
        print(f"오류가 발생했습니다: {str(e)}")

if __name__ == "__main__":
    text_to_speech()

 

main.py (elevenlabs 버전)

from elevenlabs import generate, save, set_api_key
import os

# ElevenLabs API 키 설정
set_api_key(<API KEY>)

def text_to_speech():
    try:
        # input.txt 파일 읽기
        with open('input.txt', 'r', encoding='utf-8') as file:
            text = file.read()
        
        # ElevenLabs API를 사용하여 텍스트를 음성으로 변환
        # 기본 음성은 'Rachel'을 사용합니다
        audio = generate(
            text=text,
            voice="Rachel",
            model="eleven_multilingual_v2"
        )
        
        # 음성을 output.wav 파일로 저장
        save(audio, "output.wav")
        print("음성 변환이 완료되었습니다. output.wav 파일을 확인해주세요.")
        
    except FileNotFoundError:
        print("input.txt 파일을 찾을 수 없습니다.")
    except Exception as e:
        print(f"오류가 발생했습니다: {str(e)}")

if __name__ == "__main__":
    text_to_speech()

'개발' 카테고리의 다른 글

코스피 지수 추출하는 웹 크롤러  (0) 2025.06.07

+ Recent posts