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


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

相关推荐
cosX+sinY3 分钟前
10 卷积神经网络
python·深度学习·cnn
Livingbody6 分钟前
【心理咨询师数字孪生对话数据集】标准化为 ShareGPT OpenAI 格式
后端
非极限码农12 分钟前
基于Deepseek的语言润色助手API实现与部署指南
python·微服务·自然语言处理
I love studying!!!22 分钟前
python基础:用户输入和 while 循环
python
AndrewHZ1 小时前
【图像处理基石】如何对遥感图像进行实例分割?
图像处理·人工智能·python·大模型·实例分割·detectron2·遥感图像分割
AQin10121 小时前
IP 🆚 MAC,你分得清吗?
后端·网络协议
No0d1es2 小时前
第13届蓝桥杯Python青少组中/高级组选拔赛(STEMA)2021年11月27日真题
python·青少年编程·蓝桥杯·选拔赛
天涯学馆2 小时前
Solidity 中的高级模式匹配:提升代码的可读性和可维护性
后端·区块链·solidity
天天找自己2 小时前
精通分类:解析Scikit-learn中的KNN、朴素贝叶斯与决策树(含随机森林)
python·决策树·机器学习·分类·scikit-learn
郝学胜-神的一滴2 小时前
Spring Boot Actuator 保姆级教程
java·开发语言·spring boot·后端·程序人生