当前位置:首页 » 编程语言 » python朗读

python朗读

发布时间: 2022-08-15 06:59:35

1. 请教在python爬有道翻译时候朗读的问题

缩进问题...
可能是因为显示红色的elif上一行的if语句冒号后,并没有可执行语句,如果你需要它什么都不做,那么pass可能是个好选择,或者添加真正需要执行的东西,别什么都不做。
翻译一下错误信息吧,下次

2. 怎么用python把有道翻译的朗读抓下来

notes = {
'a': QtGui.QSound("a.wav"),
}

notes['a'].play()

3. 实现python文本写入word

准备
我测试使用的Python版本为2.7.10,如果你的版本是Python3.5的话,这里就不太适合了。

使用Speech API
原理
我们的想法是借助微软的语音接口,所以我们肯定是要进行调用 相关的接口。所以我们需要安装pywin32来帮助我们完成这一个底层的交互。
示例代码
import win32com.clientspeaker = win32com.client.Dispatch("SAPI.SpVoice")speaker.Speak("Hello, it works!")

小总结
是的,调用接口来实现语音功能就是这么简单,但是我们不得不来聊一聊这种方式的缺点。
对中文支持的不够好,仅仅是这一点,估计在中国没几个用它的了。
还有就是语速不能很好的控制
pyttsx方式
原理
pyttsx 是Python的一个关于文字转语音方面的很不错的库。我们还可以借助pyttsx来实现在线朗读rfc文件或者本地文件等等,最为关键的是,它对中文支持的还是不错的。
示例代码
# coding:utf-8import sysreload(sys)sys.setdefaultencoding('utf8')# __author__ = '郭 璞'# __date__ = '2016/8/6'# __Desc__ = 文字转语音输出import pyttsxengine = pyttsx.init()engine.say('hello world')engine.say('你好,郭璞')engine.runAndWait()# 朗读一次engine.endLoop()

小总结
使用pyttsx,我们可以借助其强大的API来实现我们基本的业务需求。很酷吧。
pyttsx深入研究
做完上面的小实验,你肯定会觉得怎么这么不过瘾呢?
别担心,下面我们就一起走进pyttsx的世界,深入的研究一下其工作原理吧。
语音引擎工厂
类似于设计模式中的“工厂模式”,pyttsx通过初始化来获取语音引擎。当我们第一次调用init操作的时候,会返回一个pyttsx的engine对象,再次调用的时候,如果存在engine对象实例,就会使用现有的,否则再重新创建一个。
pyttsx.init([driverName : string, debug : bool]) → pyttsx.Engine

从方法声明上来看,第一个参数指定的是语音驱动的名称,这个在底层适合操作系统密切相关的。如下:
1.drivename:由pyttsx.driver模块根据操作系统类型来调用,默认使用当前操作系统可以使用的最好的驱动
sapi5 - SAPI5 on Windows

nsss - NSSpeechSynthesizer on Mac OS X

espeak - eSpeak on every other platform

2.debug: 这第二个参数是指定要不要以调试状态输出,建议开发阶段设置为True
引擎接口
要想很好的运用一个库,不了解其API是不行的。下面来看看pyttsx。engine.Engine的引擎API。
方法签名 参数列表 返回值 简单释义
connect(topic : string, cb : callable) topic:要描述的事件名称;cb:回调函数 → dict 在给定的topic上添加回调通知
disconnect(token : dict) token:回调失联的返回标记 Void 结束连接
endLoop() None → None 简单来说就是结束事件循环
getProperty(name : string) name有这些枚举值“rate, vioce,vioces,volumn → object 获取当前引擎实例的属性值

setProperty(name : string) name有这些枚举值“rate, vioce,vioces,volumn → object 设置当前引擎实例的属性值
say(text : unicode, name : string) text:要进行朗读的文本数据; name: 关联发音人,一般用不到 → None 预设要朗读的文本数据,这也是“万事俱备,只欠东风”中的“万事俱备”
runAndWait() None → None 这个方法就是“东风”了。当事件队列中事件全部清空的时候返回
startLoop([useDriverLoop : bool]) useDriverLoop:是否启用驱动循环 → None 开启事件队列
元数据音调
在pyttsx.voice.Voice中,处理合成器的发音。
age

发音人的年龄,默认为None
gender

以字符串为类型的发音人性别: male, female, or neutral.默认为None
id

关于Voice的字符串确认信息. 通过 pyttsx.engine.Engine.setPropertyValue()来设置活动发音签名. 这个属性总是被定义。
languages

发音支持的语言列表,如果没有,则为一个空的列表。
name

发音人名称,默认为None.
更多测试
朗读文本
import pyttsxengine = pyttsx.init()engine.say('Sally sells seashells by the seashore.')engine.say('The quick brown fox jumped over the lazy dog.')engine.runAndWait()

