Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion src/commands/projects/voice-advanced/commands.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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 () => {
Expand Down
16 changes: 16 additions & 0 deletions src/commands/projects/voice-advanced/defs.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ export const VOICE_ADVANCED_SETTING_KEYS = [
"tts.speed",
"tts.postUtteranceSilenceMs",
"noiseSuppression.enabled",
"languageId.enabled",
"languageId.minSpeechMs",
"events.mode",
] as const;

Expand Down Expand Up @@ -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",
Expand Down
4 changes: 3 additions & 1 deletion src/lib/api.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
Loading