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

1. 패키지 설치 : pip install --user -r requirements.txt
2. main.py 실행 : python main.py

requirements.txt

requests==2.31.0
beautifulsoup4==4.12.2

 

main.py

import requests
from bs4 import BeautifulSoup

def get_kospi_index():
    # 네이버 금융 URL
    url = "https://finance.naver.com/sise/sise_index.naver?code=KOSPI"
    
    # User-Agent 설정
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"
    }
    
    try:
        # 웹페이지 요청
        response = requests.get(url, headers=headers)
        response.raise_for_status()  # 오류 발생시 예외 발생
        
        # BeautifulSoup 객체 생성
        soup = BeautifulSoup(response.text, 'html.parser')
        
        # 코스피 지수 정보 추출
        kospi_element = soup.select_one("#now_value")
        if kospi_element:
            kospi_value = kospi_element.text.strip()
            return f"현재 코스피 지수: {kospi_value}"
        else:
            return "코스피 지수를 찾을 수 없습니다."
            
    except requests.RequestException as e:
        return f"에러 발생: {str(e)}"

if __name__ == "__main__":
    print(get_kospi_index())

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

텍스트를 음성으로 변환하는 파이썬 프로그램  (0) 2025.06.07

+ Recent posts