1、语音合成模块简介 #
语音模块也叫语音合成朗读模块,它的作用是对外界输入的文本进行转化,使用语音朗读出来。部分装置会将语音朗读模块与语音识别模块相结合,以实现语音对话交互功能。
文字转语音一般分为两个步骤:
1) 文本处理。这一步做的事情是把文本转化成音素序列,并标出每个音素的起止时间、频率变化等信息。作为一个预处理步骤,它的重要性经常被忽视,但是它涉及到很多值得研究的问题,比如拼写相同但读音不同的词的区分、缩写的处理、停顿位置的确定,等等。
2) 语音合成。狭义上这一步专指根据音素序列(以及标注好的起止时间、频率变化等信息)生成语音,广义上它也可以包括文本处理的步骤。这一步主要有三类方法:a) 拼接法,即从事先录制的大量语音中,选择所需的基本单位拼接而成。这样的单位可以是音节、音素等等;为了追求合成语音的连贯性,也常常用使用双音子(从一个音素的中央到下一个音素的中央)作为单位。拼接法合成的语音质量较高,但它需要录制大量语音以保证覆盖率。
b) 参数法,即根据统计模型来产生每时每刻的语音参数(包括基频、共振峰频率等),然后把这些参数转化为波形。参数法也需要事先录制语音进行训练,但它并不需要100%的覆盖率。参数法合成出的语音质量比拼接法差一些。
c) 声道模拟法。参数法利用的参数是语音信号的性质,它并不关注语音的产生过程。与此相反,声道模拟法则是建立声道的物理模型,通过这个物理模型产生波形。这种方法的理论看起来很优美,但由于语音的产生过程实在是太复杂,所以实用价值并不高。
本次课程使用的语音模块内置一块高集成的语音合成芯片,芯片能够根据内置的文本匹配规则,对输入文本进行正确的识别和处理,实现中英文语音合成,从而进行语音朗读播报的功能。传感器支持I2C和UART双通信,支持的文本编码格式有GB2312、GBK、BIG5和UNICODE。
本实验中,传感器使用I2C协议与Uno主板通信,四个针脚D/T为数据针脚接A4,C/R为时钟针脚接A5,其余两针脚为高低电平。
2、 语音模块的应用 #
语音合成模块广泛用于信息查询机,固定电话拨号声,公交报站,自动售货机,智能仪表,考勤机,交互机器人等领域。比如中英文翻译朗读,siri,小爱同学等。
3、 所需元件清单 #
Arduino Uno主板
USB数据线
语音合成传感器
面包板
9V电池
杜邦导线
4、 动手实验 #
参照下图正确接线,编写程序朗读文字“我喜欢编程,我是创客。”。
A实验接线图
B实验程序图
5思考题 #
实验2:完成一个门铃提醒播报装置
实验3:完成一个档位播报装置