{"kind":"guides","slug":"python-text-to-speech","path":"/guides/python-text-to-speech","title":"Python 离线免费文字转语音指南 | SuperClonica","description":"如何在 Python 中不联网把文字转成语音：对比 pyttsx3、gTTS 和神经网络模型，并给出可运行的 pip、自定义音色和 Docker 代码。注意：Supertonic 3 不支持中文。","h1":"Python 文字转语音：离线、免费、自然的音色","intro":"重要提示：本文介绍的 Supertonic 3 模型和 SuperClonica 引擎不支持中文，可以朗读英语、日语、韩语、德语、俄语等 31 种语言。如果您需要中文语音，请选择其他模型。\n\n在 Python 中把文字转成语音有几种方式：有的库使用操作系统自带的机械音色朗读，有的把文字发送到在线服务，还有的直接在您自己的电脑上运行神经网络模型。最后一种如今听起来已接近真人，而且无需联网。本指南先比较这些方案，再给出 SuperClonica 引擎的可运行代码。它是基于开放模型 Supertonic 3 的 pip 包，内容包括安装、第一个脚本、自定义音色、长文本以及 Docker 中的本地 HTTP API。引擎是我们的产品，涉及之处我们会说明。","sections":[{"heading":"在 Python 中实现文字转语音的几种方式","paragraphs":["选库之前先想清楚两件事：文字能否离开您的电脑，以及音色需要多自然。"],"points":["pyttsx3 调用系统内置的语音引擎：Windows 上是 SAPI5，macOS 上是 NSSpeechSynthesizer，Linux 上是 eSpeak。它离线可用，几秒即可安装，但音色机械，而且每台机器都不一样。","gTTS 把文字发送到谷歌翻译的语音服务并保存为 MP3。声音更清晰，但需要联网，只能选择语言和口音而不能选择音色，而且它是非官方接口，随时可能失效。","Google、Amazon、Microsoft 或 ElevenLabs 的云端 API 音质很好，但需要账号和密钥，按字符计费，而且每段文字都会发送给服务商。","Supertonic 3、Kokoro、Piper 等本地神经网络模型在您自己的 CPU 或 GPU 上运行。模型下载一次后即可离线工作，没有按字符的费用，听起来也比系统音色自然得多。我们的对比页面有详细介绍。"]},{"heading":"安装 SuperClonica 引擎","paragraphs":["引擎是一个 pip 包，分两个版本。任意 CPU（Windows、macOS 或 Linux，Python 3.10 及以上）：python -m pip install superclonica-cpu。NVIDIA GPU（Windows 或 Linux，Python 3.11 及以上）：python -m pip install superclonica-gpu-cuda。每个环境只安装其中一个，两者提供相同的 superclonica 模块。","GPU 版通过 pip 自带 CUDA 和 cuDNN，系统只需安装支持 CUDA 12 的 NVIDIA 驱动；没有可用的 GPU 时会自动改用 CPU。首次运行时，约 385 MB 的 Supertonic 3 模型会一次性下载到 ~/.cache/supertonic3。如需存放到其他位置，请设置 SUPERTONIC_CACHE_DIR。"]},{"heading":"第一个脚本","paragraphs":["导入引擎，合成一句话并保存：from superclonica import Superclonica，然后 tts = Superclonica()，audio, sample_rate = tts.synthesize(\"Hello! This voice runs on my own computer.\", voice=\"F1\", lang=\"en\", seed=7)，最后 tts.save(\"hello.wav\", audio)。模型自带 M1 至 M5、F1 至 F5 共十种音色，无需额外文件。","引擎只需创建一次并重复使用：加载需要几秒钟，之后每句话只需不到一秒。在我们的测试中，短句的中位耗时在 RTX 5070 Ti 上为 0.12 秒，在四线程的 Ryzen 7 5800X 上为 0.43 秒。"]},{"heading":"使用自定义音色","paragraphs":["Supertonic 3 的音色是一个约 0.3 MB 的 JSON 文件。带试听样本的免费音色放在 GitHub 的 superclonica/supertonic-voices 仓库中，SuperClonica 目录里还有 170 多种音色，从游戏角色到旁白应有尽有，每种都可以免费在线试听。","用文件代替预设名称：tts.synthesize(\"Good morning!\", voice=\"ciri.json\", lang=\"en\", seed=7)。命令行：superclonica --text \"Good morning!\" --voice ciri.json --lang en --output morning.wav。每种音色都能说模型支持的全部 31 种语言；lang 填写文本的语言，例如 en、de、ja 或 ru。不支持中文。"]},{"heading":"长文本、对话和文件格式","paragraphs":["几个选项就能满足大多数实际项目。"],"points":["长文本（例如一整章）可以一次调用传入：引擎会把它切成不超过 160 个字符的自然片段，避免重复或吞字。","normalize=True 会把响度统一到 −18 LUFS，便于拼接大量文件。","tts.synthesize_batch() 可一次合成多行，每行使用自己的音色，例如对话的台词；结果保持输入顺序。","相同的文本、音色和随机种子会再次得到相同的音频，因此可以只重做某一行而不影响其他行。","数字会读成单词，常见的聊天缩写会展开，表情符号和未知符号会被清理，而不会导致报错。","tts.save() 根据文件扩展名写出 WAV、FLAC 或 OGG。"]},{"heading":"作为本地 HTTP API 使用","paragraphs":["如果需要语音的程序不是用 Python 写的，可以在 Docker 中运行引擎：docker run -d -p 8000:8000 -v superclonica-models:/models superclonica/superclonica:cpu；在 NVIDIA GPU 上使用 cuda 标签并加上 --gpus all。模型会在首次启动时下载到数据卷中。","向 POST /synthesize 发送包含文本、语言和音色文件内容的 JSON，即可收到 WAV。一个音色约 0.3 MB，因此请把请求写进文件，再用 curl -d @request.json 发送。"]},{"heading":"许可与负责任的使用","paragraphs":["Supertonic 3 采用 OpenRAIL-M 许可，这是一种免版税许可，列出了禁止用途，而不是禁止商用的条款。请勿在未经同意的情况下用语音冒充他人、欺骗或骚扰，并在必要时说明音频由机器生成。","目录中的部分音色受知名人物启发。它们不是本人的真实声音，因此不要把这类音频说成是本人的真实言论。"]}],"faq":[{"question":"如何在不联网的情况下用 Python 把文字转成语音？","answer":"使用在本机运行的库：系统音色可用 pyttsx3，自然语音可用本地神经网络模型。使用 SuperClonica 引擎时，用 pip 安装 superclonica-cpu；模型下载一次后，一切都可离线运行。注意它不支持中文。"},{"question":"pyttsx3 和 gTTS 哪个更好？","answer":"pyttsx3 离线使用系统音色，听起来比较机械；gTTS 更清晰，但会通过互联网把文字发送给谷歌。Supertonic 3 这样的本地神经网络模型无需联网即可生成自然语音。"},{"question":"需要 GPU 吗？","answer":"不需要。superclonica-cpu 可在 Windows、macOS 和 Linux 的普通 CPU 上运行，一句短句远不到一秒。NVIDIA GPU 要快好几倍，适合大批量处理。"},{"question":"生成的语音可以商用吗？","answer":"Supertonic 3 的许可 OpenRAIL-M 免版税，没有禁止商用的条款；它列出了禁止用途，例如未经同意冒充他人。受知名人物启发的音色不得被说成是本人的真实言论。"}],"cta":{"catalog":"浏览适合 Python 项目的音色","install":"安装 SuperClonica 引擎"},"sources":[{"label":"pyttsx3（PyPI）","url":"https://pypi.org/project/pyttsx3/"},{"label":"gTTS 文档","url":"https://gtts.readthedocs.io/"},{"label":"SuperClonica 引擎（PyPI）","url":"https://pypi.org/project/superclonica-cpu/"},{"label":"Supertonic 3 模型卡（Hugging Face）","url":"https://huggingface.co/supertone-oss-archive/supertonic-3"},{"label":"免费的 Supertonic 3 音色（GitHub）","url":"https://github.com/superclonica/supertonic-voices"},{"label":"SuperClonica Docker 镜像（Docker Hub）","url":"https://hub.docker.com/r/superclonica/superclonica"}],"published":"2026-10-22","updated":"2026-10-22","pages":[{"slug":"offline-text-to-speech","path":"/guides/offline-text-to-speech","h1":"如何在自己的电脑上离线把文字转成语音"},{"slug":"voice-cloning","path":"/guides/voice-cloning","h1":"声音克隆：如何得到一个像录音里那样的声音"},{"slug":"best-free-tts-models","path":"/guides/best-free-tts-models","h1":"2026 年适合本地运行的免费语音合成模型"},{"slug":"text-to-speech-for-videos","path":"/guides/text-to-speech-for-videos","h1":"为视频、有声书、游戏和应用做文字转语音配音"},{"slug":"supertonic-3-voices","path":"/guides/supertonic-3-voices","h1":"Supertonic 3 音色：自定义音色的来源与使用方法"},{"slug":"python-text-to-speech","path":"/guides/python-text-to-speech","h1":"Python 文字转语音：离线、免费、自然的音色"},{"slug":"text-to-speech-api-docker","path":"/guides/text-to-speech-api-docker","h1":"在 Docker 中自建文字转语音 API"}],"related":[{"slug":"text-to-speech","path":"/text-to-speech","h1":"在自己电脑上运行的语音合成"},{"slug":"supertonic","path":"/compare/supertonic","h1":"Supertonic 与 SuperClonica：同一模型，更快更干净"},{"slug":"fish-audio","path":"/compare/fish-audio","h1":"Fish Audio、Fish Speech 与 SuperClonica 对比"},{"slug":"omnivoice","path":"/compare/omnivoice","h1":"OmniVoice 与 SuperClonica：语言更多，还是速度更快"},{"slug":"qwen3-tts","path":"/compare/qwen3-tts","h1":"本地语音合成：Qwen3-TTS 还是 SuperClonica"},{"slug":"voxcpm","path":"/compare/voxcpm","h1":"VoxCPM 2 与 SuperClonica：录音棚音质还是 CPU 速度"},{"slug":"f5-tts","path":"/compare/f5-tts","h1":"F5-TTS 与 SuperClonica：零样本克隆还是 CPU 上的快速合成"},{"slug":"elevenlabs","path":"/compare/elevenlabs","h1":"可离线使用的 ElevenLabs 替代方案"},{"slug":"kokoro","path":"/compare/kokoro","h1":"Kokoro TTS 与 SuperClonica：两个小模型的本地语音合成"},{"slug":"piper","path":"/compare/piper","h1":"Piper TTS 与 SuperClonica：小设备还是定制音色"},{"slug":"xtts","path":"/compare/xtts","h1":"Coqui XTTS-v2 与 SuperClonica：Coqui TTS 的替代方案"},{"slug":"chatterbox","path":"/compare/chatterbox","h1":"Chatterbox TTS 与 SuperClonica：即时克隆还是训练好的音色文件"}]}