mi-gpt-tts
Version:
适用于 MiGPT 的 TTS 模块,支持火山引擎、微软必应、OpenAI 等 TTS 服务。
66 lines (62 loc) • 1.46 kB
TypeScript
import { Readable } from 'stream';
interface VolcanoConfig {
appId: string;
accessToken: string;
userId?: string;
}
interface EdgeConfig {
trustedToken: string;
}
interface OpenAIConfig {
apiKey: string;
model?: string;
baseUrl?: string;
}
interface TTSConfig {
/**
* 默认音色
*
* 当指定的音色不存在时,会 fallback 到默认音色
*/
defaultSpeaker?: string;
volcano?: VolcanoConfig;
edge?: EdgeConfig;
openai?: OpenAIConfig;
}
type TTSBuilder = (options: TTSConfig & {
stream: Readable;
text: string;
speaker: string;
}) => Promise<Uint8Array | null>;
type TTSOptions = TTSConfig & {
stream?: Readable;
text?: string;
speaker?: string;
};
interface TTSSpeaker {
/**
* 音色名称
*/
name?: string;
/**
* 音色性别分类,男女(可选)
*/
gender?: string;
/**
* 音色标识
*/
speaker: string;
}
interface TTSProvider {
name: string;
speakers: TTSSpeaker[];
tts: TTSBuilder;
}
/**
* 此处注册 TTS 服务提供商
*/
declare const kTTSProviders: TTSProvider[];
declare const kTTSSpeakers: TTSSpeaker[];
declare function tts(options: TTSOptions): Promise<Uint8Array | null>;
declare function createTTS(config: TTSConfig): (options: TTSOptions) => Promise<Uint8Array | null>;
export { type TTSConfig, type TTSOptions, createTTS, kTTSProviders, kTTSSpeakers, tts };