小朋友们好,大朋友们好!
我是猫妹,一名爱上Python编程的小学生。
欢迎和猫妹一起,趣味学Python。
今日主题
我们平时用的APP或者游戏,很多都少不了有趣的声音。
让Python发出声音难吗?
一点也不难,咱们今天就学习一些和声音有关的Python库。
winsound库
win:胜利
souun:声音
winsound这个名字,真是不错啊!
winsound模块提供了对Windows平台提供的基本声音播放机制的访问。它包括函数和几个常量。
winsound.Beep(frequency , duration)
参数frequency 分贝 范围 37-32,767, 参数duration 持续时间 :单位毫秒;
winsound.PlaySound(sound,flags)
从平台API调用基础PlaySound()函数。
参数 声音sound 可以是文件名、系统声音别名、类似字节对象的音频数据,或者没有。它的解释取决于参数标志flags的值,
官方文档
除了上述两个最常见的API外,还有更多许多哦,感兴趣的小伙伴可以访问官网哦!
https://docs.python.org/3.6/library/winsound.html?highlight=winsound#module-winsound
speech库
speech:演说,发言
在python中我们可以使用speech模块让计算机进行语音输出。
首先,需要用pip install speech进行安装。
speech模块最早是在python 2.x中开发的,在python 3.x中并不能够直接使用,我们需要打开它安装后的原始文件,并进行以下调整即可。
方式一
修改Python库安装目录下(Python38\Lib\site-packages)的speech.py。
原始文件第157行,print prompt应该改为print(prompt)。
原始文件第59行,thread应该改为threading。
拖动文件到最后,将246行以后的部分全部替换为:
设置好了之,就可以让Python发声了。
方式二
修改Python库安装目录下(Python38\Lib\site-packages)的speech.py。
原始文件第157行,print prompt应该改为print(prompt)。
原始文件第59行,thread应该改为_thread。
拖动文件到最后,将263行由thread改为_thread。
speech.input() 这一行代码就可以实现语音识别,第一次使用需要配置一下。
第一次启用需要进行语音识别设置,按如下步骤进行即可。
流程是通的,只是语音识别这块有点out。
猫妹的电脑是win7,老古董了。
像win10,win11等较新系统,都可对语音识别进行训练,提高识别精度。
5种基于Python文字转化语音方法
gtts
baidu-aip
pyttsx3
pywin32
speech
最后,再推荐一款功能强大的Python语音库pydub:
Pydub lets you do stuff to audio in a way that isn't stupid.
比如下面两行代码可以把mp3文件转换为wav格式:
song=AudioSegment.from_mp3(r"D:\娱乐\日不落.mp3")
song.export(r"D:\娱乐\日不落.wav",format='wav')
好了,我们今天就学到这里吧!
如果遇到什么问题,咱们多多交流,共同解决。
我是猫妹,咱们下次见!