一种手机端发音可视化系统的实现方法

文档序号:1244098 发布日期:2020-08-18 浏览:25次 >En<

阅读说明:本技术 一种手机端发音可视化系统的实现方法 (Method for realizing mobile phone end pronunciation visualization system ) 是由 徐天一 赵隆轩 王建荣 于瑞国 于建 高洁 严丽珺 于 2020-04-27 设计创作,主要内容包括:本发明公开一种手机端发音可视化系统的实现方法,包括步骤:建立发音运动数据库,提取语音数据的特征使语音数据能转换为机器所能处理分析的特征向量形式,然后与原始数据共同组成数据集;利用上述数据集对选择的GMM模型进行训练,得到发音可视化模型;将所述发音可视化模型与预创建的声音录入模块与可视化处模块连接,应用到移动平台,形成手机端发音可视化系统。本发明所形成的手机端发音可视化系统,应用于手机等移动平台上,可以实现发音动作可以移动平台,如手机显示面上的可视化显示,通过直观的展示方便了解相应的使用者的语音的发音动作。(The invention discloses a method for realizing a mobile phone end pronunciation visualization system, which comprises the following steps: establishing a pronunciation motion database, extracting the characteristics of voice data to convert the voice data into a characteristic vector form which can be processed and analyzed by a machine, and then forming a data set together with the original data; training the selected GMM model by using the data set to obtain a pronunciation visualization model; and connecting the pronunciation visualization model with a pre-created sound input module and a visualization module, and applying the pronunciation visualization model to a mobile platform to form a mobile phone end pronunciation visualization system. The mobile phone end pronunciation visualization system formed by the invention is applied to mobile platforms such as mobile phones, can realize that pronunciation actions can be displayed visually on the mobile platforms such as mobile phone display surfaces, and is convenient to know the corresponding pronunciation actions of the voice of a user through visual display.)

一种手机端发音可视化系统的实现方法

技术领域

本发明涉及语音识别和可视化技术领域,特别是涉及一种手机端发音可视化系统的实现方法。

背景技术

传统的发音的教学采用跟读模仿的教学方式,需要学生通过听觉反馈发觉自己存在的问题,然后反复尝试,寻找正确的发音方法。学生的学习效率较低。发音过程可视化技术将人发音过程中发音器官的运动用影像的形式展示出来,提供发音时的视觉反馈,使人们在学习发音时能够更快地发现问题,找到正确的发音方式。发音过程可视化也能够帮助听力障碍人士矫正发音。

然而目前的发音可视化系统不能在手机等终端上使用,因此,开发一种适用于手机上的发音可视化系统,具有重要的意义。

发明内容

本发明的目的是针对现有技术中存在的技术缺陷,而提供一种手机端发音可视化系统的实现方法,以对用户录入声音时发音器官的生理信息进行可视化。

为实现本发明的目的所采用的技术方案是:

一种手机端发音可视化系统的实现方法,包括步骤:

S1.建立发音运动数据库,提取语音数据的特征使语音数据能转换为机器所能处理分析的特征向量形式,然后与原始数据共同组成数据集;

S2.利用上述数据集对选择的GMM模型进行训练,得到发音可视化模型;

S3.将所述发音可视化模型与预创建的声音录入模块与可视化处模块连接,应用到移动平台,形成手机端发音可视化系统。

其中,所述数据集中每对数据文件包括一个MFCC数据文件和一个对应EMA数据文件,MFCC数据文件描述的是语音数据的特征EMA数据描文件述的是对应语音数据产生时的发音动作。

其中,所述声音录入模块采集的音频数据为PCM,并通过转换形成WAV格式,使得从手机上获得的语音信号能够转换为机器可以识别处理的语音特征向量。

其中,所述提取语音数据的特征为MFCC特征。

其中,所述发音可视化模型为基于max_comp的GMM映射模型,输出为一个14维的数据,对应EMA数据记录的七个不同口腔器官的横纵坐标。

其中,所述可视化处模块的处理过程的步骤如下:

建立坐标系,将发音可视化模型预测出的数据实时进行预处理、坐标第转换后,实时在建立的坐标系中标出,并实现实时动态显示。

本发明所形成的手机端发音可视化系统,应用于手机等移动平台上,可以实现发音动作可以移动平台,如手机显示面上的可视化显示,通过直观的展示方便了解相应的使用者的语音的发音动作。

附图说明

图1是手机移动端发音可视化系统的原理结构图;

图2是七个不同口腔器官对应的的横纵坐标的示意图

图3是7个坐标节点显示于view坐标系下的示意图;

