본문 바로가기
IT정보/AI프로그래밍

텍스트를 음성으로 음성을 텍스트로 변경하는 프로그램

by IT아재 2025. 3. 13.
반응형

 

프롬프트

 

텍스트를 음성으로 음성을 텍스트로 변환해 주는 프로그램을 만들어줘

 

 

ChatGPT 결과

 

이 프로그램은 음성을 텍스트로 변환하고, 텍스트를 음성으로 변환할 수 있어요.

  • speech_recognition을 사용해 음성을 텍스트로 변환
  • pyttsx3을 사용해 텍스트를 음성으로 변환
  • 사용자가 원하는 기능을 선택할 수 있도록 인터페이스 제공

필요한 기능 추가나 수정이 있으면 알려주세요! 😊

 

 

코드

 

import speech_recognition as sr  # 음성을 텍스트로 변환하는 모듈
import pyttsx3  # 텍스트를 음성으로 변환하는 모듈

def text_to_speech(text):
    engine = pyttsx3.init()  # 음성 합성 엔진 초기화
    engine.say(text)  # 텍스트를 음성으로 변환하여 출력
    engine.runAndWait()  # 음성 출력을 기다림

def speech_to_text():
    recognizer = sr.Recognizer()  # 음성 인식기 생성
    with sr.Microphone() as source:
        print("말하세요...")
        recognizer.adjust_for_ambient_noise(source)  # 주변 소음 조정
        audio = recognizer.listen(source)  # 음성 입력 받기
    
    try:
        text = recognizer.recognize_google(audio, language="ko-KR")  # 음성을 텍스트로 변환
        print("인식된 텍스트:", text)
        return text
    except sr.UnknownValueError:
        print("음성을 인식할 수 없습니다.")
        return None
    except sr.RequestError:
        print("음성 인식 서비스에 접근할 수 없습니다.")
        return None

if __name__ == "__main__":
    while True:
        choice = input("텍스트를 음성으로 변환하려면 1, 음성을 텍스트로 변환하려면 2, 종료하려면 3을 입력하세요: ")
        if choice == "1":
            text = input("변환할 텍스트를 입력하세요: ")
            text_to_speech(text)
        elif choice == "2":
            speech_to_text()
        elif choice == "3":
            print("프로그램을 종료합니다.")
            break
        else:
            print("올바른 입력이 아닙니다. 다시 시도하세요.")

 

 

결과물

 

 

역시 모듈이 존재하지 않아 에러가 나는군요.

해결해 보겠습니다.

 

오류를 챗지피티에게 보여줍니다.

원인

 

오류의 원인은 speech_recognition 모듈이 설치되지 않았기 때문이에요.
아래 명령어를 실행해서 필요한 모듈을 설치한 후 다시 실행해 보세요.

해결 방법

  1. 모듈 설치
    터미널(또는 명령 프롬프트)에서 아래 명령어를 입력하세요:
    • SpeechRecognition : 음성 인식 모듈
    • pyttsx3 : 텍스트를 음성으로 변환하는 모듈
    • pyaudio : 마이크 입력을 처리하는 모듈 (필요할 수도 있음)
  2. sh
    복사편집
    pip install SpeechRecognition pyttsx3 pyaudio
  3. 설치 확인제대로 설치되었는지 확인할 수 있어요.
  4. sh
    복사편집
    python -m pip show SpeechRecognition pyttsx3 pyaudio
  5. 실행 설치 후 다시 실행해 보세요! 🚀

혹시 pyaudio 설치 중 오류가 발생하면 추가 해결 방법을 알려줄 수 있어요. 😊

 

 

해결

 

C:\Users\qwe\pythonPG>pip install SpeechRecognition pyttsx3 pyaudio
Collecting SpeechRecognition
  Downloading SpeechRecognition-3.14.1-py3-none-any.whl.metadata (31 kB)
Collecting pyttsx3
  Downloading pyttsx3-2.98-py3-none-any.whl.metadata (3.8 kB)
Collecting pyaudio
  Downloading PyAudio-0.2.14-cp313-cp313-win_amd64.whl.metadata (2.7 kB)
Collecting typing-extensions (from SpeechRecognition)
  Downloading typing_extensions-4.12.2-py3-none-any.whl.metadata (3.0 kB)
Collecting standard-aifc (from SpeechRecognition)
  Downloading standard_aifc-3.13.0-py3-none-any.whl.metadata (969 bytes)
Collecting audioop-lts (from SpeechRecognition)
  Downloading audioop_lts-0.2.1-cp313-abi3-win_amd64.whl.metadata (1.7 kB)
Collecting comtypes (from pyttsx3)
  Downloading comtypes-1.4.10-py3-none-any.whl.metadata (7.2 kB)
Collecting pypiwin32 (from pyttsx3)
  Downloading pypiwin32-223-py3-none-any.whl.metadata (236 bytes)
Collecting pywin32 (from pyttsx3)
  Downloading pywin32-309-cp313-cp313-win_amd64.whl.metadata (9.4 kB)
Collecting standard-chunk (from standard-aifc->SpeechRecognition)
  Downloading standard_chunk-3.13.0-py3-none-any.whl.metadata (860 bytes)
Downloading SpeechRecognition-3.14.1-py3-none-any.whl (32.9 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 32.9/32.9 MB 82.1 MB/s eta 0:00:00
Downloading pyttsx3-2.98-py3-none-any.whl (34 kB)
Downloading PyAudio-0.2.14-cp313-cp313-win_amd64.whl (173 kB)
Downloading audioop_lts-0.2.1-cp313-abi3-win_amd64.whl (30 kB)
Downloading comtypes-1.4.10-py3-none-any.whl (241 kB)
Downloading pypiwin32-223-py3-none-any.whl (1.7 kB)
Downloading pywin32-309-cp313-cp313-win_amd64.whl (9.5 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 9.5/9.5 MB 99.1 MB/s eta 0:00:00
Downloading standard_aifc-3.13.0-py3-none-any.whl (10 kB)
Downloading typing_extensions-4.12.2-py3-none-any.whl (37 kB)
Downloading standard_chunk-3.13.0-py3-none-any.whl (4.9 kB)
Installing collected packages: standard-chunk, pywin32, pyaudio, typing-extensions, pypiwin32, comtypes, audioop-lts, standard-aifc, pyttsx3, SpeechRecognition
Successfully installed SpeechRecognition-3.14.1 audioop-lts-0.2.1 comtypes-1.4.10 pyaudio-0.2.14 pypiwin32-223 pyttsx3-2.98 pywin32-309 standard-aifc-3.13.0 standard-chunk-3.13.0 typing-extensions-4.12.2

[notice] A new release of pip is available: 24.3.1 -> 25.0.1
[notice] To update, run: python.exe -m pip install --upgrade pip

반응형
결과

 

실행해 본 결과 별문제 없이 실행되는 것을 확인할 수 있었습니다.

 

 

"텍스트를 음성으로 지원해 줍니다." 이게 스피커로 나왔고 제가 마이크에 말한 "말하세요"가 인식된 텍스트에 나오네요.

이런 걸 활용해서 개발한다면 한층 수준 높은 결과물이 나올 수 있겠습니다.

결과물을 동영상으로 만들고 싶어서 현재 어떻게 진행할지 고민 중입니다.

 

그럼 다음 개발로 다시 돌아오겠습니다. ^^

IT아재였습니다.

반응형