Fish-Speech 1.5 零基础教程:5分钟搭建语音合成WebUI

Fish-Speech 1.5 零基础教程:5分钟搭建语音合成WebUI

想不想拥有一个自己的“AI配音师”?不用下载软件,不用配置复杂环境,5分钟就能在浏览器里生成各种声音。今天,我就带你从零开始,用最简单的方式搭建Fish-Speech 1.5的语音合成WebUI。

Fish-Speech 1.5是个很厉害的语音合成模型,它最大的特点就是“聪明”。传统的语音合成需要依赖复杂的音素规则库,而这个模型能直接理解文本,就像人一样,看到文字就能读出来。它采用了一种创新的双自回归Transformer架构,计算效率高,生成的声音质量也好。

最棒的是,现在有现成的镜像可以直接用,省去了所有安装配置的麻烦。下面我就手把手教你,怎么在5分钟内把它跑起来。

1. 准备工作:理解我们要做什么

在开始之前,我们先简单了解一下这个项目。Fish-Speech 1.5提供了两种使用方式:

WebUI(网页界面):这是最推荐的方式。打开浏览器,输入文字,点一下按钮,就能听到生成的声音。界面是中文的,操作起来非常直观,适合大多数人使用。

API接口:如果你想把语音合成功能集成到自己的程序里,比如做个自动播报系统,那就用API。通过发送HTTP请求,就能获得语音文件。

这个镜像已经把两种方式都部署好了,我们主要用WebUI。服务启动后,会占用两个端口:

  • 7860端口:WebUI的访问入口
  • 8080端口:API的访问入口

所有服务都由Supervisor管理,这意味着它们会开机自动启动,如果意外崩溃也会自动重启,非常稳定。

2. 快速启动:5分钟搞定所有步骤

2.1 第一步:获取并启动镜像

如果你是在支持镜像部署的环境里(比如一些云平台或本地容器环境),直接找到“fish-speech - 1.5 开源文本转语音(TTS)模型Webui”这个镜像,点击部署就行。

镜像启动后,系统会自动完成所有配置,包括:

  • 安装Python环境和依赖包
  • 下载Fish-Speech 1.5模型文件
  • 配置中文界面
  • 启动WebUI和API服务

整个过程完全自动化,你不需要输入任何命令。

2.2 第二步:访问WebUI界面

服务启动需要一点时间,通常1-2分钟。怎么知道它启动好了呢?可以查看服务日志,或者等一会儿直接尝试访问。

打开你的浏览器,在地址栏输入:

http://你的服务器IP:7860 

把“你的服务器IP”换成实际的服务地址。如果是在本地运行,可能就是http://localhost:7860http://127.0.0.1:7860

看到类似下面的界面,就说明成功了:

Fish-Speech WebUI界面示意图

界面是中文的,左侧是输入区域,右侧是控制区域,中间是生成结果。布局很清晰,一看就知道怎么用。

2.3 第三步:第一次语音合成体验

现在我们来生成第一段语音,感受一下这个工具的能力。

  1. 输入文本:在左侧的“输入文本”框中,输入你想让AI读出来的文字。比如:“你好,欢迎使用Fish-Speech语音合成系统。”
  2. 重要提示:输入文字后,务必等待实时规范化文本同步完成。你会看到输入框下方有个提示,等它显示“同步完成”或类似状态后,再点击生成按钮。这是为了确保文本被正确预处理。
  3. 生成音频:点击右侧的“🎧 生成”按钮(虽然我们文章里不能用emoji,但界面上有这个图标)。
  4. 等待结果:系统开始处理你的请求。根据文本长度,通常几秒到十几秒就能完成。
  5. 播放和下载:生成完成后,页面会显示一个音频播放器,点击播放按钮就能听到AI生成的声音。如果满意,可以点击下载按钮保存到本地。

第一次使用建议用短文本测试,比如10-20个字,这样生成速度快,能快速看到效果。

3. 核心功能详解:不只是基础合成

