diff --git a/extensions/deepgram/audio.live.test.ts b/extensions/deepgram/audio.live.test.ts index 66a209f2af70..fb1423226d08 100644 --- a/extensions/deepgram/audio.live.test.ts +++ b/extensions/deepgram/audio.live.test.ts @@ -1,15 +1,12 @@ // Deepgram tests cover audio plugin behavior. -import { - runRealtimeSttLiveTest, - synthesizeElevenLabsLiveSpeech, -} from "openclaw/plugin-sdk/provider-test-contracts"; +import { spawnSync } from "node:child_process"; +import { runRealtimeSttLiveTest } from "openclaw/plugin-sdk/provider-test-contracts"; import { isLiveTestEnabled } from "openclaw/plugin-sdk/test-live"; import { describe, expect, it } from "vitest"; import { transcribeDeepgramAudio } from "./audio.js"; import { buildDeepgramRealtimeTranscriptionProvider } from "./realtime-transcription-provider.js"; const DEEPGRAM_KEY = process.env.DEEPGRAM_API_KEY ?? ""; -const ELEVENLABS_KEY = process.env.ELEVENLABS_API_KEY ?? ""; const DEEPGRAM_MODEL = process.env.DEEPGRAM_MODEL?.trim() || "nova-3"; const DEEPGRAM_BASE_URL = process.env.DEEPGRAM_BASE_URL?.trim(); const SAMPLE_URL = @@ -34,6 +31,34 @@ async function fetchSampleBuffer(url: string, timeoutMs: number): Promise { it("transcribes sample audio", async () => { const buffer = await fetchSampleBuffer(SAMPLE_URL, 15000); @@ -50,17 +75,8 @@ describeLive("deepgram live", () => { }, 30000); it("streams realtime STT through the registered transcription provider", async () => { - if (!ELEVENLABS_KEY) { - throw new Error("ELEVENLABS_API_KEY required to synthesize live realtime STT input"); - } const provider = buildDeepgramRealtimeTranscriptionProvider(); - const phrase = "Testing OpenClaw Deepgram realtime transcription integration OK."; - const speech = await synthesizeElevenLabsLiveSpeech({ - text: phrase, - apiKey: ELEVENLABS_KEY, - outputFormat: "ulaw_8000", - timeoutMs: 30_000, - }); + const speech = convertWavToMulaw8k(await fetchSampleBuffer(SAMPLE_URL, 15_000)); expect(speech.byteLength).toBeGreaterThan(0); await runRealtimeSttLiveTest({ @@ -71,6 +87,7 @@ describeLive("deepgram live", () => { endpointingMs: 500, }, audio: Buffer.concat([Buffer.alloc(4000, 0xff), speech, Buffer.alloc(8000, 0xff)]), + expectedNormalizedText: "life moves pretty fast", }); }, 90_000); });