男女声识别系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
男女声识别系统
摘要:
本文通过对男性和女性声音的语音特征的研究,发现男女声的基音频率存在较大的差异,并设计了基于基音频率分析的男女声识别系统。男女声识别系统由以下三个模块电路构成:话筒放大器,低通滤波器,半波整流电路,单片机测量控制模块。话筒放大器采用NE5532P音前置芯片,对语音信号进行放大;八阶低通滤波器MAX293完成基音信号的提取;单片机STC12C5410AD实现频率测量和控制输出功能。经仿真与电路实测,男女声的识别效果良好。
关键词:男女声识别、基音频率、低通滤波器、单片机。
一、引言
人类基音的范围约为70~350Hz左右,由于生理结
构的不同,男性与女性的声音呈现出不同的听觉特征,
男声的基音频率大都在100—200HZ之间,而女声则在
200—350HZ之间;在会话中,同一发音者的基音频率变
化的统计结果,如图一所示。女声与男声相比,前者的
平均值、标准差都为后者的两倍左右。不同发音者的基
音频率分布如图二所示,在对数频率轴上男声,女声分
别呈现正态分布,男声的基音频率的平均值和标准差分
别为125HZ及其20HZ。女声约为男声的2倍。鉴于男女
声存在基音频率的明显差异,基音频率可作为男女声识别的依据。
二、方案论证与比较
基于男女声基音频率的差异,男女声识别的实现可以通过基音频率的测量来实现。基音频率的实现有多种方法。如FFT分析、自相关分析等。
方案一:基于FFT的短时频谱分析。把语音信号数字化,即经AD采样量化之后,用FFT算法处理,得到信号的频谱,从而获得基音频率。这种方法由于算法较复杂,数据处理量大,如用单片机来实现,编程复杂,运算速度慢,难以满足实时要求。
方案二:滤波器基音提取技术。利用低通滤波器滤除多次谐波及共振峰等高频成分,得到近似的基音信号,此法可以用硬件电路构成滤波器实现基音信号的粗略提取,避免了大量算法分析和数据处理,实现起来相当简单。为了证明这种方法的有效性,我们用计算机声卡录制了近20名男女同学的单音、词组和句子的W A V文件,在MA TLAB上编写程序进行仿真。
1.男女声信号通过400HZ低通滤波后的仿真波形比较。我们将男女声信号经过八阶低通滤波器,其截止频率设定为400HZ。仿真结果如图三所示。从图形上我们可以看到:通过400HZ的低通滤波器后,男声输出为约120HZ左右周期性信号(非单频正弦波);女声输出约250HZ左右周期性信号,其波形接近正弦波。这说明经过400HZ低通滤波器后,女声声音主要由基音信号构成,而男性声音的非正弦性是由于其二次谐波及共振峰的存在的结果。
2.男女声信号通过200HZ低通滤波后的仿真波形比较。我们将男声、女声输入信号经过八阶低通数字滤波器滤波,截止频率设定为200HZ。男声、女声及其通过200HZ低通滤波后的波形如图四所示:
从上边的图形我们看出:经过200HZ 的低通滤波器,男声输出为较好的正弦波(基音信号),而女声基本上没有信号通过。
从MA TLAB 数据处理软件对采集信号分析的结果表明,用滤波器提取基音频率的方法完全可行。我们在计算机上用这种方法编写了男女声识别软件,对男女声基音特征进行提取,实现了识别的仿真。实验表明,在正常说话条件下,系统具有较高的识别率,仿真效果令人满意。
三、系统实现
1.设计思想与系统构成:
话筒产生的语音信号很微弱,大约50mV 左右,必须经过放大才能送往后级电路处理。两个高阶低通滤波器分别工作在400HZ 的截止频率和200HZ 截止频率。这主要是为了保证始终有一路信号是含谐波分量较少的近似基音信号。整形电路把正弦波转化为矩形脉冲,送往单片机STC12C5010AD 测量其周期。单片机完成多次测量后,进行统计,作出男声还是女声的判断,送输出显示。
2.主要电路的设计与说明 A 、话筒放大电路
通过用NE5532P 芯片来实现语音放大,把微弱的语音信号放大的50倍左右。
话筒 放大 200HZ
低频滤波
400HZ 低频滤波
单片机 整流
整流
LED 灯显示
如图所示,采用NE5532运算放大器作音频前置放大电路。其优点是体积小、功耗小、一致性较好。电路如下图所示:
B、低通滤波电路
采用MAX293可控截止频率8阶巴特沃夫低通滤波器,如图所示,则电路结构简单,外围元件少,截止频率可由外部时钟控制或由时钟输入端所接电容决定。截止频率控制简单,且滤波效果好。调试时,由外部时钟控制截止频率,调试完成后,可将滤波器的截止频率固定,即在时钟输入端(CLK)接一个一定大小的电容。
比较两个方案,方案二实现滤波简单方便,满足系统要求。
C、全整流电路
如图所示,U5A、U6A各组成一线性半波整流电路,而U5B、U6B各组成一加法电路。U5A和U5B,U6A和U6B构成一线性全波整流电路。
D、单片机电路
把经过整流后的两路频率信号输入STC12C5410AD进行A\D转换并采样。再各求出两组采样好的数据的能量,以便来进行比较。若求出来的两个结果较接近就为男声,那么男声的那个发光二极管就会亮起来。若两个结果相差较大就为女声,那么女声的那个发光二极管就会亮起。
电路如下:
3. 软件设计
A 程序设计流程图:
B 程序:
#include
sfr ADC_LOW2 = 0xBE;//定义STC12C5410AD特殊功能寄存器sfr ADC_CONTR = 0xC5;
sfr ADC_DATA = 0xC6;
sfr p0m0 = 0x93;
sfr p0m1 = 0x94;
sfr p1m0 = 0x91;
sfr p1m1 = 0x92;
sfr p2m0 = 0x95;
sfr p2m1 = 0x96;
sfr p3m0 = 0xb1;
sfr p3m1 = 0xb2;
sbit getv = P2^1;//定义指示灯
sbit male = P2^6;
sbit female = P2^7;
#define divgate 4//定义全局常量和全局变量
#define countgate 185
#define on 1
#define off 0
unsigned char div;
unsigned char ad200,ad400;
unsigned char test;