Fish-Speech 1.5的功能比看起来更强大,下面我详细介绍一下它的几个核心特性。

3.1 声音克隆:让AI模仿特定音色

这是最有趣的功能之一。你可以上传一段参考音频(比如你自己的声音,或者某个你喜欢的主播声音),然后让AI用这个音色来读其他文字。

具体操作步骤:

  1. 准备参考音频:找一段5-10秒的清晰人声录音。背景噪音要小,吐字要清晰。支持常见的音频格式,如wav、mp3等。
  2. 上传参考音频:在WebUI中找到“参考音频”相关区域,点击上传按钮选择你的音频文件。
  3. 填写参考文本:这是关键一步!你需要输入参考音频对应的准确文字内容。比如你上传的音频说的是“今天天气真好”,那就在这里输入“今天天气真好”。这能帮助AI更好地理解音频内容。
  4. 生成新语音:现在输入你想让AI说的新文本,点击生成。AI会尽量模仿参考音频的音色、语调和说话风格。

使用技巧:

  • 参考音频不要太长,5-10秒效果最好
  • 确保参考文本准确无误,标点符号也要一致
  • 同一个音色可以重复使用,系统会缓存处理结果

3.2 参数调整:控制语音的“性格”

如果你对生成效果有特定要求,可以调整这些参数:

基础参数:

  • 文本:要合成的文字内容
  • 输出格式:可以选择wav、mp3或flac格式

高级参数(在“高级设置”中):

  • 温度:控制语音的随机性和“创造力”。值越低(如0.6),语音越稳定、可预测;值越高(如0.9),语音越有变化、更自然。建议从0.7开始尝试。
  • Top-P:影响用词的选择范围。默认0.7效果不错,调高到0.8会让语音更流畅。
  • 重复惩罚:避免语音中重复相同的词或短语。如果发现AI老重复某个词,可以把这个值调高到1.3-1.5。
  • 最大新令牌数:控制单次生成的最大长度。对于长文本,系统会自动分段处理,这个参数影响每段的大小。

给新手的建议: 刚开始用默认参数就行,等熟悉了再慢慢调整。如果生成的声音有点机械,可以稍微调高温度(0.75)和Top-P(0.75)。如果声音不稳定、老重复,就调高重复惩罚(1.3)。

3.3 批量处理与长文本支持

虽然WebUI界面一次只能输入一段文本,但你可以通过一些技巧处理长内容:

处理长文本的方法:

  1. 分段输入:把长文章分成几个段落,分别生成,然后用音频编辑软件拼接。
  2. 使用API:对于真正的批量需求,用API更合适,可以写个脚本循环处理。

性能参考:

  • 生成速度:约每秒18个token(可以理解为每秒18个“语音单元”)
  • GPU内存占用:约1.84GB
  • 模型大小:约1.4GB

这意味着即使是配置不高的显卡也能流畅运行,生成一段10秒的语音通常只需要几秒钟。

4. 通过API编程调用

如果你是个开发者,想把语音合成集成到自己的应用里,API方式更适合你。镜像已经部署好了API服务,访问地址是:

http://你的服务器IP:8080 

4.1 查看API文档

在浏览器中访问上面的地址,你会看到一个Swagger UI界面,里面列出了所有可用的API接口和参数说明。这是最权威的文档,所有参数的含义和取值范围都有详细说明。

4.2 Python调用示例

下面是一个最简单的Python调用示例:

import requests # API地址 url = "http://你的服务器IP:8080/v1/tts" # 请求参数 payload = { "text": "你好,这是一个API测试示例。", "format": "wav" } # 发送请求 response = requests.post(url, json=payload) # 保存音频文件 if response.status_code == 200: with open("output.wav", "wb") as f: f.write(response.content) print("语音生成成功,已保存为output.wav") else: print(f"请求失败,状态码:{response.status_code}") print(f"错误信息:{response.text}") 

