当前位置: 首页 > news >正文

Fish Audio(鱼声)+ Python:零门槛用自己声音合成任何文本

🎯 读完这篇,你就能——上传一段 30 秒录音,让 AI 用你的声音朗读任何文字!

一、🤔 这是什么神仙项目?

👉一句话总结

  • 🏠开源地址:https://github.com/fishaudio/fish-speech
  • 📖官方文档:https://docs.fish.audio
  • 🌐在线体验:https://fish.audio

🌟 核心亮点速览

🏷️ 特性📝 说明
⚡ 零样本克隆无需训练,上传录音即用,10 秒即可克隆基础声线
🌍 多语言中英日韩法等 13 种语言,中文效果尤其惊艳
💰 性价比爆表成本仅为 ElevenLabs 的约六分之一
🔓 完全开源Apache 2.0 协议,支持本地部署,数据不出门

二、⚡ 3 分钟极速上手(API 方案 · 零显卡)

🚫🧠 不需要显卡!不需要训练!有网就能跑!

🪜 Step 1:获取 API Key 🔑

  1. 🌐 打开 Fish Audio 官网 注册/登录
  2. ⚙️ 进入 用户设置 → API Keys
  3. 🆕 点击New API Key,复制密钥(形如sk-xxxxxxxx

🎁免费额度:每月7 分钟高质量语音 +8000 积分,够你玩到吐!

📦 Step 2:安装依赖

pip install requests gradio # 就这两个,没了

🚀 Step 3:跑通第一个 Demo(这个要充值)

把下面代码保存为tts_demo.py,替换YOUR_API_KEY,运行即可:

import requests API_KEY = "YOUR_API_KEY" TEXT = "你好,欢迎使用 Fish Audio,这是我的声音克隆效果。" # ✏️ 改这里 REFERENCE_AUDIO = "my_voice.wav" # 🎤 改成你的录音文件路径 OUTPUT_AUDIO = "output.mp3" # 💾 输出文件名 url = "https://api.fish.audio/v1/tts" headers = {"Authorization": f"Bearer {API_KEY}"} with open(REFERENCE_AUDIO, "rb") as f: files = {"reference_audio": (REFERENCE_AUDIO, f, "audio/wav")} data = { "text": TEXT, "reference_text": "", # 录音对应的文本,不知道可留空 "model": "fish-speech-1.5", "format": "mp3" } response = requests.post(url, headers=headers, files=files, data=data) if response.status_code == 200: with open(OUTPUT_AUDIO, "wb") as out: out.write(response.content) print(f"✅ 合成成功!音频已保存为 {OUTPUT_AUDIO}") else: print(f"❌ 请求失败:{response.status_code}\n{response.text}") python tts_demo.py

意思是余额不足,要充值

🎉 打开output.mp3——恭喜,你已经成功克隆了自己的声音!

三、🖥️ Python 图形界面——点点鼠标就能用!

🎨 基于 Gradio 的 Web 界面,上传录音 → 输入文字 → 一键合成 → 在线播放 & 下载!

🎛️ 界面功能

  • 📁 拖拽上传你的录音文件
  • ✏️ 输入要合成的文字
  • 🔑 填写 API Key(仅本地使用,不上传)
  • 🎤 一键合成,自动播放
  • 💾 下载合成音频

📝 完整代码

新建fish_tts_gui.py,粘贴以下代码:

import gradio as gr import requests import tempfile import os def tts_clone(audio_file, text, api_key): """🪄 使用 Fish Audio API 进行声音克隆与合成""" if not api_key: return None, "❌ 请输入 API Key" if audio_file is None: return None, "❌ 请上传参考录音" if not text.strip(): return None, "❌ 请输入要合成的文本" url = "https://api.fish.audio/v1/tts" headers = {"Authorization": f"Bearer {api_key}"} with open(audio_file, "rb") as f: files = {"reference_audio": (os.path.basename(audio_file), f, "audio/wav")} data = { "text": text, "reference_text": "", "model": "fish-speech-1.5", "format": "mp3" } try: resp = requests.post(url, headers=headers, files=files, data=data, timeout=30) except Exception as e: return None, f"❌ 网络错误:{e}" if resp.status_code == 200: with tempfile.NamedTemporaryFile(suffix=".mp3", delete=False) as tmp: tmp.write(resp.content) tmp_path = tmp.name return tmp_path, "✅ 合成成功!请播放或下载。" else: return None, f"❌ API 错误 {resp.status_code}:{resp.text}" # 🎨 构建界面 with gr.Blocks(title="🐟 Fish Audio 声音克隆合成器") as demo: gr.Markdown(""" # 🐟 Fish Audio 声音克隆合成器 ### 📤 上传录音 + ✏️ 输入文字 → 🎧 一键合成你的 AI 语音! """) with gr.Row(): with gr.Column(scale=1): audio_input = gr.Audio( label="📁 上传你的录音 (10~30秒, wav/mp3)", type="filepath" ) text_input = gr.Textbox( label="✏️ 要合成的文字", lines=4, placeholder="请输入需要朗读的内容... 💬" ) api_key_input = gr.Textbox( label="🔑 API Key", type="password", placeholder="输入你的 Fish Audio API Key" ) submit_btn = gr.Button("🎤 开始合成", variant="primary", size="lg") with gr.Column(scale=1): output_audio = gr.Audio(label="🔊 合成结果", type="filepath", interactive=False) status_text = gr.Textbox(label="📊 状态", interactive=False) submit_btn.click( fn=tts_clone, inputs=[audio_input, text_input, api_key_input], outputs=[output_audio, status_text] ) gr.Markdown("---") gr.Markdown(""" > 🔐 API Key 仅在本地使用,不会上传到第三方。 > 🔗 获取地址:[Fish Audio 设置页](https://fish.audio/user/settings) """) if __name__ == "__main__": demo.launch()

▶️ 运行

python fish_tts_gui.py

浏览器打开http://127.0.0.1:7860,开箱即用!

📦 打包成 EXE(可选)

pip install pyinstaller pyinstaller --onefile --collect-all gradio fish_tts_gui.py

💡 更省事的方案:代码中demo.launch(share=True)即可生成公网链接(72 小时有效),分享给任何人直接使用!

四、🥊 同期精品大乱斗:谁才是声音克隆之王?

2024~2025 年开源 TTS 迎来大爆发,各家打得不可开交。下面一张表帮你快速选型:

🏷️ 维度🐟Fish Audio🎯CosyVoice(阿里)GPT-SoVITS🔥F5-TTS🌍OpenVoice
⭐ GitHub17k+13.7k+56k+12k+4k+
🎤 最少样本10~30 秒3 秒🏆5 秒2 秒🏆10 秒
🌐 语言支持13 种🏆5 种 + 方言5 种中英6 种
🎭 情感控制S1 模型支持细粒度情感指令🏆自然继承8 种情绪
⚡ 推理速度中等流式 150ms 🏆RTF 0.15🏆
🎯 音色相似度⭐⭐⭐⭐⭐⭐⭐⭐⭐95%+🏆⭐⭐⭐⭐⭐⭐
📜 开源协议Apache 2.0 ✅Apache 2.0 ✅MIT ✅MIT ✅MIT ✅
💻 本地部署需 GPU需 GPU需 GPU需 GPU需 GPU
🌍 在线 API✅ 免费额度✅ 阿里云

📌选型指南(太长不看版)

  • 🧧中文优先 + 有 API 需求→ 🐟 Fish Audio(语言支持最广,在线 API 可用)
  • 🎙️追求极致克隆逼真度→ 🎯 CosyVoice / ⚡ GPT-SoVITS(音色相似度天花板)
  • 🏭批量生产 + 极速推理→ 🔥 F5-TTS(2 秒克隆,实时因子 0.15)
  • 🎬需要情感表演→ 🎯 CosyVoice(支持哭腔、方言口音调整)

Fish Audio 的差异化王牌🃏:它是唯一一个同时提供在线 API + 免费额度 + 13 语言支持的开源方案。不需要折腾 GPU,注册就能用,跟 ElevenLabs 这种商业产品对标,但成本只有其六分之一

五、🎓 进阶玩家必读:让克隆效果飙升的秘籍

🎤 录音黄金法则

📌 参考音频是克隆的基石,录得好,效果立竿见影:

✅ 推荐❌ 避免
🎧 安静环境,手机就够📢 嘈杂背景、多人说话
⏱️ 时长5~30 秒📉 短于 5 秒(信息不足)
🗣️ 自然语速、清晰发音🏃 过快/过慢/刻意朗读
📱 手机放桌面,距嘴 20~30cm✋ 手持手机(摩擦噪音)
🔇 关闭空调、风扇🎵 背景音乐、混响

💡实测发现:只需一部智能手机 + 安静卧室 + 语音备忘录,就能录出可克隆的参考音频。

📈 进阶优化套路

  1. 🔉降噪处理:录好的音频可用 Audacity(免费)做轻微降噪
  2. 📝提供参考文本:如果你知道录音内容,务必填入reference_text,音色对齐准确率大幅提升
  3. 🎚️音量标准化:归一化到 -3dB,避免爆音或过轻
  4. 🔀多参考音频融合:准备 2~3 段不同情绪的短录音,克隆效果更稳定、表现力更强

🎭 这些脑洞大开的应用,你绝对想不到

  • 🎮游戏 NPC 配音:某独立游戏团队用 Fish Speech 后,角色对话制作周期从 2 周缩短到 3 天
  • 📖有声书量产:效率提升 60%,一个人就是一个配音工作室
  • 👨👩👧数字分身 & 情感陪伴:把 AI 助手声音设置成孩子或恋人的声音,随时随地听到想听的声音
  • 👻鬼畜整活:克隆朋友的声音说骚话,效果拔群
  • 🎓知识科普新玩法:用克隆的爱因斯坦声线讲解相对论,学生们听得眼睛发光
  • 🏠留学生「在场感」:有海外留学生用声音克隆保持与国内家人的日常交流,让家人感知到的「在场率」提升 76%

六、📊 API 费用一览 & 本地部署预告

💎 套餐💰 价格📦 API 额度(月)🏷️ 适合
🆓 Free免费7 分钟 + 8000 积分尝鲜、个人测试
⭐ Plus$11/月(约 ¥80)200 分钟自媒体、内容创作者
🚀 Pro$75/月(约 ¥540)27 小时企业级、批量生产

🔮 如果你后期想要完全免费 + 无限调用 + 数据不出门,本地部署是终极选择(需要 NVIDIA 显卡,显存 ≥ 8GB)。需要的话告诉我,我为你出完整教程!

七、🐟 总结

你的需求推荐方案
🧪 我就想试试,零成本注册 API → 免费额度 → 跑 Demo
✍️ 自媒体/内容创作Plus $11/月,性价比拉满
🏭 批量生产Pro 套餐或本地部署
🔒 数据敏感/离线使用本地部署(需 GPU)

🎉 恭喜你读到这里!现在你已经是声音克隆理论 + 实战双修的选手了。

📣 有任何问题(本地部署教程、效果调优、API 报错排查),随时告诉我,我给你续上!

关注我,送你一个月的“plus”会员权益

http://www.jsqmd.com/news/873023/

相关文章:

  • Claude插件报错急救指南:从诊断到修复的完整解决方案
  • 谷歌I/O 2026重磅发布:Gemini 3.5 Flash上线、Spark全天候AI代理来了
  • 如何通过NVIDIA Profile Inspector深度优化游戏性能:解锁显卡隐藏设置的完整指南
  • 如何在5分钟内快速部署LaWGPT法律大模型:中文法律AI的完整实战指南
  • DDD 与 Ontology 对比分析:哪一种更适合AI时代复杂系统构建?
  • VonaJS全栈框架5.1.34发布:DTO配字段生成CRUD页面,对比Django Admin、NestJS优势显著!
  • Windows安卓应用安装器:告别繁琐模拟器,电脑直接运行手机应用
  • Poppler Windows版:终极PDF处理方案,3分钟零配置部署指南
  • 2026论文降AIGC率攻略:5款工具实测及避坑指南
  • AI进行简历筛选:如何将5小时筛选压缩至48分钟,彻底解决“招错人“难题?
  • 气象水文耦合模式WRF-Hydro建模技术应用
  • Taotoken的Token Plan套餐如何帮助初创团队控制AI成本
  • 【收藏干货】2026 版 11 款主流 AI Agent 框架全方位对比!程序员小白入门大模型必备选型指南
  • Beyond Compare 5密钥生成器:从评估到期到永久授权的完整解决方案
  • 为什么很多企业买三维扫描设备之前问“多少钱”,用了一段时间后开始问“值不值”?
  • QuickAPI入门:5分钟发布你的第一个数据API
  • 导览机器人产品讲解(摄像头 + YOLO 真实识别 + 语音讲解)
  • 2026企业新媒体营销培训机构推荐:飞橙教育实战课程因何成为口碑之选
  • ACS770还能打吗?最近测试了一款国产霍尔电流传感器
  • 不会 CSS 也能做出惊艳 PPT!Frontend Slides这个开源 Claude Code 技能让 AI 帮你生成 12 种风格演示文稿,告别千篇一律的紫渐变
  • 3K档位的四盘位“六边形战士”?绿联DXP4800 GT深度体验
  • 香港6月雨季来临,房屋漏水怎么办?卫生间免砸砖防水、外墙、屋面+地下室渗漏。权威防水公司靠谱TOP5推荐(2026年6月本地最新深度调研) - 企业资讯
  • 学习笔记·敏捷开发
  • 8051MX内存溢出问题解析与解决方案
  • macOS虚拟打印机:一键文档转PDF的高效解决方案
  • HS2-HF Patch终极指南:如何快速完成HoneySelect2汉化与MOD整合
  • 紧急!2024年Q2最新:Claude 3.5 Sonnet对LaTeX/Markdown混合文档的支持边界实测报告(附绕过限制的3种军工级方案)
  • 法律科技的发展脉络:从数字化管理到AI辅助办案的演进路径
  • EXCEL文件展示LSTM计算
  • ISACA发布《2026全球人工智能应用现状调研》:AI应用提速,治理滞后成全球共同挑战