- 部分 I. Python 入门
- 第 1 章 Python 入门
- 第 2 章 Python Package Index (PyPI)
- 第 3 章 Python 模块
- 第 4 章 数据类型
- 第 5 章 数据结构
- 第 6 章 Class
- 第 7 章 Input/Output
- 第 8 章 Pipe
- 第 9 章 Library
- 9.2. 随机数
- 9.3. Python 多线程
- 9.13. syslog
- 9.5. Socket
- 9.6. subprocess
- 9.7. YAML
- 9.8. Daemon
- 9.9. python-memcached
- 9.10. Pyro - Pyro is short for PYthon Remote Objects
- 9.11. Python Imaging Library
- 9.12. getopt – Command line option parsing
- 9.14. python-subversion
- 9.15. SimpleHTTPServer
- 9.16. fuse-python.x86_64 : Python bindings for FUSE - filesystem in userspace
- 9.17. Network
- 9.18. Python-spdylay - Spdylay Python Extension Module
- 9.19. mechanize
- 9.20. Dominate
- 第 10 章 Frameworks
- 第 12 章 终端环境开发
- 部分 II. Python 数据分析
- 第 13 章 Crawler
- 第 14 章 Scrapy - Python web scraping and crawling framework
- 第 15 章 Pandas - Python Data Analysis Library
- 第 16 章 股票
- 第 17 章 数据可视化
- 部分 III. 人工智能 AI
- 第 18 章 OCR
- 第 19 章 语音处理
- 第 20 章 视频
- 第 21 章 人脸识别
- 第 22 章 自然语言处理
- 第 23 章 自动化运维
- 第 24 章 办公自动化
- 第 25 章 OpenCV
- 第 26 章 图形开发
- 第 27 章 3rdparty toolkit
- 第 29 章 实用代码
- 第 30 章 FAQ
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
第 19 章 语音处理
第 19 章 语音处理
目录
19.1. TTS(Text To Speech) 文本转语音
pyttsx3 - 语音朗读
TTS(Text To Speech) 译为从文本到语音,TTS是人工智能AI的一个模组,是人机对话的一部分,即让机器能够说话。
TTS是语音合成技术应用的一种,首先采集语音波形,然后进行优化处理,最后存储在数据库中,合成语音是提取波形转换成自然语音输出。
TTS 有哪些应用场景
- TTS 能帮助有视觉障碍的人阅读计算机上的信息
- 懒人听书,很多人没有时间读书,我们可以通过TTS将书中的内容朗读出来
- 与声音识别程序一起使用,实现人机交互,例如客服系统的对话脚本
- 不方便视觉交互场景,例如驾驶汽车,我们可以将短信朗读出来,来电电话号码朗读出来
- 公交车报站
19.1.1. 安装 pyttsx3
pip install pyttsx3
19.1.1.1. Linux
[root@gitlab ~]# dnf install espeak-ng
libespeak.so.1: cannot open shared object file: No such file or directory
19.1.2. 演示
#coding=utf-8 import pyttsx3 pyttsx3.speak("Hello World!")
19.1.3. 方法详解
19.1.3.1. say() 方法
speak() 实际上是下面代码的封装
#coding=utf-8 import pyttsx3 engine = pyttsx3.init() engine.say("Hello World!") engine.runAndWait()
19.1.3.2. save_to_file()
engine.save_to_file(text, 'test.mp3')
19.1.3.3. 调整人声类型
男性(voices[0].id)、女性(voices[1].id)
voices = engine.getProperty('voices') engine.setProperty('voice', voices[0].id)
19.1.3.4. 调整语速
一般范围一般在0~500之间
rate = engine.getProperty('rate') engine.setProperty('rate', 200)
19.1.3.5. 调整声量
范围在0~1之间
volume = engine.getProperty('volume') engine.setProperty('volume',0.8)
19.1.3.6. 查看语音引擎
voices = engine.getProperty('voices') for item in voices: print(item)
19.1.4. 例子
import pyttsx3 engine = pyttsx3.init() # object creation """ RATE""" rate = engine.getProperty('rate') # getting details of current speaking rate print (rate) #printing current voice rate engine.setProperty('rate', 125) # setting up new voice rate """VOLUME""" volume = engine.getProperty('volume') #getting to know current volume level (min=0 and max=1) print (volume) #printing current volume level engine.setProperty('volume',1.0) # setting up volume level between 0 and 1 """VOICE""" voices = engine.getProperty('voices') #getting details of current voice #engine.setProperty('voice', voices[0].id) #changing index, changes voices. o for male engine.setProperty('voice', voices[1].id) #changing index, changes voices. 1 for female engine.say("Hello World!") engine.say('My current speaking rate is ' + str(rate)) engine.runAndWait() engine.stop() """Saving Voice to a file""" # On linux make sure that 'espeak' and 'ffmpeg' are installed engine.save_to_file('Hello World', 'test.mp3') engine.runAndWait()
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论