Switch local TTS to Kokoro ONNX

This commit is contained in:
2026-04-30 03:51:08 +09:00
parent 178283be61
commit 18369ea7cb
10 changed files with 112 additions and 49 deletions

View File

@@ -7,12 +7,13 @@ import type { Logger } from "../logger.js";
import { resolveFfmpegPath } from "../audio/ffmpeg-path.js";
import { PythonJsonWorker } from "./python-json-worker.js";
import type { PreparedSpeechAudio, TtsService } from "./tts.js";
import { resolveLocalAiTtsModelPath, resolveLocalAiTtsVoicesPath } from "../python-runtime.js";
interface SynthesizeResult {
wav_base64?: string;
}
export class LocalMeloTtsService implements TtsService {
export class LocalKokoroTtsService implements TtsService {
private readonly worker: PythonJsonWorker;
constructor(config: AssistantRuntimeConfig, logger: Logger) {
@@ -22,6 +23,8 @@ export class LocalMeloTtsService implements TtsService {
}
this.worker = new PythonJsonWorker(config, logger, "local_tts_worker.py", "local-tts", {
LOCAL_TTS_MODEL_PATH: resolveLocalAiTtsModelPath(config),
LOCAL_TTS_VOICES_PATH: resolveLocalAiTtsVoicesPath(config),
LOCAL_TTS_LANGUAGE: config.LOCAL_TTS_LANGUAGE,
LOCAL_TTS_SPEAKER: config.LOCAL_TTS_SPEAKER,
LOCAL_TTS_DEVICE: config.LOCAL_TTS_DEVICE,