Add README, faster-whisper backend, and session fixes
- README explaining experimental/transparency purpose - faster-whisper STT backend (fw-stt.mjs, faster-whisper-server.py, install-faster-whisper.sh) - Bug fixes: Buffer alignment in on_audio, --debug-waveform URL parsing, silent fetch errors, instant dispatch timer leak - Global uncaughtException/unhandledRejection handlers in query-demo.mjs - Design docs: CHANGELOG, COMMAND-DISPATCH, INTERFACE-THEORY, VOICE-POLICY - Systemd service unit templates Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -153,11 +153,19 @@ const server = http.createServer(async (req, res) => {
|
||||
opts.audio_prompt = voices[current_voice].path
|
||||
}
|
||||
|
||||
try {
|
||||
await enqueue(() => tts.speak_streaming(text, { preprocess: false, ...opts }))
|
||||
send(res, 200, { ok: true })
|
||||
} catch (err) {
|
||||
send(res, 500, { error: err.message })
|
||||
const wait = opts.wait === true
|
||||
const promise = enqueue(() => tts.speak_streaming(text, { preprocess: false, ...opts }))
|
||||
|
||||
if (wait) {
|
||||
try {
|
||||
await promise
|
||||
send(res, 200, { ok: true })
|
||||
} catch (err) {
|
||||
send(res, 500, { error: err.message })
|
||||
}
|
||||
} else {
|
||||
promise.catch(err => console.error('speak error:', err.message))
|
||||
send(res, 200, { ok: true, queued: true })
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user