diff --git a/src/commands/projects/voice-advanced/commands.test.ts b/src/commands/projects/voice-advanced/commands.test.ts index b13d318..179f062 100644 --- a/src/commands/projects/voice-advanced/commands.test.ts +++ b/src/commands/projects/voice-advanced/commands.test.ts @@ -46,7 +46,9 @@ describe("projects voice-advanced commands", () => { it("lists every canonical voice-advanced key", () => { expect(VOICE_ADVANCED_SETTING_KEYS).toContain("noiseSuppression.enabled"); - expect(VOICE_ADVANCED_SETTING_KEYS).toHaveLength(22); + expect(VOICE_ADVANCED_SETTING_KEYS).toContain("languageId.enabled"); + expect(VOICE_ADVANCED_SETTING_KEYS).toContain("languageId.minSpeechMs"); + expect(VOICE_ADVANCED_SETTING_KEYS).toHaveLength(24); }); it("lists resolved advanced settings", async () => { diff --git a/src/commands/projects/voice-advanced/defs.ts b/src/commands/projects/voice-advanced/defs.ts index fcfcafd..53fa0b8 100644 --- a/src/commands/projects/voice-advanced/defs.ts +++ b/src/commands/projects/voice-advanced/defs.ts @@ -20,6 +20,8 @@ export const VOICE_ADVANCED_SETTING_KEYS = [ "tts.speed", "tts.postUtteranceSilenceMs", "noiseSuppression.enabled", + "languageId.enabled", + "languageId.minSpeechMs", "events.mode", ] as const; @@ -169,6 +171,20 @@ export const VOICE_ADVANCED_SETTING_DEFS: Record< description: "Applies Xiph RNNoise to inbound PCM before VAD and STT on voice runners.", }, + "languageId.enabled": { + type: "boolean", + default: true, + description: + "Enable spoken language identification (Sherpa Whisper tiny) on voice deploys.", + }, + "languageId.minSpeechMs": { + type: "number", + default: 2500, + min: 1000, + max: 5000, + description: + "Minimum inbound PCM (ms) before first spoken-language identify per utterance (cloud default 2500).", + }, "events.mode": { type: "string", default: "both", diff --git a/src/lib/api.ts b/src/lib/api.ts index 97ede43..cad1dad 100644 --- a/src/lib/api.ts +++ b/src/lib/api.ts @@ -291,7 +291,9 @@ export type VoiceAdvancedSettingKey = | "tts.speed" | "tts.postUtteranceSilenceMs" | "events.mode" - | "noiseSuppression.enabled"; + | "noiseSuppression.enabled" + | "languageId.enabled" + | "languageId.minSpeechMs"; export interface ProjectVoiceAdvancedSettingsResponse { project_id: string;