事件监听
import pyttsxdef onStart(name): print 'starting', namedef onWord(name, location, length): print 'word', name, location, lengthdef onEnd(name, completed): print 'finishing', name, completedengine = pyttsx.init()engine.say('The quick brown fox jumped over the lazy dog.')engine.runAndWait()

打断发音
import pyttsxdef onWord(name, location, length): print 'word', name, location, length if location > 10: engine.stop()engine = pyttsx.init()engine.say('The quick brown fox jumped over the lazy dog.')engine.runAndWait()

更换发音人声音
engine = pyttsx.init()voices = engine.getProperty('voices')for voice in voices: engine.setProperty('voice', voice.id) engine.say('The quick brown fox jumped over the lazy dog.')engine.runAndWait()

语速控制
engine = pyttsx.init()rate = engine.getProperty('rate')engine.setProperty('rate', rate+50)engine.say('The quick brown fox jumped over the lazy dog.')engine.runAndWait()

音量控制
engine = pyttsx.init()volume = engine.getProperty('volume')engine.setProperty('volume', volume-0.25)engine.say('The quick brown fox jumped over the lazy dog.')engine.runAndWait()

执行一个事件驱动循环
engine = pyttsx.init()def onStart(name): print 'starting', namedef onWord(name, location, length): print 'word', name, location, lengthdef onEnd(name, completed): print 'finishing', name, completed if name == 'fox': engine.say('What a lazy dog!', 'dog') elif name == 'dog': engine.endLoop()engine = pyttsx.init()engine.say('The quick brown fox jumped over the lazy dog.', 'fox')engine.startLoop()

使用一个外部的驱动循环
engine = pyttsx.init()engine.say('The quick brown fox jumped over the lazy dog.', 'fox')engin(www.alOnely.Com.Cn)e.startLoop(False)# engine.iterate() must be called inside externalLoop()externalLoop()engine.endLoop()

总结
以上就是Python如何实现文本转语音的全部内容,看完了上面的讲述,是不是感觉Python实现文本转语音还是蛮简单的?那么,大家快来尝试尝试吧。希望本文对大家学习Python有所帮助。

4. 如何用python脚本启动mac/terminal的朗读功能

如果脚本中有相对路径的操作,程序运行的时候结果会与预期相左。
解决办法:
[plain] view plain
path = os.path.dirname(sys.argv[0])
os.chdir(path)

5. 如何用python控制电脑说话

电脑面前的你,是否也希望能让电脑听命于你? 当你累的时候,只需说一声“我累了”,电脑就会放着优雅的轻音乐来让你放松。 或许你希望你在百忙之中,能让电脑郎读最新的NBA比分赛况….一切都是那么惬意。
在此告诉你,不要灰心,我们真的可以做一个。
做一个语音识别? 我相信很多人到这里会有两个心态,一是好奇,二是避之千里。
其实不然,你可以不用懂太多的编程技能,你甚至也可以不用懂自然语言处理技术,这篇文章虽然实现了语音操控但是绝没有你们想象的那么复杂。 如果仅仅把语音识别作为一个实现了的接口的话,剩下的逻辑就仅仅是IF-ELSE这些简单的元素了。

实现语音操控的原理
语音操控分为 语音识别和语音朗读两部分。
这两部分本来是需要自然语言处理技能相关知识以及一系列极其复杂的算法才能搞定,可是这篇文章将会跳过此处,如果你只是对算法和自然语言学感兴趣的话,就只有请您移步了,下面没有一个字会讲述到这些内容。
早在上世纪90年代的时候,IBM就推出了一款极为强大的语音识别系统-vio voice , 而其后相关产品层出不穷,不断的进化和演变着。 我们这里将会使用SAPI实现语音模块。
什么是SAPI?
SAPI是微软Speech API , 是微软公司推出的语音接口,而细心的人会发现从WINXP开始,系统上就已经有语音识别的功能了,可是用武之地相当之少,他并没有给出一些人性化的自定义方案,仅有的语音操控命令显得相当鸡胁。 那么这篇文章的任务就是利用SAPI进行个性化的语音识别。
准备阶段,你至少需要安装以下的工具:
Python2.7 http://www.python.org/
强烈建诡使用2.7,至今Python2.7拥有Python系列为数最多的工具和应用支持,同时也相对比较稳定。
Win32Com http://starship.python.net/~skippy/win32/Downloads.html

Python Win32增强工具,可以使Python调用WIN32COM接口,这个工具的出现使得Python变得无比强大
Speech.py http://pypi.python.org/pypi/speech/
这个是极为精简的封装模块,此处为可选项,当然我不建议重复造轮子,还是下吧,目前只支持Python2.6,但不用灰心,Python2.6和Python2.7的代码是兼容,不会有异常。
安装过程请依至上而下的顺序。
开发阶段
当你安装了上述的相关工具后,你就可以进行开发了:
先进行一个简单的环境调试:
复制代码 代码如下:

whileTrue:
phrase =speech.input()
speech.say("You said %s"%phrase)
ifphrase =="turn off":
break

