- Install ffmpeg-static and @types/ffmpeg-static - Create voice-pipeline.ts with voicePipelineService factory function - transcodeToWav16k: pipes audio through ffmpeg at 16kHz mono WAV - transcribe: whisper-cpp cascade with --language auto, falls back to openai-whisper - synthesize: piper TTS with sentence chunking and 8s timeout via Promise.race - formatForVoice: extracts SPOKEN marker or strips markdown as fallback - Unit tests with mocked child_process (12 tests all passing) |
||
|---|---|---|
| .. | ||
| scripts | ||
| src | ||
| CHANGELOG.md | ||
| package.json | ||
| tsconfig.json | ||
| vitest.config.ts | ||