Python 让电脑说话?没网也能用,真香!🗣️💻

"别催,我正在码代码呢。"
"谁催你了?你电脑怎么会说话?"
"哈哈,我让它学会了说话!"

某天深夜,我写代码写到眼花,突然灵光一闪:要是电脑能用 Python 直接说话,那该多酷?更重要的是,我这破网速,经常掉线,必须得找个离线也能用的方案。于是乎,我就研究了一下 pyttsx3 这个库,发现它真的很好用,不仅没网也能说话,还能调节声音、语速,甚至换个声线,简直是"码农的随身播报员"!🎉


1. pyttsx3 简介:一个会说话的 Python 库

pyttsx3 是一个 Python 文本转语音(TTS,Text-to-Speech)库,最关键的一点------**它不需要联网!**这就意味着,无论是在地铁、深山,还是公司断网的尴尬时刻,它都能稳稳运行。

📌 核心优势:

离线运行 :不像 gTTS 需要联网,它用的是本地的语音引擎。

支持多种语音 :不同的声线随便切换。

可调节语速、音量:自由调整,让它适应你的需求。

安装方法

首先,确保你装了 pyttsx3,如果没有,直接装:

bash 复制代码
pip install pyttsx3

💡 注意 :如果你遇到安装问题,请先执行以下代码:pip install --upgrade wheel 能解决大部分安装问题


2. 让你的电脑开口说话!

来看看最基础的代码,确保它能正常运行:

python 复制代码
import pyttsx3

# 初始化语音引擎
engine = pyttsx3.init()

# 让它说点什么
engine.say("Hello, 这是一段Python代码让电脑开口说话的测试!")
engine.runAndWait()  # 运行

💡 代码解析

  • pyttsx3.init():初始化语音引擎。
  • engine.say(text):让它说话,文本内容你可以随便换。
  • engine.runAndWait():运行语音播放,确保说完再继续执行后面的代码。

运行后,你的电脑是不是开口了?如果没声音,检查静音状态!😂


3. 调节语速,让它说话不再像复读机

你会发现默认语速有点快,像是在赶高铁,我们可以让它慢点说:

python 复制代码
engine = pyttsx3.init()
rate = engine.getProperty('rate')  # 获取当前语速
print(f"当前语速: {rate}")

engine.setProperty('rate', 150)  # 设置语速,默认200,降低一点
engine.say("语速调节成功,我现在说话是不是更舒服了?")
engine.runAndWait()

💡 语速调整技巧

  • 默认语速是 200,改成 150~180 更自然。
  • 语速太快了像唐僧,太慢了像卡带,自己调试最适合的速度!

4. 换个声音,男女声随心选!

默认的声音可能不够个性?来试试换个声线:

python 复制代码
engine = pyttsx3.init()

voices = engine.getProperty('voices')  # 获取所有可用声音
for i, voice in enumerate(voices):
    print(f"声音 {i} : {voice.name}")

# 选择不同的声音
engine.setProperty('voice', voices[0].id)  
engine.say("你好,我是另一种声音,你喜欢吗?")
engine.runAndWait()

💡 声音选择小贴士

  • voices[0] 一般是男声,voices[1] 是女声。这个由自己的电脑决定。
  • Mac 可能有更多可选声音,Windows 用户可能只有2个 ,具体看 print(voice.name) 输出的内容。

5. 调节音量,避免吓到室友

有时候声音太大了,半夜敲代码突然出声,室友可能会吓醒👀。

python 复制代码
engine = pyttsx3.init()
volume = engine.getProperty('volume')  # 获取当前音量
print(f"当前音量: {volume}")

engine.setProperty('volume', 0.5)  # 设置音量(范围0.0-1.0)
engine.say("音量调小了,别担心,室友不会被吵醒啦。")
engine.runAndWait()

💡 音量调整小贴士

  • 1.0 是最大音量,0.0 是静音。
  • 建议调整到 0.5~0.8,既能听清楚,又不至于炸耳朵!

6. 让电脑帮你朗读文件!

如果你有一篇长文章,不想盯着屏幕看,让 Python 读给你听!

python 复制代码
engine = pyttsx3.init()
with open("article.txt", "r", encoding="utf-8") as file:
    text = file.read()

engine.say(text)
engine.runAndWait()

💡 适用场景

📖 听论文、听文档、听代码注释......双眼解放,效率翻倍!


7. 重点来了!保存语音到文件 🎤

如果你想保存语音,方便以后播放,分分钟搞定:

python 复制代码
engine = pyttsx3.init()
engine.save_to_file("你好,这是一个 Python 生成的语音文件!", "output.mp3")
engine.runAndWait()
print("语音文件保存成功!🎉")

运行后,当前目录下会生成 output.mp3 文件,你可以用任意播放器打开听一听!


8. 进阶玩法:定时语音播报

如果你想让电脑每2小时提醒久坐的你注意休闲,可以这样:

python 复制代码
import pyttsx3
import time

engine = pyttsx3.init()
def report_time():
    import datetime
    now = datetime.datetime.now().strftime("%H:%M")
    engine.say(f"现在时间是 {now},喝杯水休息休息吧!")
    engine.runAndWait()

while True:
    report_time()
    time.sleep(7200)  # 每2小时执行一次

效果

  • 每2个小时,电脑会语音播报当前时间。
  • 你可以加上更多提醒,比如"该休息了""时间不早了,快睡觉"😂。

9. 让你的 Python 程序"开口说话"吧!

💡 如何让电脑说话的方法给大家了,你们有没有什么好的创意,欢迎在评论区里留言!

结尾彩蛋 🎁

你可以写一个定时报时的程序,每小时整点,电脑都会用 Python 说:
"现在是凌晨 2 点,你怎么还不睡?" 😂


最后,如果你觉得这篇文章有用,顺手点赞+在看就是对花姐最大的支持!❤️

相关推荐
zdy1263574688几秒前
python43天
python·深度学习·机器学习
小华同学ai2 分钟前
千万别错过!这个国产开源项目彻底改变了你的域名资产管理方式,收藏它相当于多一个安全专家!
前端·后端·github
Vowwwwwww6 分钟前
GIT历史存在大文件的解决办法
前端·git·后端
捡田螺的小男孩18 分钟前
京东一面:接口性能优化,有哪些经验和手段
java·后端·面试
艾露z26 分钟前
深度解析Mysql中MVCC的工作机制
java·数据库·后端·mysql
前端付豪35 分钟前
揭秘网易统一日志采集与故障定位平台揭秘:如何在亿级请求中1分钟定位线上异常
前端·后端·架构
搏博40 分钟前
将图形可视化工具的 Python 脚本打包为 Windows 应用程序
开发语言·windows·python·matplotlib·数据可视化
陈随易1 小时前
Lodash 杀手来了!es-toolkit v1.39.0 已完全兼容4年未更新的 Lodash
前端·后端·程序员
硅基茶水间1 小时前
「轻量级AI编程桌面软件」代码上下文一键搞定|已开源
python
未来影子1 小时前
SpringAI(GA):Nacos3下的分布式MCP
后端·架构·ai编程