【四旋翼飞行器】76小时吃透四轴算法!史上最强软硬结合实战项目,👉戳此立抢👈

基于Python编写的语音播放软件

MEMS 2018-11-03 08:36 次阅读
单位经常使用广播进行临时事项的通知(将文字转换为语音然后通过功放广播),但是市面上多数语音播放软件都是收费的,要么发音失真,要么不够稳定——经常出现莫名其妙的故障,容易给工作带来被动。学Python这么久不如动手写一款自己的语音广播软件,即使发生故障也可以自行排除。 1 界面设计 在开始动工之前当然要分析需求,我要的核心功能是将一段文字通知输入软件,然后将其转换为语音并播放出来。 这项功能虽然并不复杂,但也需要一个交互式的界面,所以决定使用Tkinter来实现这个功能。 第一步:建立一个窗体 设置标题、大小等要素,为了避免显示格式错乱将其设定为不可改变大小,代码如下: 基于Python编写的语音播放软件 第二步,设置一个控件 用于接受收入的文字,这里选择带滚动条的Text,代码如下: 基于Python编写的语音播放软件 第三步,提供选项 作为一款语音播放软件,最基本的语速、音调等风格设置还是要有的,这里使用Combobox控件提供固定选项,用户可以根据情况选择不同的发音、语速和语调。 基于Python编写的语音播放软件 第四步,建立功能事件的触发接口 设置三个Button控件分别用于触发“语音播放”、“文本清除”和“界面退出”功能。 基于Python编写的语音播放软件 最终界面效果如下: 基于Python编写的语音播放软件 2 语音播放 关于“清除”、“退出”等功能相对比较简单,这里重点对本次的核心功能——语音播放进行详细说明。 1).语音接口 文本转换语音推荐使用百度云的REST API 接口,登录网站http://ai.baidu.com/,依次进入控制台——语音技术页面,创建自己的语音应用(下图),其中AppID 、API Key 、Secret Key 三个参数在代码中会用到。 基于Python编写的语音播放软件 然后使用 pip install baidu-aip 安装python SDK模块,我们来看一下函数原型:   APP_ID = 'XXXXXX'  API_KEY = 'XXXXXXXXXXXXX'  SECRET_KEY = 'XXXXXXXXXXXXXXXXXXXXXX'  client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)  result  = client.synthesis(text, 'zh', 1, {'per':1, 'vol':15, 'pit':9, 'spd':5 })  text:需要转换的文字。 per:发音人选择, 0为女声,1为男声,3为情感合成-度逍遥,4为情感合成-度丫丫,默认为普通女声。vol:音量,取值0-15,默认为5中音量 pit:音调,取值0-9,默认为5中语调。 spd:语速,取值0-9,默认为5中语速。‘zh’和1分别为语音模式和客户端类型,该两项均为固定值,不支持修改。   可以看到,我们需要的发音、音调、语速三种风格都可以通过修改参数来实现。 2).功能设计 解决了语音合成接口的问题,就可以结合界面设置来实现具体功能了。 首先,要将界面中的语音风格选项与语音合成函数参数一一对应起来,这是一个典型的键与值的对应关系,使用字典这种数据结构再合适不过了。 然后对于发音风格,选取了男声、女声、混合三种模式; 最后对于音调和语速,没必要设置过细的精度等级,这里分别选取了三个跨度明显的等级进行区分。 基于Python编写的语音播放软件 当“播放”按钮点击时,要从Text控件中读取文本,如果文本为空则弹出提示框要求重新输入;若文本不为空则将文本转换为音频文件并使用playsound进行播放。 基于Python编写的语音播放软件 这里有一个问题需要特别注意,那就是在软件运行过程中,生成并播放的音频文件不可删除、不可修改、不可覆盖,所以每次转换生成的音频文件名称绝对不能重复,否则在进行多次“播放”操作时,会因为新生成的音频文件无法保存而发生故障。 3 打包封装 到目前为止,这个软件的运行要依赖于本地的python开发环境,不能方便地提供给他人使用,这里推荐Pyinstaller的第三方库来对python程序进行打包,首先进入刚才的py文件所在目录,执 行以下cmd命令。其中“-w”的作用是是不显示命令窗口,tk_voice是刚才的py文件名称。 pyinstaller -w tk_voice.py  这时,在同一目录下会生成一个dist文件夹,这里面就是打包后的程序文件了。我们运行一下其中的.exe文件,就会出现之前设计的程序界面,在文本框中输入一段测试文字:“全体人员请注意,全体人员请注意,请立即下楼集合开饭。”,点击“播放”按钮试一下效果: 插入音频————测试.mp3 最后,关于Pyinstaller的使用有几点需要注意的地方: 该方法仅适用于windows系统,而且对系统版本有比较严格的要求,比如64位系统下打包的程序无法在32位系统下运行。 如果需要打包的程序中调用了外部的一些图片或其他资源文件,则需要手动复制到打包后的文件夹内,因为对于这些文件Pyinstaller不会进行打包。 使用Pyinstaller打包如果出现中途失败的情况,可能会导致原py文件内容丢失,所以打包之前最好先进行备份。 使用import导入其他库的时候尽量有选择性,不要导入整个库,不然打包后的文件会非常庞大。
原文标题:营收15年增长30倍,“下一代”是瑞声科技的最大“功臣” 文章出处:【微信号:MEMSensor,微信公众号:MEMS】欢迎添加关注!文章转载请注明出处。
收藏 人收藏
分享:

评论

相关推荐

Python正则表达式教程之标准库的完整介绍及使用示例说明

本文介绍了Python对于正则表达式的支持,包括正则表达式基础以及Python正则表达式标准库的完整....
发表于 01-23 16:00 13次 阅读
Python正则表达式教程之标准库的完整介绍及使用示例说明

学习下如何去抓APP的数据

主要的爬取逻辑,可以看出来是比较简单的,因为没有涉及到什么加密参数之类的,但是有一个问题,每一次进行....
的头像 电子发烧友网工程师 发表于 01-23 09:44 135次 阅读
学习下如何去抓APP的数据

配置SignalGenerator N9310A始终显示102\103错误

HI,我通过usb使用Python配置SignalGenerator N9310A,*每个命令* configure都是正确的,但是当我把这些命令放在一起时,...
发表于 01-22 16:04 10次 阅读
配置SignalGenerator N9310A始终显示102\103错误

如何利用Python Remote objects技术实现分布式对象应用系统

讨论了如何利用Python Remote objects技术来设计与实现分布式对象应用系统!详细阐述....
发表于 01-22 15:54 22次 阅读
如何利用Python Remote ob<x>jects技术实现分布式对象应用系统

机器人编程让程序员再次火热 身价也水涨船高

现在我们已经有了一个可以思考非线性关系的神经网络,那么回到开头的那个问题,能否识别出“第一列与第三列....
的头像 人工智能 发表于 01-22 10:00 138次 阅读
机器人编程让程序员再次火热 身价也水涨船高

Python语言程序设计基础(第2版)全答案电子书PDF版免费下载

python教学基础之Python语言程序设计基础(第2版)全答案电子书PDF版免费下载主要内容包括....
发表于 01-22 08:00 12次 阅读
Python语言程序设计基础(第2版)全答案电子书PDF版免费下载

如何用Python进行无监督学习