上述代码是启动语音识别器,同时系统将会重复你所录入的语音,当遇到“turn off”时,就会自动关闭识别系统。

6. python scratch区别

区别如下:

Scratch是图形化编程,使用卡通积木块堆叠完成编程,可以不熟悉键盘就能编程,好处是Scratch把所有底层细节都屏蔽掉了,让编写者专注于功能代码的开发,怎么写都不报错。

Python是一门真正的编程语言,应用领域广泛,使用英文代码进行编程,使用者需要有良好的英文水平,对键盘比较熟悉。

Scratch是麻省理工学院的“终身幼儿园团队”开发的一种图形化编程工具,主要面对全球青少年开放,是图形化编程工具当中最广为人知的一种形式。

截止到2021年已有1.4版、2.0版本(增加克隆积木,视频侦测,Lego拓展积木)、3.0版本(增加文字朗读、翻译和Makey makey等选择性下载扩展积木,并增加micro:bit和Lego mindstorms EV3拓展积木)、3.12.0版本、3.18.1版本、3.19.2版本、3.4版本、3.6版本、3.9版本。所有人都可以在任意版本中创作自己的程序。

7. python源码解析这本书大家都看了么

1.话说,如果没有一定的基础,以及明确自己的目的。你就是神人,花1小时看完源码,也都是没有意义的。2.就像你如果只是去背单词,看单词表,都看完,但是不懂含义,也是没价值的。3.应该清楚自己要做什么。然后再去找合适的办法,才是解决问题的正常思路。4.单独回答你这个问题则是:从几天,到几个月,或者几年具体多少天,取决于:你本身python的基础想要实现什么目的比如,对于python不熟悉,那可能有些人需要几年,才能完全看懂源码。当然,你要是把python源代码当做单词朗读一样,只是看一眼,那就是另说了。对于Python很熟悉的,只需要很快速的,看各种功能如何实现,找到对应的接口,研究对应的实现机制。则也是时间长短不同。

8. 这段python代码看不懂

1.话说,如果没有一定的基础,以及明确自己的目的。你就是神人,花1小时看完源码,也都是没有意义的。2.就像你如果只是去背单词,看单词表,都看完,但是不懂含义,也是没价值的。3.应该清楚自己要做什么。然后再去找合适的办法,才是解决问题的正常思路。4.单独回答你这个问题则是:从几天,到几个月,或者几年具体多少天,取决于:你本身python的基础想要实现什么目的比如,对于python不熟悉,那可能有些人需要几年,才能完全看懂源码。当然,你要是把python源代码当做单词朗读一样,只是看一眼,那就是另说了。对于Python很熟悉的,只需要很快速的,看各种功能如何实现,找到对应的接口,研究对应的实现机制。则也是时间长短不同。

9. python2.7 ocr 文本识别 怎么弄的啊

《PandaOCR v2.7图片文字识别》网络网盘资源免费下载:

链接: https://pan..com/s/1nsqG9Fs5lLED4mCe798Nfw

?pwd=8bph 提取码: 8bph

PandaOCR v2.7最新版是一款专注于OCR 文字识别的免费软件,支持多功能 OCR 识别、即时翻译和朗读等。软件的功能非常的多并且强大,能够进行截图内容识别,剪切OCR识别还有各种图片内容识别,能够帮助用户非常快捷方便的将文本,图纸或者图片内的文字识别出来给用户免费使用,这样就不需要用户去看着文字一个字一个字的手打出来,非常的节省用户的工作时间。

10. Python实验操作题,急急急

(1)with as f
(2)with as f i in range(10) f.write(str(i))
2.以追加的方式打开E:\aa.txt文件,任意写入文字,以“end”作为结束标志。
with open(r'E:\aa.txt', 'a') as f:
for i in range(10):
f.write('任意字符')
3. 打开e:\aa.txt文件,并把该文件的内容复制到e:\bb.txt文件中去。
with open(r'e:\aa.txt') as f:
content = f.read()
with open(r'e:\bb.txt', 'a') as f:
f.write(content)

热点内容
c缓存池 发布:2025-01-20 13:23:45 浏览:6
数控编程帅气宝塔图纸 发布:2025-01-20 13:22:15 浏览:871
共享文件夹加密软件 发布:2025-01-20 13:08:41 浏览:40
标识符是怎样存储的 发布:2025-01-20 13:08:39 浏览:894
怎么看安卓大屏什么牌子 发布:2025-01-20 13:08:35 浏览:258
ios开发java 发布:2025-01-20 13:02:42 浏览:881
速腾有侧灯的是哪个配置 发布:2025-01-20 13:01:53 浏览:371
社保用户名和密码都忘记了怎么办 发布:2025-01-20 12:55:55 浏览:321
最优存储形式是什么 发布:2025-01-20 12:51:32 浏览:27
centos编译php7 发布:2025-01-20 12:33:52 浏览:920