图4是实现动态显示功能的流程图;

图5-7所示分别是分别使用MMSE、MLE、max_comp后,第一个关节点软腭的横坐标的估计值与真实值的轨迹曲线。

具体实施方式

以下结合附图和具体实施例对本发明作进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

如图1所示,本发明的手机移动端发音可视化系统,通过以下方法实现:

步骤S0101:发音运动数据库建立

使用爱丁堡玛格丽特大学学院开发的多渠道发音(MOCHA)数据库中的EMA数据和WAV声波数据,构成了所需发音运动数据库。MOCHA数据库中数据采集是通过扬声器同步记录声波(16kHz,16位)与EMA数据至计算机中。

步骤S0201:WAV声音数据特征提取

对声音进行了特征值提取,使得数据库中的语音数据能转换为机器所能处理分析的特征向量形式。使用python_speech_features提取MFCC的具体步骤:

(1)安装python_speech_features库:pip install python_speech_features

(2)import导入所需要的库:语音识别库python_speech_features、scipy.io.wavfile库提供加载WAV音频的函数(语音处理过程中以WAV文件作为语音输入数据)和处理numpy数组的库numpy;

(3)获取录制好的WAV文件的采样率以及形成的语音信号数据数组,通过函数wav.read()得到一个结果组(采样率:samplerate,numpy语音信号数组:signal);

(4)调用python_speech_features.mfcc()函数执行提取MFCC特征值过程,具体规定如下:

python_speech_features.mfcc(signal,samplerate,winlen=0.025,winstep=0.01,numcep=12,nfilt=26,nfft=512,lowfreq=0,highfreq=None,preemph=0.97,win-16func=numpy.hamming);

(5)将最终得到的特征值numpy数组保存到指定路径下,该文件格式为一般的npy文件,使用np.save(file_path,feature_mfcc);

(6)查看形成的npy文件中特征值向量的内容,先进行读取np.load(file_path),然后将其打印print()。

步骤S0301:数据集划分。

数据集由460对数据文件组成,其中每对数据文件包括一个MFCC数据文件和一个对应EMA数据文件。MFCC数据描述的是语音数据的特征,而EMA数据描述的是对应语音数据产生时的发音动作。

该数据集将被划分为三部分,其中一部分作为训练集,包含整个数据集80%的数据;另外两个部分分别作为测试集和验证集,都占整个数据集的10%。

步骤S0401:GMM映射模型构建。

执行命令:python./Inversion_gmm.py-t-s-n 64-C'full'进行模型训练,最终训练得到的GMM模型将用joblib保存在本地:gmm_combined_64components_11frames_trajetory.joblib。

步骤S0501:发音可视化系统实现。

(1)声音录入模块的实现

使用Android提供的录音类AudioRecord来采集音频。

第一步,构造一个AudioRecord类下的对象,并设置该类下的一些基本参数。

第二步,初始化一个与所创建对象相联系的、存储声音数据的buffer,主要是用于写入所要录制的新的声音数据。

第三步,开始采集并读入音频数据。

第四步,停止采集音频数据,获得原始音频数据PCM。

第五步,将原有的PCM格式转换成WAV格式。使得从手机上获得的语音信号能够转换为机器可以识别处理的语音特征向量。

(2)预测模块的实现

第一步,对当前获取的用户的录入声音进行声音特征MFCC提取,需要调用python_speech_features库中的mfcc函数进行提取,得到相对应的特征文件。

第二步,将提取的MFCC作为模型预测的X输入,利用基于max_comp的GMM映射模型预测出Y输出,它表示为一个14维的数据,对应预测EMA数据记录的七个不同口腔器官(软腭、舌根、舌身、舌尖、下切牙、下唇、上唇)的横纵坐标,如图2所示

(3)可视化模块的实现

第一步,建立坐标系。

1,建立一个自定义的view坐标系:确定view坐标系的原点。调用函数getHeight()与getWidth()获取当前view的高度height与宽度width,然后计算原点坐标。

2,利用Canvas类提供的函数canvas.drawLine()画出横纵坐标轴并标出刻度。

第二步,实现静态描点功能,如图2所示。

1,数据预处理。读取数据,并调用replace()函数去除特殊字符,保存处理好的数据与DataPointlist.txt文件中。

2,坐标系转换。将保存在DataPointList文件中的数据的坐标转换到第一步建立的view坐标系下,并将转换后的数据坐标保存到PointList文件中。

3,调用Canvas类提供函数drawPoint(),根据PointList中七个器官的坐标,在自定义的view坐标系下将他们标出。如图3所示,图3中显示了7个坐标节点显示于view坐标系下。