参数说明:

  • text:要合成的文本,必填
  • format:输出格式,可选wav、mp3、flac,默认wav
  • 其他参数如temperaturetop_p等都可以按需添加

4.3 更完整的Python示例

如果你需要更多控制,比如使用参考音频,可以这样写:

import requests import base64 # API地址 url = "http://你的服务器IP:8080/v1/tts" # 读取参考音频文件并编码为base64 with open("reference.wav", "rb") as audio_file: audio_base64 = base64.b64encode(audio_file.read()).decode('utf-8') # 请求参数 payload = { "text": "用参考音频的音色说这句话。", "references": [ { "audio": audio_base64, "text": "这是参考音频的原文内容" } ], "temperature": 0.7, "top_p": 0.7, "repetition_penalty": 1.2, "format": "mp3" } # 发送请求 response = requests.post(url, json=payload) if response.status_code == 200: with open("output_with_reference.mp3", "wb") as f: f.write(response.content) print("带参考音频的语音生成成功") else: print(f"错误:{response.status_code}, {response.text}") 

4.4 使用cURL命令行调用

如果你习惯用命令行,也可以用cURL直接调用:

curl -X POST "http://你的服务器IP:8080/v1/tts" \ -H "Content-Type: application/json" \ -d '{ "text": "这是通过命令行生成的语音。", "temperature": 0.7, "format": "wav" }' \ --output speech.wav 

5. 服务管理与故障排查

镜像中的服务由Supervisor管理,下面是一些常用的管理命令。

5.1 服务状态检查

# 查看所有服务状态 supervisorctl status # 预期输出类似: # fish-speech-webui RUNNING pid 12345, uptime 1:23:45 # fish-speech RUNNING pid 12346, uptime 1:23:45 

5.2 服务控制命令

# 重启WebUI服务(修改配置后需要) supervisorctl restart fish-speech-webui # 重启API服务 supervisorctl restart fish-speech # 停止服务 supervisorctl stop fish-speech-webui supervisorctl stop fish-speech # 启动服务 supervisorctl start fish-speech-webui supervisorctl start fish-speech 

5.3 查看日志

遇到问题时,查看日志是最直接的排查方法:

# 查看WebUI输出日志(最近100行) tail -100 /var/log/fish-speech-webui.out.log # 查看WebUI错误日志 tail -100 /var/log/fish-speech-webui.err.log # 查看API输出日志 tail -100 /var/log/fish-speech.out.log # 查看API错误日志 tail -100 /var/log/fish-speech.err.log # 实时查看日志更新 tail -f /var/log/fish-speech-webui.out.log 

5.4 常见问题解决

问题1:无法访问WebUI(端口7860)

可能原因和解决方法:

  1. 服务未启动:运行supervisorctl status检查服务状态
  2. 端口被占用:运行netstat -tlnp | grep 7860查看端口占用情况
  3. 防火墙限制:确保7860端口在防火墙中是开放的

问题2:生成时提示GPU内存不足

解决方法:

  1. 在WebUI中减小max_new_tokens参数值
  2. 缩短输入文本长度,分段生成
  3. 如果实在不行,可以修改配置使用CPU模式(但速度会慢很多)

问题3:生成的声音质量不理想

可以尝试:

  1. 调整温度参数(0.6-0.8范围内尝试)
  2. 提高重复惩罚值(1.3-1.5)
  3. 使用更清晰的参考音频,确保参考文本准确
  4. 检查输入文本是否有生僻字或特殊符号

问题4:生成速度慢

正常生成速度是每秒18个token左右,如果明显慢于这个速度:

  1. 检查GPU是否正常工作
  2. 查看系统资源使用情况
  3. 尝试缩短文本长度测试

6. 高级配置与优化

6.1 修改界面语言

系统默认是中文界面,如果你想切换成其他语言,可以修改配置文件:

# 编辑语言配置文件 echo "en_US" > /root/fish-speech-1.5/.locale # 重启WebUI服务使更改生效 supervisorctl restart fish-speech-webui 

