@webgal-tools/voice
Version:
WebGAL GPT-SoVITS语音合成应用
117 lines • 3.38 kB
TypeScript
declare const LANGUAGE_OPTIONS: {
中文: string;
英文: string;
日文: string;
粤语: string;
韩文: string;
中英混合: string;
日英混合: string;
粤英混合: string;
韩英混合: string;
多语种混合: string;
'\u591A\u8BED\u79CD\u6DF7\u5408(\u7CA4\u8BED)': string;
};
declare const TEXT_CUT_OPTIONS: {
不切: string;
凑四句一切: string;
凑50字一切: string;
'\u6309\u4E2D\u6587\u53E5\u53F7\u3002\u5207': string;
'\u6309\u82F1\u6587\u53E5\u53F7.\u5207': string;
按标点符号切: string;
};
interface VoiceGenerationConfig {
prompt_language?: keyof typeof LANGUAGE_OPTIONS;
text_language?: keyof typeof LANGUAGE_OPTIONS;
how_to_cut?: keyof typeof TEXT_CUT_OPTIONS;
top_k?: number;
top_p?: number;
temperature?: number;
ref_text_free?: boolean;
speed?: number;
if_freeze?: boolean;
inp_refs?: string[] | null;
sample_steps?: number;
if_sr?: boolean;
pause_second?: number;
}
declare class GPTSoVITSAPI {
private baseUrl;
private sessionHash;
private modelVersion;
constructor(baseUrl?: string, modelVersion?: string);
private generateSessionHash;
/**
* 验证参数是否在允许范围内
*/
private validateConfig;
/**
* 验证音频文件
*/
private validateAudioFile;
/**
* 发送请求到 Gradio 队列
*/
private sendToQueue;
/**
* 通过 SSE 监听任务完成状态
*/
private waitForCompletion;
/**
* 将音频文件上传到 Gradio
*/
private prepareAudioFile;
/**
* 准备多个参考音频文件
*/
private prepareMultipleAudioFiles;
/**
* 获取文件MIME类型
*/
private getMimeType;
/**
* 设置 GPT 模型
*/
setGptModel(modelName: string): Promise<boolean>;
/**
* 设置 SoVITS 模型
*/
setSovitsModel(modelName: string, promptLanguage?: keyof typeof LANGUAGE_OPTIONS, textLanguage?: keyof typeof LANGUAGE_OPTIONS): Promise<boolean>;
/**
* 生成语音
*/
generateVoice(refVoicePath: string, refVoiceText: string, targetText: string, config?: VoiceGenerationConfig): Promise<string>;
/**
* 获取可用的语言选项
*/
static getLanguageOptions(): string[];
/**
* 获取可用的文本切分选项
*/
static getTextCutOptions(): string[];
/**
* 获取模型版本允许的采样步数
*/
getSampleStepsOptions(): number[];
/**
* 获取音频文件的下载URL
*/
getAudioDownloadUrl(audioPath: string): string;
/**
* 下载生成的音频文件
*/
downloadAudio(audioPath: string, outputPath: string): Promise<void>;
}
/**
* 设置 GPT 模型
*/
export declare function set_gpt_model(modelName: string): Promise<boolean>;
/**
* 设置 SoVITS 模型
*/
export declare function set_sovits_model(modelName: string, promptLanguage?: keyof typeof LANGUAGE_OPTIONS, textLanguage?: keyof typeof LANGUAGE_OPTIONS): Promise<boolean>;
/**
* 生成语音
*/
export declare function generate_voice(refVoicePath: string, refVoiceText: string, targetText: string, config?: VoiceGenerationConfig): Promise<string>;
export { GPTSoVITSAPI, VoiceGenerationConfig, LANGUAGE_OPTIONS, TEXT_CUT_OPTIONS };
//# sourceMappingURL=request.d.ts.map