osborn 0.9.109 → 0.9.111
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +8 -10
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -586,7 +586,7 @@ function startApiServer(workingDir, port) {
|
|
|
586
586
|
// WAV/linear16, not mp3: mp3 files carry encoder padding (leading/
|
|
587
587
|
// trailing silence + boundary click) — back-to-back sentence clips
|
|
588
588
|
// were heard as "cracking". WAV is gapless-safe and cheaper to decode.
|
|
589
|
-
const dg = await fetch('https://api.deepgram.com/v1/speak?model=aura-2-thalia-en&encoding=linear16&sample_rate=
|
|
589
|
+
const dg = await fetch('https://api.deepgram.com/v1/speak?model=aura-2-thalia-en&encoding=linear16&sample_rate=48000&container=wav', {
|
|
590
590
|
method: 'POST',
|
|
591
591
|
headers: { 'Authorization': `Token ${dgKey}`, 'Content-Type': 'application/json' },
|
|
592
592
|
body: JSON.stringify({ text }),
|
|
@@ -2558,15 +2558,13 @@ async function main() {
|
|
|
2558
2558
|
// (reuse of the regular speak path; no Bash roundtrip). Silent-observer
|
|
2559
2559
|
// turns stay suppressed as before.
|
|
2560
2560
|
if (activeMeetingBotId && Date.now() < meetingAddressedUntil) {
|
|
2561
|
-
//
|
|
2562
|
-
//
|
|
2563
|
-
//
|
|
2564
|
-
//
|
|
2565
|
-
|
|
2566
|
-
|
|
2567
|
-
|
|
2568
|
-
for (const s of chunks)
|
|
2569
|
-
pushCanvas({ kind: 'say', text: s });
|
|
2561
|
+
// ONE say per reply (2026-08-01 quality directive): chunking created
|
|
2562
|
+
// seams no scheduler fully hid. A single utterance = a single clean
|
|
2563
|
+
// audio file = zero seams — quality over ~1s of latency. (Structural
|
|
2564
|
+
// fix queued: canvas as LiveKit subscriber playing the agent's real
|
|
2565
|
+
// TTS track — the true "same browser experience" reuse.)
|
|
2566
|
+
console.log(`🔊➡️📽️ tts_say → canvas (single utterance) t=${new Date().toISOString()}: "${data.text.slice(0, 60)}"`);
|
|
2567
|
+
pushCanvas({ kind: 'say', text: data.text });
|
|
2570
2568
|
markMeetingSpeaking(data.text);
|
|
2571
2569
|
return;
|
|
2572
2570
|
}
|