你是不是也遇到过,想把一本电子书变成有声书、或者把会议记录转成语音?但手动操作太费时间,对吧!别急,今天小编就手把手教你用Python一键批量处理txt转mp3,还能调出主播级音色——无论你是编程小白还是老手,这篇指南都能帮你搞定!
一、基础篇:2分钟搞定单文件转换
核心工具就两个:gTTS(在线) 和 pyttsx3(离线)。
在线党首选gTTS:
安装一行命令:
pip install gTTS
代码示例(把中文txt转成mp3):
python下载复制运行
from gtts import gTTS with open("会议记录.txt", "r", encoding="utf-8") as f: text = f.read() # 读取全部内容 tts = gTTS(text=text, lang="zh-cn") # 用中文语音 tts.save("output.mp3") # 保存!就这么简单
✅ 优点:支持30+种语言,发音自然像真人。
❌ 缺点:必须联网,大文件可能被限流。
断网也能用的pyttsx3:
适合本地批量生成,安装:
pip install pyttsx3
python下载复制运行
import pyttsx3 engine = pyttsx3.init() engine.setProperty("rate", 150) # 语速调慢,更清晰! engine.setProperty("volume", 0.8) # 音量80%,不怕爆音 with open("小说章节.txt", "r") as f: text = f.read() engine.save_to_file(text, "chapter_01.mp3") # 直接存mp3 engine.runAndWait()[5,7](@ref)
✅ 优点:完全离线,还能调语速、音量甚至男女声。
二、进阶调参:让你的语音像专业主播
如果觉得默认发音“机械味太重”,试试这两个神操作:
1. 用edge-tts定制AI主播音色
腾讯云开发者社区有个超强方案,支持:
选声音角色:比如美式女声
en-US-AnaNeural
,中文大叔zh-CN-YunxiNeural
调语速/音调:
rate="-20%"
(降速更沉稳),pitch="-30Hz"
(低音更磁性)示例代码:
python下载复制运行
import edge_tts, asyncio voice = "zh-CN-YunxiNeural" # 选央视大叔音! rate = "-15%" # 语速慢一点,更有权威感 async def convert(): tts = edge_tts.Communicate(text="企业年度报告...", voice=voice, rate=rate) await tts.save("report.mp3") asyncio.run(convert())[1](@ref)
💡 用户实测:@小编说调成
rate="-20%"
+女声AnaNeural
,生成的英语听力比培训班还标准!
2. 避坑!大文件分段处理
10万字小说直接转MP3?99%会报错! 必须切分文本:
python下载复制运行text = open("十万字小说.txt", "r").read() chunks = [text[i:i+1000] for i in range(0, len(text), 1000)] # 每1000字切一段 for i, chunk in enumerate(chunks): tts = gTTS(text=chunk, lang="zh-tw") # 繁体也支持 tts.save(f"novel_part_{i}.mp3")[3](@ref)
三、终极效率:批量处理1000个txt
手动改文件名?太原始了! 用Python遍历文件夹,3行代码全自动:
python下载复制运行import os from gtts import gTTS for file in os.listdir("D:/电子书"): # 文件夹里所有txt if file.endswith(".txt"): text = open(os.path.join("D:/电子书", file), "r").read() tts = gTTS(text, lang="zh-cn") tts.save(file.replace(".txt", ".mp3")) # 同名转mp3
✅ 效果:100个文件10分钟全转完,解放双手!
四、用户痛点解决方案:真实问题汇总
❓ @技术小白提问:”代码报错
No module named 'edge_tts'
怎么办?“→ 小编:先检查安装!要用
pip install edge-tts
,不是edge_tts
❓ @运营小美吐槽:”生成的语音像机器人,用户投诉听不懂!“
→ 调参方案:
语速150~170(正常说话速度)
音量0.8~0.9(避免破音)
英文用AnaNeural,中文用YunxiNeural
结语:工具选对,效率翻倍
gTTS适合快速在线转换,pyttsx3离线无忧,edge-tts则能调出专业级音色——按需选择就行!小编建议:重要文件用edge-tts调参,日常批量用gTTS脚本,省时省力。
如果你遇到其他坑,欢迎评论区喊我,看到必回!👇
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
暂无评论...