From 0060f6f5fc4a1323b6c4bc267a3b1e9ba7a9c3ea Mon Sep 17 00:00:00 2001 From: Amp Date: Wed, 12 Aug 2026 05:19:42 +0000 Subject: [PATCH] refactor(tts-local-cli): flatten audio conversion Amp-Thread-ID: https://ampcode.com/threads/T-019ff438-3b93-77b8-9828-1d3c586cb127 --- extensions/tts-local-cli/speech-provider.ts | 38 +++++---------------- 1 file changed, 9 insertions(+), 29 deletions(-) diff --git a/extensions/tts-local-cli/speech-provider.ts b/extensions/tts-local-cli/speech-provider.ts index b7e17aa28978..4b24fbd668c1 100644 --- a/extensions/tts-local-cli/speech-provider.ts +++ b/extensions/tts-local-cli/speech-provider.ts @@ -345,36 +345,16 @@ export function buildCliSpeechProvider(): SpeechProviderPlugin { log.debug(`synthesize: format=${result.actualFormat}, size=${result.buffer.length}`); - let buffer: Buffer; - let format: OutputFormat; - - if (req.target === "voice-note") { - if (result.actualFormat !== "opus") { - const inputFile = - result.audioPath ?? path.join(tempDir, `input${getFileExt(result.actualFormat)}`); - if (!result.audioPath) { - await temp.write(`input${getFileExt(result.actualFormat)}`, result.buffer); - } - buffer = await convertAudio(inputFile, tempDir, "opus"); - format = "opus"; - } else { - buffer = result.buffer; - format = "opus"; - } - } else { - const desired = config.outputFormat ?? "mp3"; - if (result.actualFormat !== desired) { - const inputFile = - result.audioPath ?? path.join(tempDir, `input${getFileExt(result.actualFormat)}`); - if (!result.audioPath) { - await temp.write(`input${getFileExt(result.actualFormat)}`, result.buffer); - } - buffer = await convertAudio(inputFile, tempDir, desired); - format = desired; - } else { - buffer = result.buffer; - format = result.actualFormat; + const format: OutputFormat = + req.target === "voice-note" ? "opus" : (config.outputFormat ?? "mp3"); + let buffer = result.buffer; + if (result.actualFormat !== format) { + const inputName = `input${getFileExt(result.actualFormat)}`; + const inputFile = result.audioPath ?? path.join(tempDir, inputName); + if (!result.audioPath) { + await temp.write(inputName, result.buffer); } + buffer = await convertAudio(inputFile, tempDir, format); } const fileExtension = format === "opus" ? ".ogg" : `.${format}`;