iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >如何让用Python写一个语音播放软件
  • 792
分享到

如何让用Python写一个语音播放软件

2023-06-17 00:06:55 792人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

如何让用python写一个语音播放软件,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。单位经常使用广播进行临时事项的通知(将文字转换为语音然后通过功放广播),但是市面上多数语

如何让用python写一个语音播放软件,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

单位经常使用广播进行临时事项的通知(将文字转换为语音然后通过功放广播),但是市面上多数语音播放软件都是收费的,要么发音失真,要么不够稳定——经常出现莫名其妙的故障,容易给工作带来被动。学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导入其他库的时候尽量有选择性,不要导入整个库,不然打包后的文件会非常庞大。

使用python写了一款语音播放软件,主要涉及Tkinter、baidu-aip、playsound、pyinstaller几个库,能够实现基本的语音合成及播放功能,能够脱离python开发环境运行,便于自行维护和扩展,缺点是界面比较简陋、功能比较单一,有兴趣的小伙伴可以自行修改完善。

关于如何让用Python写一个语音播放软件问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注编程网Python频道了解更多相关知识。

--结束END--

本文标题: 如何让用Python写一个语音播放软件

本文链接: https://www.lsjlt.com/news/286439.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何让用Python写一个语音播放软件
    如何让用Python写一个语音播放软件,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。单位经常使用广播进行临时事项的通知(将文字转换为语音然后通过功放广播),但是市面上多数语...
    99+
    2023-06-17
  • 如何利用Python编写本地音乐播放器
    这篇文章主要为大家展示了“如何利用Python编写本地音乐播放器”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何利用Python编写本地音乐播放器”这篇文章吧。先上完整代码:修改文件夹路径即可...
    99+
    2023-06-29
  • 用python编写一个小程序,如何用python编写软件
    大家好,给大家分享一下用python编写一个小程序,很多人还不知道这一点。下面详细解释一下。现在让我们来看看! 1、python可以写手机应用程序吗? 我想有人曲解意思了,人家说用python开发渣蔽一个手机app,不是说用手机敲写py...
    99+
    2023-10-22
    python
  • 如何使用Vue3+TS实现语音播放组件
    这篇文章主要介绍如何使用Vue3+TS实现语音播放组件,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!该功能将使用vue3 + TS来实现语音播放组件,使用什么技术不重要,重要的是看懂了核心逻辑后,通过原生js、rea...
    99+
    2023-06-29
  • 如何通过C++编写一个简单的音频播放器程序?
    随着计算机技术的进步,音频播放器已经成为人们的日常生活中必不可少的工具。而在C++编程领域,如何编写一个简单的音频播放器程序呢?在本文中,我们将会探讨这个话题。一、 程序的基本框架编写一个音频播放器程序的时候,最重要的是要明确程序的基本框架...
    99+
    2023-11-04
    C++ 编写 音频播放器
  • 如何用python编写一个生成春联软件
    目录前言效果展示代码打包exe可执行文件总结前言 最近不是快过年了,Python写对联挺火的,但是代码又不是人人都用,那就直接写个界面打包一下呗~ 主要实现只要运行后输入上联下联、横...
    99+
    2022-11-13
  • 如何利用MySQL和Go语言开发一个简单的音频播放器
    如何利用MySQL和Go语言开发一个简单的音频播放器音频播放器是我们常见的应用之一,通过使用MySQL和Go语言,我们可以轻松地实现一个简单的音频播放器。本文将会介绍如何使用MySQL来存储音频文件的相关信息,并通过Go语言来实现音频文件的...
    99+
    2023-10-22
    MySQL Go语言 音频播放器
  • 使用android如何制作一个多媒体音乐播放器
    使用android如何制作一个多媒体音乐播放器?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。首先,在AndroidManifest.xml中配置权限 <!-- ...
    99+
    2023-05-31
    android roi
  • 如何利用C++实现一个简单的音乐播放器程序?
    如何利用C++实现一个简单的音乐播放器程序?音乐播放器是我们日常生活中常见的应用程序之一。它能够让我们随时随地欣赏到自己喜爱的音乐,舒缓压力,享受美妙的音乐世界。下面,我将介绍如何使用C++编写一个简单的音乐播放器程序。首先,我们需要了解音...
    99+
    2023-11-02
    音乐播放器 C++ 实现
  • 如何用Python写一个带图形界面的文件压缩软件
    这期内容当中小编将会给大家带来有关如何用Python写一个带图形界面的文件压缩软件,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。文件压缩和解压我们在日常工作学习中会经常用到,比如winrar、快压、好压等...
    99+
    2023-06-02
  • 如何让用Python做一个缩放自如的圣诞老人
    如何让用Python做一个缩放自如的圣诞老人,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。圣诞节又要到了,虽说我们中国人不提倡过西方的节日,但是商家们还是很喜欢...
    99+
    2023-06-16
  • 如何使用MySQL和Java实现一个简单的音乐播放器功能
    如何使用MySQL和Java实现一个简单的音乐播放器功能引言:随着技术的不断发展,音乐播放器已经成为人们日常生活中不可或缺的一部分。本文将介绍如何使用MySQL和Java编程语言来实现一个简单的音乐播放器功能。文章将包含详细的代码示例,用于...
    99+
    2023-10-22
    音乐播放器 MySQL Java
  • 如何使用HTML和CSS创建一个响应式音乐播放器布局
    在如今信息科技迅速发展的时代,音乐作为娱乐的一种形式,已经深入人们的生活中。为了更好地体验音乐,许多网站和应用程序提供了在线音乐播放器。本文将介绍如何使用HTML和CSS创建一个响应式的音乐播放器布局,并提供具体的代码示例。首先,我们需要使...
    99+
    2023-10-21
    响应式设计 CSS样式 HTML布局
  • 如何利用MySQL和Java开发一个简单的在线音乐播放器
    如何利用MySQL和Java开发一个简单的在线音乐播放器开发一个在线音乐播放器是一个具有挑战性和趣味性的项目。本文将介绍如何使用MySQL数据库和Java编程语言来构建一个简单的在线音乐播放器,并提供具体的代码示例。一、项目需求分析在开始开...
    99+
    2023-10-22
    MySQL Java 在线音乐播放器
  • 如何利用python将一个py文件变成一个软件详解
    目录前言一、第一步:写好文件二、第二步:生成程序1.安装库2.使用安装的库进行转化总结前言 本文重点说如何将py文件转化为exe文件,也就是windows电脑可以打开的文件,实现起来...
    99+
    2023-05-16
    py文件怎么变成exe 怎么将python文件转成软件 py文件转换成exe
  • 如何使用HTML和CSS创建一个响应式音乐播放器页面布局
    如何使用HTML和CSS创建一个响应式音乐播放器页面布局互联网的发展使得音乐播放器成为了人们生活中不可或缺的一部分。在创造一个优秀的音乐播放器页面布局方面,HTML和CSS是不可或缺的工具。本文将介绍如何使用HTML和CSS来创造一个响应式...
    99+
    2023-10-25
    响应式 CSS html
  • 如何使用Python中的模块、扩展库和框架开发一个完整的软件系统
    如何使用Python中的模块、扩展库和框架开发一个完整的软件系统Python作为一种高级编程语言,非常适合用于开发各种软件系统。通过使用Python的模块、扩展库和框架,开发人员可以快速构建功能强大、可靠稳定的软件系统。本文将介绍如何使用P...
    99+
    2023-10-22
    框架 模块化 扩展库
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作