支持的语言包括:

  • zh_CN:简体中文(默认)
  • en_US:英文
  • ja_JP:日语
  • ko_KR:韩语

6.2 生产环境部署建议

如果你打算在正式环境中使用,建议做以下配置:

1. 添加反向代理(如Nginx)

# Nginx配置示例 server { listen 80; server_name your-domain.com; location / { proxy_pass http://localhost:7860; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } 

2. 配置HTTPS 使用Let's Encrypt等工具为域名配置SSL证书,确保通信安全。

3. 添加访问控制

  • 设置API Key认证
  • 限制访问IP范围
  • 配置请求频率限制

4. 监控与告警

  • 监控GPU使用率
  • 设置服务健康检查
  • 配置日志轮转,避免日志文件过大

6.3 性能优化建议

对于高并发场景:

  1. 考虑部署多个实例,使用负载均衡
  2. 调整Supervisor的进程数配置
  3. 使用GPU内存更大的设备

对于长文本处理:

  1. 合理设置chunk_length参数
  2. 实现客户端的分段请求逻辑
  3. 考虑使用流式响应,边生成边返回

7. 总结

通过这个教程,你应该已经掌握了Fish-Speech 1.5语音合成系统的完整使用方法。我们来回顾一下重点:

核心收获:

  1. 5分钟快速部署:利用现成镜像,无需复杂配置,快速拥有自己的语音合成服务
  2. 两种使用方式:WebUI适合交互式使用,API适合集成到其他应用
  3. 强大功能:不仅支持基础文本转语音,还能进行声音克隆,模仿特定音色
  4. 易于调整:通过温度、Top-P等参数,可以精细控制生成语音的风格
  5. 稳定可靠:服务由Supervisor管理,自动重启,适合长期运行

给新手的建议:

  • 先从WebUI开始,熟悉基本操作
  • 用短文本测试,快速看到效果
  • 尝试声音克隆功能,这是最有意思的部分
  • 遇到问题先查日志,大多数问题都有明确提示

进阶方向:

  • 学习API调用,把语音合成集成到自己的项目中
  • 尝试调整参数,找到最适合你需求的配置
  • 探索批量处理长文本的方法
  • 考虑生产环境的安全和性能优化

Fish-Speech 1.5作为一个开源的语音合成方案,在效果和易用性之间取得了很好的平衡。无论是做内容创作、辅助工具开发,还是学习AI技术,它都是一个很好的起点。

现在,你已经有了一个随时可用的AI配音师。打开浏览器,输入文字,听听AI为你朗读的声音吧。从简单的测试开始,慢慢探索它的所有可能性,你会发现语音合成技术离我们并不遥远。


获取更多AI镜像

想探索更多AI镜像和应用场景?访问 ZEEKLOG星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。

Read more

清华智谱开源7440亿参数的智能体GLM-5

简介 我们正式推出GLM-5,面向复杂系统工程与长周期智能体任务。规模化仍然是提升通用人工智能(AGI)智能效能的最重要途径之一。相比GLM-4.5,GLM-5将参数量从3550亿(激活320亿)扩展至7440亿(激活400亿),预训练数据从23万亿token增至28.5万亿token。GLM-5还集成了深度求索稀疏注意力机制(DSA),在保持长上下文能力的同时大幅降低部署成本。 强化学习旨在弥合预训练模型"达标"与"卓越"之间的鸿沟。然而由于RL训练效率问题,在大语言模型中规模化部署面临挑战。为此我们开发了slime——创新的异步RL基础设施,显著提升训练吞吐效率,支持更精细化的训练后迭代。得益于预训练与训练后的双重突破,GLM-5在各类学术基准测试中较GLM-4.7实现显著提升,在推理、编程和智能体任务领域达到全球开源模型顶尖水平,进一步缩小与前沿模型的差距。 基准测试 GLM-5GLM-4.7DeepSeek-V3.2Kimi K2.5Claude Opus 4.5Gemini 3 ProGPT-5.2

