关于 TTS 语音生成的一些测试效果

踩的坑

最近跑了不少声音的ai,总结一下踩的坑:

  • wav格式和mp3格式,只支持这俩格式,微信语音直接转是有难度的,必须用别的方法,但必须经过本人同意,感觉未来会有法律风险,因为模拟的真的很像;
  • wav为无损,mp3为有损
  • 中文和英文混输,会有无法断句,太紧凑的问题,我加了 [ ] , 能有效增加空隙,录音效果还不错,甚至有一点回声感、
  • 后续这种小项目快速跑就直接下整合包吧,不会和大项目打架,快速体验,在此特别感谢 B 站 UP 主ai王知风提供的整合包:知风伴_王知风官方平台 | AI开源项目整合包一键部署教程
I love you![ ] 这是一个测试!

关于版本

  • 1.5的正式版,朗读很稳定,但缺乏感情
  • 可以支持修改人物的情绪,且效果不错
  • 工作流版的支持双人对话效果

关于参数

  • top_k:采样时只从概率最高的前k个候选中选(这里是 30)。k越小,生成结果越 “稳” 但可能单调;k越大越多样但容易出错。
  • top_p:采样时累积概率达到p(这里是 0.8)就停止选候选。和 top_k 是互补的 “nucleus sampling” 策略,控制生成的随机性。
  • temperature:控制概率分布的 “平滑度”(这里是 1.0)。>1会让生成更随机,<1会让生成更集中于高概率候选。
  • num_beams:beam search 的束数(这里是 3)。束数越多,生成结果的 “质量上限” 可能越高,但速度越慢。
  • max_mel_tokens:输出语音对应的梅尔频谱的最大长度(这里是 786),决定了语音的最长时长。
  • max_text_tokens_per_sentence:单句文本的最大 token 数(这里是 94),限制单句输入的长度。
  • sentences_bucket_max_size:句子桶的最大容量(这里是 4),通常是批量处理时的句子数量限制。
  • fast_inference:快速推理开关。
    • true:速度更快
    • false:速度慢,输出 flac无损音频格式。
  • custom_cuda_kernel:自定义 CUDA 核函数开关。
    • true:用自定义的 GPU 加速代码,可能提升速度;
    • false(默认):用通用实现,兼容性更好但速度可能稍慢。
  • deepspeed:DeepSpeed 加速开关(微软的分布式训练 / 推理框架)。
    • true:用 DeepSpeed 优化推理速度(通常需要多 GPU);
    • false(默认):不用。
  • unload_model:推理后是否卸载模型。
    • true:推理完成后释放模型占用的显存 / 内存;
    • false:模型留在内存中,下次推理更快但占用资源。

💡
本银河星区空间站,是由 Tia(设计师+野生开发者)打造,主要分享技术日志、ai、设计、效率工具和在银河系生活的所思所想,欢迎分享文章