第三步,实现动态显示功能。

对之前预测的关节数据进行显示时,不仅要显示每一时刻下的记录的7个器官的点坐标,还要连续显示所有时刻的情况,以实现动态显示功能。

因此具体实现时,将每一时刻看作一个包含7个点坐标数据的分组,然后设计一个自动切换、读取分组的控件,进而实现模拟动态演示。即把14维数据还原成7个发音器官的横纵坐标,并通过坐标变换,将他们映射到自定义的View坐标系下,用7个点口腔器官点坐标来表征口腔发音的运动情况。

进而,通过构造一个循环,让程序可以连续顺次显示7个点坐标,实现发音的可视化的动态显示。具体实现流程为如图4所示。

1.设置数据变化监听器。对数据进行分组,每个分组包含14维数据,即7个坐标。每当分组发生切换时,会回调用数据变化监听器DataChangeListener下的函数onDateChanged(int groupId),获得下一帧要显示的分组编号groupId,来更新坐标显示;

2.循环执行,直至所有数据组都跑完。调用数据变化监听器DataChangeListener下的函数onDataEnd(),通知当前activity数据已跑完;

3.activity接收到数据完结的通知后,会改变自动切换、读取分组的控件中的开始/暂停文字,变为“开始”,动态显示任务结束。

由于基于训练得到的传统GMM模型可以进一步建立映射模型模型,得到映射函数(X,Y),并选取合适的损失函数来描述估计值Y与真实值Y之间的接近程度。因此,调研了三种基于不同估计方式(损失函数)的GMM映射模型:基于MMSE的GMM映射;基于MLE的GMM映射;基于max_comp的GMM映射,分别分析他们对结果造成的影响。

本发明中将使用两个评估指标来评估上述三种模型:一个是估计误差RMSE,用来衡量每个点处真实值与预测值之间的误差;另一个是R^2,用来说明整体上真实值与预测值的相关程度。

实验的数据集由460对数据文件组成,每对数据文件包括一个MFCC数据文件和一个对应的EMA数据文件。MFCC数据描述的是语音数据的特征,而EMA数据描述的是对应语音数据产生时的发音动作。

构建GMM映射模型,分别用MMSE、MLE和max_comp的估计方式来计算损失函数,训练模型。

首先,计算在使用MMSE、MLE、max_comp这三种不同估计方式时,每一通道真实值与估计值之间的RMSE以及它们的拟合程度R^2。表1、2分别显示了在这三种估计方式下每一通道的RMSE值、R^2值。

表1

表2

结果分析:RMSE是一个误差值,当RMSE值越小时,就代表真实值与估计值之间的的偏差程度越小。所以对三种估计方式在14个通道下的RMSE值进行对比,可以得出基于max_comp的GMM映射预测出的值与真实值的偏差程度最小,故而在RMSE性能指标下,该映射模型在点处的估计准确度高,表现出的估计max_comp性能是最好的。RMSE值在这三种估计方式中的关系大致呈现为:max_comp<MLE<MMSE,相对应的在此性能指标下,模型性能好坏呈现为:max_comp>MLE>MMSE。

R^2衡量了预测值与真实值之间的符合程度。它从整体上描述了真实值轨迹曲线与预测值估计曲线的拟合度。当R^2值越大并且越接近1,则表明两个曲线的吻合度在提高。通过对三种估计方式在14个通道下的R^2值的对比,分析出采用max_comp估计方式时,R^2值更大且接近1的情况更多,所以其真实值与预测值的拟合程度优于其他两个估计方式。故而在R^2的性能指标下,基于max_comp的GMM映射模型整体的吻合程度更高,表现出的性能依然是最好的。

其次,对同一个声音特征MFCC,分别绘制14个通道的估计值与真实值的轨迹曲线。图5、6、7显示的是分别使用MMSE、MLE、max_comp后,第一个关节点软腭的横坐标的估计值与真实值的轨迹曲线。

结果分析:通过观察图5、6、7这三个图,可以看出使用基于max_comp的GMM映射模型所得到的预测值的轨迹曲线的平滑性是最好的,其次是基于MLE的映射,最后是MMSE。

综上,根据性能指标RMSE、R^2与估计值轨迹曲线的平滑性,可以得出基于max_comp的GMM映射模型相较于其他两个模型性能更好,故而选择其应用到后续的可视化系统实现中。

以上所述仅是本发明的优选实施方式,应当指出的是,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

12页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种基于低秩张量学习的多通道心肺音异常识别系统与装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!