음성 자동화는 「텍스트 → 음성(TTS)」과 「음성 → 텍스트(STT)」 두 갈래입니다.
알림·튜토리얼 음성 출력, 음성 명령 자동화 같은 흥미로운 활용이 가능합니다.
TTS — gTTS.
pip install gTTS.
from gtts import gTTS.
tts = gTTS("안녕하세요", lang="ko").
tts.save("hello.mp3").
Google 번역의 음성 엔진을 호출 — 인터넷 필요, 무료지만 사용량 제한.
한국어 자연스러움 우수.
오프라인 TTS — pyttsx3.
pip install pyttsx3.
import pyttsx3.
engine = pyttsx3.init().
engine.say("Hello").
engine.runAndWait().
OS의 내장 TTS 엔진(맥의 say, 윈도우의 SAPI) 사용 — 인터넷 불필요.
한국어 품질은 OS에 따라 천차만별.
STT — SpeechRecognition.
pip install SpeechRecognition pyaudio.
import speech_recognition as sr.
r = sr.Recognizer().
with sr.Microphone() as src: audio = r.listen(src).
text = r.recognize_google(audio, language="ko-KR").
마이크 입력 → Google 음성 인식 → 텍스트.
프로덕션은 OpenAI Whisper.
오픈소스 모델(로컬 실행 가능)이면서 정확도가 매우 높음.
pip install openai-whisper.
model = whisper.load_model("base"); result = model.transcribe("audio.mp3").
한국어·영어·잡음 환경에 모두 강함.
한 줄 요약
TTS는 gTTS(클라우드)·pyttsx3(오프라인), STT는 SpeechRecognition(Google API)·Whisper(오픈소스 정확도 높음).
음성 자동화의 가장 친숙한 도구.
더 알아볼 것
- Whisper API vs 로컬 모델
- 음성 데이터 포맷 — wav/mp3
- ElevenLabs — 고품질 상용 TTS