By Ne0inhk
【AI大模型前沿】蚂蚁开源Ring-lite:边缘计算新选择,2.75B激活参数、小模型大智慧

【AI大模型前沿】蚂蚁开源Ring-lite:边缘计算新选择,2.75B激活参数、小模型大智慧

系列篇章💥 No.文章1【AI大模型前沿】深度剖析瑞智病理大模型 RuiPath:如何革新癌症病理诊断技术2【AI大模型前沿】清华大学 CLAMP-3:多模态技术引领音乐检索新潮流3【AI大模型前沿】浙大携手阿里推出HealthGPT:医学视觉语言大模型助力智能医疗新突破4【AI大模型前沿】阿里 QwQ-32B:320 亿参数推理大模型,性能比肩 DeepSeek-R1,免费开源5【AI大模型前沿】TRELLIS:微软、清华、中科大联合推出的高质量3D生成模型6【AI大模型前沿】Migician:清华、北大、华科联手打造的多图像定位大模型,一键解决安防监控与自动驾驶难题7【AI大模型前沿】DeepSeek-V3-0324:AI 模型的全面升级与技术突破8【AI大模型前沿】BioMedGPT-R1:清华联合水木分子打造的多模态生物医药大模型,开启智能研发新纪元9【AI大模型前沿】DiffRhythm:西北工业大学打造的10秒铸就完整歌曲的AI歌曲生成模型10【AI大模型前沿】R1-Omni:阿里开源全模态情感识别与强化学习的创新结合11【AI大模型前沿】Qwen2.5-Omni:

By Ne0inhk

发现了 4 个好玩 SKills,已经在 GitHub 上开源了。

01 视频剪辑 Skill 这个开源项目是一个视频剪辑 Skill,叫 videocut-skills。 它能够辅助你完成视频处理工作,比如识别视频中的口误、静音片段以及语气词啥的。 通过简单的指令让 AI 自动处理这些多余的内容,提高剪辑效率。 这个 Skill 集成了多种自动化功能,比如使用 Whisper 模型生成字幕,并支持通过词典进行纠错。 它利用 FFmpeg 进行底层的视频剪辑操作,确保了处理速度和质量。智能体还具备自我更新的能力,可以根据用户的使用习惯不断优化剪辑规则。 对于需要频繁制作口播类视频的创作者来说,这个工具提供了一套完整的工作流。 从环境安装到最终成片,只需在对话框中输入相应命令即可完成复杂的剪辑任务。 还挺有意思的。 如何使用 ① 下载 Skills  # 克隆到 Claude Code skills 目录 git clone https://github.com/Ceeon/videocut-skills.git  ~/.claude/skills/

By Ne0inhk
我用 Python 写了个GitHub AI Agent,每天自动帮我挖掘 GitHub 热门项目,还能举一反三!

我用 Python 写了个GitHub AI Agent,每天自动帮我挖掘 GitHub 热门项目,还能举一反三!

前言 都 2026 年了,你还在每天手动刷 GitHub Trending 吗? 作为一个热衷于技术的开发者,每天早上都有个习惯:打开 GitHub Trending 看看今天全球的开发者都在搞什么新花样。但问题来了:信息过载:榜单上几十个项目,大部分是英文 README,读起来费劲。不知所云:有些项目介绍写得很晦涩,看了半天不知道它能解决什么痛点。看完就忘:刷完感觉很爽,但没有思考“这个项目能用在我的什么业务里?” 于是我突发奇想:为什么不让 AI 帮我读? 花了个周末,我开发了一个 GitHub Insight Agent。它能自动爬取热门项目,投喂给 DeepSeek/OpenAI 进行深度分析,还能举一反三地告诉我这个项目能用来做什么赚钱/提效,最后把整理好的“情报日报”推送到我的飞书/钉钉。 重点是:完全开源,完全免费(

By Ne0inhk