🎤 智能语音合成系统(流式输出)

文本转语音 + 音色克隆一体化解决方案 - 支持长音频流式处理

TTS服务在线
音色克隆服务在线
输入文本
TTS合成
目标音色
音色克隆
下载结果
1

TTS文本转语音

高级选项
2

上传目标音色

上传您想要模仿的声音(建议2-10秒清晰音频,支持WAV、MP3、FLAC、OGG格式)

点击上传或拖拽音频文件

将音频文件拖放到此处,或点击选择文件

提示:目标音色应该清晰无背景噪音,包含完整的语音特征

3

音色克隆设置

源音色为主 目标音色为主
参数建议:
0.0-0.2: 保持较多源音频特征
0.3-0.5: 平衡模式(推荐)
0.6-1.0: 强烈应用目标音色
等待TTS生成或上传
等待上传
系统状态
准备开始语音合成...
最近操作
系统初始化完成 刚刚
TTS API 接口

服务地址: https://lglfr-tts.hf.space

生成语音 (POST /api/tts)
{ "text": "要转换的文本", "model": "zh_CN-huayan-medium", "speed": 1.0, "volume": 1.0, "noise_scale": 0.667, "sentence_silence": 0.5 }
音色克隆 API 接口

服务地址: https://lglfr-ivc.hf.space

音色克隆 (POST /api/clone)
{ "target_audio": "data:audio/wav;base64,UklGRi...", "source_audio": "data:audio/wav;base64,UklGRi...", "tau": 0.3 }
响应示例:
{ "success": true, "message": "音色克隆成功", "result_audio": "UklGRi...", "stats": { "extract_time": "1.23s", "clone_time": "2.45s", "total_time": "3.68s" } }
流式处理 API 使用
流式处理通过客户端将长音频切分为多个片段,然后并发处理,最后合并结果。
JavaScript 流式处理示例
// 切分音频为片段 async function splitAudioIntoSegments(audioBlob, segmentDuration = 10) { const audioContext = new AudioContext(); const arrayBuffer = await audioBlob.arrayBuffer(); const audioBuffer = await audioContext.decodeAudioData(arrayBuffer); // 计算片段数量 const samplesPerSegment = segmentDuration * audioBuffer.sampleRate; const segments = []; for (let i = 0; i < audioBuffer.length; i += samplesPerSegment) { // 创建音频片段... segments.push(audioSegment); } return segments; } // 并发处理片段 async function processSegmentsConcurrently(segments, targetAudioBase64) { const results = []; const concurrentLimit = 3; // 并发数 for (let i = 0; i < segments.length; i += concurrentLimit) { const batch = segments.slice(i, i + concurrentLimit); const promises = batch.map(segment => fetch(`${ISV_SERVER}/api/clone`, { method: 'POST', headers: {'Content-Type': 'application/json'}, body: JSON.stringify({ target_audio: targetAudioBase64, source_audio: segment, tau: 0.3 }) }).then(res => res.json()) ); const batchResults = await Promise.all(promises); results.push(...batchResults); // 更新进度 updateProgress(i + batch.length, segments.length); } return results; }
流式处理优势
  • 处理长音频:支持处理任意长度的音频
  • 容错性:单个片段失败不影响其他片段
  • 实时反馈:可以实时看到处理进度
  • 并发加速:多个片段可以同时处理