mirror of https://github.com/openclaw/openclaw.git
56 lines
1.2 KiB
TypeScript
56 lines
1.2 KiB
TypeScript
import type { OpenClawConfig } from "../config/config.js";
|
|
import type { ResolvedTtsConfig, TtsDirectiveOverrides } from "./tts.js";
|
|
|
|
export type SpeechProviderId = string;
|
|
|
|
export type SpeechSynthesisTarget = "audio-file" | "voice-note";
|
|
|
|
export type SpeechProviderConfiguredContext = {
|
|
cfg?: OpenClawConfig;
|
|
config: ResolvedTtsConfig;
|
|
};
|
|
|
|
export type SpeechSynthesisRequest = {
|
|
text: string;
|
|
cfg: OpenClawConfig;
|
|
config: ResolvedTtsConfig;
|
|
target: SpeechSynthesisTarget;
|
|
overrides?: TtsDirectiveOverrides;
|
|
};
|
|
|
|
export type SpeechSynthesisResult = {
|
|
audioBuffer: Buffer;
|
|
outputFormat: string;
|
|
fileExtension: string;
|
|
voiceCompatible: boolean;
|
|
};
|
|
|
|
export type SpeechTelephonySynthesisRequest = {
|
|
text: string;
|
|
cfg: OpenClawConfig;
|
|
config: ResolvedTtsConfig;
|
|
};
|
|
|
|
export type SpeechTelephonySynthesisResult = {
|
|
audioBuffer: Buffer;
|
|
outputFormat: string;
|
|
sampleRate: number;
|
|
};
|
|
|
|
export type SpeechVoiceOption = {
|
|
id: string;
|
|
name?: string;
|
|
category?: string;
|
|
description?: string;
|
|
locale?: string;
|
|
gender?: string;
|
|
personalities?: string[];
|
|
};
|
|
|
|
export type SpeechListVoicesRequest = {
|
|
cfg?: OpenClawConfig;
|
|
config?: ResolvedTtsConfig;
|
|
apiKey?: string;
|
|
baseUrl?: string;
|
|
};
|