matlab语音转换文字,语音转换 有没有做这方面的大侠,大家一起来交流一下经验...

本文探讨了在MATLAB中进行语音转换文字的预处理步骤,包括A/D转换、预加重、分帧加窗和端点检测。通过分析短时能量和过零率进行端点检测,并提出疑问:为何只对短时能量应用预加重。此外,文章还讨论了端点检测后是否需要再次进行归一化、预加重和分帧的操作。
摘要由CSDN通过智能技术生成

有很多小问题,可能因为基础不扎实,所以还请大侠们赐教。

1.语音分析之前要进行信号的预处理,包括A/D,预加重,分帧加窗,端点检测等。其中保存为.WAV格式就已经经过了采样和量化,即进行了A/D转换。预加重采用s=filter([1 -0.9375],1,x),分帧采用voicebox工具箱中的分帧函数enframe,y=enframe(s,hamming(framelen),framelnc ),端点检测是采用短时能量和短时过零率的双门限法,代码如下:

[x,fs,nbits]=wavread('aaaa.wav');

x=double(x);

x=x/max(abs(x));   %幅度归一化到[-1,1]

%参数设置

framelen=256;   %帧长

framelnc=128;   %帧移

amp1=10;        %初始短时能量高门限,这是一个经验值

amp2=2;         %初始短时能量低门限

zcr1=10;        %初始过零率高门限

zcr2=5;         %初始过零率低门限

maxsilence=6;   %3*10ms=30ms语音段中允许的最大静音长度。如果语音段中的静音帧数未超过此值,则认为语音段还没结束。

%如果超过了该值,则对语音段长度count进行判断,若count

%跳到静音状态0;若count>minlen,则认为语音段结束。

minlen=15;      %15*10ms=150ms语音段最短长度

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值