Files
realtime_voice_bot/README.md

55 lines
1.5 KiB
Markdown

# realtime_voice_bot
출력장치로 재생되는 소리를 파일 저장 없이 바로 받아서, 메모리 버퍼에서 발화 구간을 나눈 뒤 `faster-whisper`로 STT 하는 최소 프로토타입입니다.
## 현재 범위
- Node.js + TypeScript 메인 프로세스
- 출력 오디오 실시간 캡처
- 메모리 버퍼 기반 간단한 저지연 발화 분리
- 미리 로드한 `faster-whisper` 워커에 PCM 직접 전달
- 디스크에 WAV 저장 없이 바로 전사
## 빠른 시작
```bash
bun install
bun run setup:python
cp .env.example .env
```
장치 목록 확인:
```bash
bun run devices
```
실행:
```bash
bun run start:loopback
```
## 환경 변수
- `AUDIO_SOURCE`
- Windows: `bun run devices` 에서 보이는 `ffmpeg dshow` 오디오 장치 이름
- Linux: `pactl list sources short` 에서 보이는 monitor/source 이름
- `WHISPER_MODEL`
- 기본값 `large-v3-turbo`
- `WHISPER_LANGUAGE`
- 기본값 `ko`
- `WHISPER_DEVICE`
- `auto`, `cuda`, `cpu`
- `WHISPER_COMPUTE_TYPE`
- `auto`, `float16`, `int8_float16`, `int8`, `float32`
- `WHISPER_BEAM_SIZE`
- 기본값 `1`
## 메모
- 이 버전은 일단 `STT`만 합니다.
- 최소 지연을 위해 파일 저장은 하지 않습니다.
- VAD는 현재 모델 기반이 아니라 진폭 기반 단순 분리입니다.
- Windows에서는 보통 출력 루프백이 가능한 장치나 `Stereo Mix`, 오디오 인터페이스 loopback 채널을 `AUDIO_SOURCE`로 잡아야 합니다.