AI 음성 기술의 두 축: STT와 TTS
AI 음성 기술은 크게 두 가지로 나뉩니다:
- STT (Speech-to-Text): 음성 → 텍스트 변환
- TTS (Text-to-Speech): 텍스트 → 음성 합성
2025년에는 두 분야 모두 실용화 수준을 넘어 사람과 구분하기 어려운 품질에 도달했습니다.
STT 비교: 누가 가장 잘 알아들을까?
flowchart LR Audio[음성 입력] --> W[Whisper<br/>OpenAI 오픈소스] Audio --> GA[Google<br/>Speech-to-Text] Audio --> CL[Clova Speech<br/>Naver] Audio --> AWS[AWS Transcribe] W --> |한국어 WER| W_Score[8.3%] GA --> |한국어 WER| GA_Score[6.1%] CL --> |한국어 WER| CL_Score[4.2%]
WER(Word Error Rate): 낮을수록 좋음. 공개 벤치마크 기준
Whisper (OpenAI)
가장 많이 사용되는 오픈소스 STT입니다.
import whisper
model = whisper.load_model("large-v3") # large-v3가 가장 정확
# 파일 전사
result = model.transcribe("meeting.mp3", language="ko")
print(result["text"])
# 타임스탬프 포함
result = model.transcribe("meeting.mp3", language="ko", word_timestamps=True)
for segment in result["segments"]:
print(f"[{segment['start']:.1f}s ~ {segment['end']:.1f}s] {segment['text']}")
Whisper 모델 비교:
| 모델 | 크기 | 속도 | 한국어 정확도 |
|---|---|---|---|
| tiny | 39M | 32x | ★★☆☆☆ |
| base | 74M | 16x | ★★★☆☆ |
| small | 244M | 6x | ★★★★☆ |
| medium | 769M | 2x | ★★★★☆ |
| large-v3 | 1.5B | 1x | ★★★★★ |
강점: 무료, 오픈소스, 99개 언어, 로컬 실행 가능 약점: 실시간 처리 어려움, large 모델은 GPU 필요
faster
-whisper: 4배 빠른 Whisper
from faster_whisper import WhisperModel
# CTranslate2 백엔드로 훨씬 빠름
model = WhisperModel("large-v3", device="cuda", compute_type="float16")
segments, info = model.transcribe("meeting.mp3", language="ko")
for segment in segments:
print(f"[{segment.start:.1f}s] {segment.text}")
TTS 비교: 누가 가장 자연스럽게 읽을까?
ElevenLabs현재 TTS 분야 최고 품질입니다.
from elevenlabs import generate, play, save
from elevenlabs.client import ElevenLabs
client = ElevenLabs(api_key="...")
# 한국어 텍스트 → 음성
audio = client.generate(
text="안녕하세요. 저는 AI 음성 합성 시스템입니다.",
voice="Rachel", # 한국어를 잘 처리하는 영어 목소리
model="eleven_multilingual_v2", # 다국어 모델
)
save(audio, "output.mp3")
# 커스텀 목소리 복제
voice = client.clone(
name="my_voice",
files=["sample1.mp3", "sample2.mp3"], # 최소 1분 이상
description="내 목소리 클론"
)
가격: 무료 1만 글자/월, Starter $5/월 (3만 글자)
OpenAI TTSGPT-4와 통합되어 사용하기 편합니다:
from openai import OpenAI
from pathlib import Path
client = OpenAI()
response = client.audio.speech.create(
model="tts-1-hd", # 고품질
voice="nova", # alloy, echo, fable, onyx, nova, shimmer
input="2025년 AI 트렌드를 분석합니다.",
)
Path("speech.mp3").write_bytes(response.content)
가격: 30/1M (tts-1-hd)
Clova Speech (Naver)
한국어 특화, 국내 기업 서비스에 최적:
import requests
# Clova Speech API
url = "https://clovaspeech-gw.ncloud.com/recog/v1/stt"
headers = {
"X-CLOVASPEECH-API-KEY": "...",
"Content-Type": "application/octet-stream",
}
with open("meeting.mp3", "rb") as f:
response = requests.post(
url,
headers=headers,
data=f,
params={"lang": "Kor", "completion": "sync"}
)
print(response.json()["text"])
장점: 한국어 정확도 최고, 화자 분리(Speaker Diarization), GDPR/국내 규정 준수
실전 활용: 회의록 자동 생성
import whisper
from openai import OpenAI
def generate_meeting_minutes(audio_path: str) -> str:
# 1. STT: 음성 → 텍스트
whisper_model = whisper.load_model("large-v3")
result = whisper_model.transcribe(audio_path, language="ko")
transcript = result["text"]
# 2. LLM: 텍스트 → 회의록
client = OpenAI()
response = client.chat.completions.create(
model="gpt-4o",
messages=[{
"role": "system",
"content": "당신은 회의록 작성 전문가입니다. 회의 내용을 구조화된 회의록으로 정리하세요."
}, {
"role": "user",
"content": f"다음 회의 내용으로 회의록을 작성하세요:
{transcript}"
}]
)
return response.choices[0].message.content
# 사용
minutes = generate_meeting_minutes("weekly_meeting.mp3")
print(minutes)
실시간 STT: WebSocket 스트리밍
// 브라우저에서 실시간 음성 인식
const socket = new WebSocket('wss://api.deepgram.com/v1/listen', [
'token', process.env.DEEPGRAM_API_KEY!
])
navigator.mediaDevices.getUserMedia({ audio: true }).then(stream => {
const recorder = new MediaRecorder(stream, { mimeType: 'audio/webm' })
recorder.ondataavailable = (event) => {
if (socket.readyState === WebSocket.OPEN) {
socket.send(event.data)
}
}
socket.onmessage = (message) => {
const data = JSON.parse(message.data)
const transcript = data.channel?.alternatives[0]?.transcript
if (transcript) console.log('실시간:', transcript)
}
recorder.start(250) // 250ms마다 데이터 전송
})
선택 가이드
| 상황 | 추천 | 이유 |
|---|---|---|
| 한국어 STT, 최고 정확도 | Clova Speech | 국내 특화, 화자 분리 |
| 오픈소스 로컬 STT | faster-whisper | 무료, 프라이버시 |
| 영어/다국어 TTS | ElevenLabs | 최고 품질 |
| OpenAI 통합 TTS | OpenAI TTS | API 일관성 |
| 회의록 자동화 | Whisper + GPT-4o | 비용 효율 |
| 실시간 STT | Deepgram | 저지연 스트리밍 |
결론
2025년 AI 음성 기술은 실제 서비스에 충분히 쓸 수 있는 수준입니다.
- STT: Whisper(무료/오픈소스) 또는 Clova Speech(한국어 최강)
- TTS: ElevenLabs(최고 품질) 또는 OpenAI TTS(API 통합 편의)
- 실시간: Deepgram(저지연 WebSocket)
회의록 자동화, 콘텐츠 음성 변환, 고객 서비스 자동화 등 활용 범위가 넓습니다. 작은 프로젝트부터 Whisper 무료로 시작해보세요.





