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 点,你怎么还不睡?" 😂


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

相关推荐
happylifetree2 小时前
Python70:核心语法-函数进阶-案例2
python
王中阳Go3 小时前
两个入口答案不一致先别调模型:6 行入口口径对账表(附脚本)
人工智能·后端·python·大语言模型·1024程序员节
BK贝壳3 小时前
bool-hybrid-array 落盘我只认 .bha:用 Create_BHA / Ask_BHA 做布尔数组序列化
数据结构·python·numpy·1024程序员节
Sakura_j_h_3 小时前
Python 在定时任务里输出 emoji,UnicodeEncodeError 从哪来
开发语言·字符编码·windows·python·定时任务
码事漫谈4 小时前
消除AI幻觉,普通人能做的五件事
后端
supabc1235 小时前
欧盟电子发票(XRechnung/Peppol/ZUGFeRD)踩坑记:用 Python 不装 Java 跑官方校验规则
xml·python·开源·电子发票·1024程序员节
ZhengEnCi5 小时前
AI Agent工具调用防护层怎么写-一份能直接跑的Python四层拦截实现
python·llm·agent
ZhengEnCi5 小时前
AI Agent工具误调用怎么解决-从参数校验到高危二次确认的四层工程防线
python·llm·agent
金銀銅鐵6 小时前
[Java] 用 GUI 展示 EnumSet 增减元素时的内部变化(下)
java·后端·ai编程
镜子AI7 小时前
镜子AI工程教程:用Python实现关键词布局检查器与语义改写查重(附完整代码)
人工智能·python·microsoft