Add Windows Media TTS engine selection

This commit is contained in:
2026-05-01 04:01:33 +09:00
parent 1a8e8d0a8f
commit 52d7f74049
12 changed files with 475 additions and 77 deletions

View File

@@ -7,7 +7,7 @@
- STT: `faster-whisper` + Whisper multilingual
- LLM: `Ollama` + `qwen3:0.6b`
- TTS:
- Windows: 시스템 기본 음성 엔진
- Windows: `Windows.Media.SpeechSynthesis` 우선, 실패 시 시스템 기본 음성 엔진 fallback
- Linux/macOS: `kokoro-onnx` + `misaki[ko]`
- VAD: `avr-vad`
@@ -71,6 +71,12 @@ TTS만 단독으로 확인:
bun run tts:test -- "안녕하세요. 출력 장치 테스트입니다."
```
Windows 설치 음성 목록 확인:
```bash
bun run tts:voices
```
TTS WAV 파일만 생성해서 확인:
```bash
@@ -104,6 +110,8 @@ Discord 모드에서만 필수:
- `LOCAL_STT_DEVICE`
- `LOCAL_STT_COMPUTE_TYPE`
- `LOCAL_STT_BEAM_SIZE`
- `LOCAL_TTS_ENGINE`
- `LOCAL_TTS_VOICE_NAME`
- `LOCAL_TTS_MODEL_PATH`
- `LOCAL_TTS_VOICES_PATH`
- `LOCAL_TTS_LANGUAGE`
@@ -138,7 +146,8 @@ Windows에서 GPU STT를 쓰려면 `LOCAL_STT_DEVICE=auto` 그대로 두고 `bun
- STT 기본 권장 모델은 `small`
- LLM 기본 모델은 `qwen3:0.6b`
- TTS 기본 보이스는 `af_heart`
- Windows TTS 기본 보이스는 설치된 `windows-media` 음성 중 현재 언어에 맞는 첫 번째 항목
- Linux/macOS TTS 기본 보이스는 `af_heart`
- TTS 기본 속도는 `1.12`
더 빠르게 돌리고 싶으면:
@@ -169,11 +178,12 @@ OLLAMA_MODEL=qwen3:1.7b
## Windows 메모
- `bun run devices` 와 Windows 로컬 녹음은 `ffmpeg`가 필요합니다.
- Windows는 TTS를 Python 모델 대신 시스템 기본 음성 엔진으로 처리합니다.
- Windows는 기본적으로 `windows-media` 엔진을 우선 쓰고, 실패하면 `system` 엔진으로 자동 fallback 합니다.
- 출력 장치 직접 선택은 아직 미구현이라 시스템 기본 출력 장치로 재생됩니다.
- Python 탐지가 안 되면 `.env``LOCAL_AI_PYTHON=python` 또는 `LOCAL_AI_PYTHON=py -3` 를 넣으면 됩니다.
- Windows의 `setup:local-ai`는 STT와 CUDA 런타임 wheel을 함께 설치합니다.
- Linux/macOS의 `setup:local-ai`는 Kokoro ONNX 모델 파일도 자동으로 내려받습니다.
- 더 자연스러운 음성을 고르려면 `bun run tts:voices` 로 설치된 음성 이름을 확인한 뒤 `LOCAL_TTS_VOICE_NAME` 에 넣으면 됩니다.
## 설계 메모