无监督学习是一种用于在数据中查找模式的机器学习技术。无监督算法给出的数据不带标记,只给出输入变量(X....
的头像 人工智能和机器人研究院 发表于 01-21 17:23 198次 阅读
如何用Python进行无监督学习

教你如何编写完美的Python命令行程序

但你很聪明,而且也很懒,所以你想让整个过程自动化。确定解密后的 25 个文本哪个最可能是原始文本的方....
的头像 嵌入式资讯精选 发表于 01-21 14:19 170次 阅读
教你如何编写完美的Python命令行程序

Python求最大公约数遇到问题

学Python时求最两个数的最大公约数,当实参为12和5时,结果总是为none,求不出来,为什么呢?代码如下: def gcd(a,b): &nb...
发表于 01-19 23:10 98次 阅读
Python求最大公约数遇到问题

python黑客操作:远程开机和关机

前言 用 python 关机相信大家肯定听过或者实践过吧,那么用 Python 开机呢?这是一个神奇的方法,教你如何用 Python 来开机...
发表于 01-19 20:22 58次 阅读
python黑客操作:远程开机和关机

最全面的Python字符串拼接总结说明

在 Python 中字符串连接有多种方式,这里简单做个总结,应该是比较全面的了,方便以后查阅。 加....
的头像 马哥Linux运维 发表于 01-19 11:58 242次 阅读
最全面的Python字符串拼接总结说明

啥是佩琦?我们用Python画给你看!

思路其实很简单,就是通过trutle模块实现基本的圆,椭圆,曲线等
的头像 电子发烧友网工程师 发表于 01-19 10:26 416次 阅读
啥是佩琦?我们用Python画给你看!

python教程之如何使用XlsxWriter模块创建aexcel表格

本文档的主要内容详细介绍的是python教程之如何使用XlsxWriter模块创建aexcel表格。
发表于 01-18 17:01 31次 阅读
python教程之如何使用XlsxWriter模块创建aexcel表格

Python教程之如何使用使用PIL库做图像处理的资料说明

图像处理是一门应用非常广的技术,而拥有非常丰富第三方扩展库的 Python 当然不会错过这一门盛宴。....
发表于 01-18 17:01 21次 阅读
Python教程之如何使用使用PIL库做图像处理的资料说明

2018年你使用最多的Python IDEs是什么?

Jupyter在任何地方都一马当先。美国/加拿大、欧洲、亚洲和澳大利亚/新西兰等地区也有着相同的偏好....
的头像 电子发烧友网工程师 发表于 01-18 16:15 267次 阅读
2018年你使用最多的Python IDEs是什么?

Julia可用于分析和解决计算科学问题的高性能工具

具体而言,Julia 项目由麻省理工学院教授 Alan Edelman 领导,另外几位关键创造者则包....
的头像 电子发烧友网工程师 发表于 01-18 16:01 523次 阅读
Julia可用于分析和解决计算科学问题的高性能工具

python数组的使用详细函数资料说明

本文档的主要内容详细介绍的是python数组的使用详细函数资料说明。
发表于 01-18 11:20 19次 阅读
python数组的使用详细函数资料说明

TensorFlow 2.0将专注于简单性和易用性

使用 tf.data 加载数据。使用输入管道读取训练数据,用 tf.data 创建的输入线程读取训练....
的头像 电子发烧友网工程师 发表于 01-18 10:44 326次 阅读
TensorFlow 2.0将专注于简单性和易用性

20行Python代码给微信头像戴帽子

如果一张图里有多张人脸,face_recognition.face_locations(image)....
的头像 电子发烧友网工程师 发表于 01-18 10:41 209次 阅读
20行Python代码给微信头像戴帽子

1月的榜单中,Python已经走上卫冕的道路

除了大家熟悉的微软、知乎、豆瓣,已经有越来越多的公司开始用Python来快速搭建网站产品。相应的,也....
的头像 电子发烧友网工程师 发表于 01-18 10:23 313次 阅读
1月的榜单中,Python已经走上卫冕的道路

Python转义字符使用总结资料免费下载

本文档的主要内容详细介绍的是Python转义字符使用总结资料免费下载主要内容包括了:Python转义....
发表于 01-17 17:24 28次 阅读
Python转义字符使用总结资料免费下载

用python编写一个高效搜索代码工具

用python编写一个高效搜索代码工具大多码农在linux环境下使用grep+关键词的命令搜索自己想要的代码或者log文件。今天介绍用pytho...
发表于 01-16 15:24 104次 阅读
用python编写一个高效搜索代码工具

python教程之如何使用python写一个简单的程序

程序设计是用精确的语言告诉计算机该做什么,要精确到最细节处。计算机只会做很简单的事情,只能刻板地执行....
发表于 01-16 11:43 32次 阅读
python教程之如何使用python写一个简单的程序

北大开源了一个中文分词工具包,名为——PKUSeg

多领域分词:不同于以往的通用中文分词工具,此工具包同时致力于为不同领域的数据提供个性化的预训练模型。....
的头像 电子发烧友网工程师 发表于 01-16 10:29 665次 阅读
北大开源了一个中文分词工具包,名为——PKUSeg

Python基础教程之Python快速入门课件资料免费下载

本文档的主要内容详细介绍的是Python基础教程之Python快速入门课件资料免费下载主要内容包括了....
发表于 01-15 17:17 45次 阅读
Python基础教程之Python快速入门课件资料免费下载

Python再一次赢得了“年度编程语言”的称号!

在 2018 年期间,号称集 Python、C、R、Ruby 等语言所长的动态编程语言 Julia ....
的头像 电子发烧友网工程师 发表于 01-15 10:24 719次 阅读
Python再一次赢得了“年度编程语言”的称号!

你知道13种编程语言的名称和来历吗

可能程序员们都认为编写代码时给变量取名是件烦人的事,不过他们还需要给另外一个东西取名,那就是新的编程....
发表于 01-14 17:20 46次 阅读
你知道13种编程语言的名称和来历吗

转行数据分析的一些经验和学习方法

如果你已经了解了Python编程的基础用法想要继续深入学习Pyhon,那么博主推荐你去看:廖学峰Py....
的头像 人工智能爱好者社区 发表于 01-14 15:25 157次 阅读
转行数据分析的一些经验和学习方法

使用Python编程时的要注意那10个事项

在Python里,一个表达式中的名字在它被赋值之前是没法使用的。这是有意而为的:这样能避免一些输入失....
的头像 玩转单片机 发表于 01-13 09:05 267次 阅读
使用Python编程时的要注意那10个事项

Python在开发实时嵌入式系统中的作用

在过去的几年里,Python已经成为一种热门的程序语言。以著名的Monty Python喜剧小组命名,该语言是面向对象和解释。该属性导...
发表于 01-11 18:22 91次 阅读
Python在开发实时嵌入式系统中的作用

如何写一个会讲笑话的Python程序

笑话从哪里来?自己写肯定是不现实的。在这个“云”的时代,各种云都有,自然是不缺开放API的。下面写一....
的头像 马哥Linux运维 发表于 01-11 16:47 502次 阅读
如何写一个会讲笑话的Python程序

Python图像处理库Pillow入门教程和代码资料免费下载

Pillow 是Python 里的图像处理库(PIL:Python Image Library),提....
发表于 01-11 16:20 55次 阅读
Python图像处理库Pillow入门教程和代码资料免费下载

Python成为2018年度编程语言,理由如下

2018 年,Python 语言上升了 3.62% ,其次是 Visual Basic .NET(+....
的头像 电子发烧友网工程师 发表于 01-10 15:32 348次 阅读
Python成为2018年度编程语言,理由如下

API-Shop-OCR-营业执照识别API接口Python调用示例代码说明

本文档的主要内容详细介绍的是API-Shop-OCR-营业执照识别API接口Python调用示例代码....
发表于 01-10 11:48 37次 阅读
API-Shop-OCR-营业执照识别API接口Python调用示例代码说明

K3Cloud的python开发实例资料说明

本文档的主要内容详细介绍的是K3Cloud的python开发实例程序资料免费下载。
发表于 01-10 11:48 36次 阅读
K3Cloud的python开发实例资料说明

虚拟币API接口的Python调用示例代码资料免费下载

虚拟币大全 涵盖比特币、以太坊等热门虚拟货币与最新发行的虚拟货币,包括币种名称、市值、24小时交易....
发表于 01-10 10:37 42次 阅读
虚拟币API接口的Python调用示例代码资料免费下载

如何用robots.txt快速抓取网站

在我抓取网站遇到瓶颈,想剑走偏锋去解决时,常常会先去看下该网站的robots.txt文件,有时会给你....
的头像 电子发烧友网工程师 发表于 01-10 09:08 195次 阅读
如何用robots.txt快速抓取网站

面对人工智能这个大潮 码农应该作何反应呢

去年以来,相信很多码农,包括我本人在内,每天不下十次看到听到“人工智能”。新闻在报、科技媒体也都被它....
的头像 电子发烧友网工程师 发表于 01-10 09:00 1188次 阅读
面对人工智能这个大潮 码农应该作何反应呢

使用labview调用python语言,创建一个随机数生成小程序

1.labview只是调用功能,主要功能是python代码。   python具有强大的功能,可以弥补labview的短板。 2.labview需要安...
发表于 01-09 20:48 118次 阅读
使用labview调用python语言,创建一个随机数生成小程序

【PYNQ-Z2试用体验】1.适用项目,计划方案以及目标----写在开发板到手之前。

感谢论坛,很荣幸让我有机会试用 Pynq-z2 这块板子。 申请的原因是之前的Pynq-z1坏掉了,找了硬件的朋友去修。 之前已经在z1...
发表于 01-09 16:04 183次 阅读
【PYNQ-Z2试用体验】1.适用项目,计划方案以及目标----写在开发板到手之前。

Agilent 34401A读数存储器问题

嗨,大家好!! 我需要使用Agilent 34401A通过测量电阻连续测量(0.01秒),同时直流电压源施加0到20伏的电压斜坡,Im使用G...
发表于 01-09 15:11 29次 阅读
Agilent 34401A读数存储器问题

MicroPython技术及应用定义

    MicroPython极精简高效的实现了Python3语言,包含Python标准库的一小部分,在单片机和受限环境中运行。 &n...
发表于 01-09 14:43 173次 阅读
MicroPython技术及应用定义

python调用HanLP

1.首先安装jpype 首先各种坑,jdk和python 版本位数必须一致,我用的是JPype1-py3 版本号0.5.5.2 、1.6jdk和Python3.5,win7...
发表于 01-08 16:26 108次 阅读
python调用HanLP

Python惨遭开发者嫌弃,8个理由说明Python很糟糕

”绝大多数编程语言都有某种标识来表明作用域——即函数何时开始何时结束,动作包含在一个条件语句中,变量....
的头像 电子发烧友网工程师 发表于 01-08 09:05 429次 阅读
Python惨遭开发者嫌弃,8个理由说明Python很糟糕

python如何配置虚拟环境?

python 的虚拟环境可以为一个 python 项目提供独立的解释环境、依赖包等资源,既能够很好的....
发表于 01-07 17:12 102次 阅读
python如何配置虚拟环境?

python虚拟环境迁移4大关键步骤

执行 pip freeze --all 》 requirements.txt 命 令 将安装包版本信....
发表于 01-07 17:00 98次 阅读
python虚拟环境迁移4大关键步骤

python的各种实现有何优劣

当谈到Python时,一般指的是CPython。但Python实际上是一门语言规范,只是定义了Pyt....
的头像 马哥Linux运维 发表于 01-07 15:44 318次 阅读
python的各种实现有何优劣

能不能用文本处理的方法,得到《三国演义》中的人物社交网络再进行分析呢?

对这个问题,我们可以用网络中的排序算法解决。PageRank就是这样的一个典型方法,它本来是搜索引擎....
的头像 电子发烧友网工程师 发表于 01-06 10:13 709次 阅读
能不能用文本处理的方法,得到《三国演义》中的人物社交网络再进行分析呢?

2018年的7大最好的Python库

AdaNet是一个轻量级的、可扩展的TensorFlow AutoML框架,用于使用AdaNet算法....
的头像 新智元 发表于 01-06 09:44 626次 阅读
2018年的7大最好的Python库

Python夺大满贯!三大编程语言榜即将全部“失守”!

有互联网创业者说:2019年可能会是过去十年里最差的一年但却是未来十年里最好的一年,真的是这样吗?“
的头像 电子发烧友网工程师 发表于 01-05 11:02 796次 阅读
Python夺大满贯!三大编程语言榜即将全部“失守”!

python基础教程之变量如何命名变量命名规范的资料说明

python源码和其他一些书籍,命名各种个性,没有一个比较统一的命名规范。于是总结了一些,供参考。
发表于 01-04 17:51 58次 阅读
python基础教程之变量如何命名变量命名规范的资料说明

python基础教程之如何进行静态方法和类方法详细笔记说明

本文档的主要内容详细介绍的是python基础教程之如何进行静态方法和类方法详细笔记说明资料免费下载。
发表于 01-04 17:01 45次 阅读
python基础教程之如何进行静态方法和类方法详细笔记说明

用示波器快速捕获异常的三种方法

万事开头难!当你想用示波器来分析问题时,你一定有想过,我要如何才能把问题抓下来?当然,只有抓下来之后....
的头像 ZLG致远电子 发表于 01-04 09:26 453次 阅读
用示波器快速捕获异常的三种方法

数据处理有9大编程语言详细资料介绍

有关大数据的话题一直很火热。伴随着信息的爆炸式增长,大数据渗透到了各行各业,广泛应用于公司中,同时也....
发表于 01-03 11:46 53次 阅读
数据处理有9大编程语言详细资料介绍

如何使用Python编程一个石头剪刀布游戏的小程序

本作业是通过python的基础语句,运用条件嵌套判断以及随机数的生成,实现了与电脑进行石头剪刀布游戏....
发表于 01-03 09:42 68次 阅读
如何使用Python编程一个石头剪刀布游戏的小程序

用Python爬了爬自己的微信朋友

看来我大部分的朋友都是在广东的(不是废话吗),其中广东的朋友大部分集中在广、深、珠,第二名是在奥克兰....
的头像 机器人大讲堂 发表于 01-02 16:59 449次 阅读
用Python爬了爬自己的微信朋友

爬虫是如何实现数据的获取爬虫程序如何实现

进入大数据时代,爬虫技术越来越重要,因为它是获取数据的一个重要手段,是大数据和云计算的基础。那么,爬....
发表于 01-02 16:30 150次 阅读
爬虫是如何实现数据的获取爬虫程序如何实现

为什么选用python进行科学计算

脚本语言已经为很多科学计算器的构建提供了很多强有力的工具,因为他们提供了其他解释型语言的接口。和很多....
发表于 01-02 14:40 51次 阅读
为什么选用python进行科学计算

最红编程语言Python的入门学习方法资料概述

最近由于人工智能的大热,Python成为网红编程语言。其就业方向和就业前景是非常大的。所以一些想要转....
发表于 01-02 14:40 75次 阅读
最红编程语言Python的入门学习方法资料概述

教大家如何用Python抢火车票!

但是,所有的乡愁和感伤,最好的解药就是一张火车票。每当万事俱备,总是只欠东风,我依然是被一张 5mm....
的头像 电子发烧友网工程师 发表于 01-02 10:35 815次 阅读
教大家如何用Python抢火车票!