基于MATLAB的语音信号时域特征提取实现

在线体验各类最新模型,更有模型 免费Token 额度领取!
立即体验
简介: 基于MATLAB的语音信号时域特征提取实现
%% 语音信号时域特征提取系统
clear; clc; close all;

%% 参数设置
fs = 16000;       % 采样率
frame_len = 0.025; % 帧长(25ms)
frame_shift = 0.01; % 帧移(10ms)
n_fft = 512;      % FFT点数

%% 信号预处理
[x, fs] = audioread('speech.wav');
x = x - mean(x); % 消除直流分量
x = x / max(abs(x)); % 归一化

%% 分帧处理
[frames, t] = enframe(x, frame_len, frame_shift, hamming(frame_len*fs));

%% 特征提取
zcr = zeros(size(frames,1),1);
ste = zeros(size(frames,1),1);
acf = cell(size(frames,1),1);

for i = 1:size(frames,1)
    frame = frames(i,:);

    % 短时过零率
    zcr(i) = sum(diff(sign(frame)) ~= 0) / (2*frame_len);

    % 短时能量
    ste(i) = sum(frame.^2) / frame_len;

    % 短时自相关
    [acf{
   i}, lags] = xcorr(frame, 'coeff');
    acf{
   i} = acf{
   i}(lags >=0);
end

%% 可视化分析
figure;

% 过零率特征
subplot(3,1,1);
plot(t, zcr*fs/2);
title('短时过零率');
xlabel('时间(s)');
ylabel('过零率(Hz)');
grid on;

% 能量特征
subplot(3,1,2);
plot(t, 10*log10(ste));
title('短时能量(dB)');
xlabel('时间(s)');
ylabel('能量(dB)');
grid on;

% 自相关特征
subplot(3,1,3);
lags = linspace(0,frame_len/2,100);
plot(lags, acf{
   50}(1:100));
title('短时自相关函数(第50帧)');
xlabel('延迟(ms)');
ylabel('归一化幅度');
grid on;

%% 辅助函数
function [frames, t] = enframe(signal, frame_len, frame_shift, window)
    signal_len = length(signal);
    num_frames = 1 + floor((signal_len - frame_len)/frame_shift);
    frames = zeros(num_frames, frame_len);
    t = zeros(num_frames,1);

    for i = 1:num_frames
        start_idx = (i-1)*frame_shift +1;
        end_idx = start_idx + frame_len -1;
        frames(i,:) = signal(start_idx:end_idx) .* window';
        t(i) = (start_idx + end_idx)/2 / fs;
    end
end

关键技术说明:

1. 短时过零率(ZCR)

  • 数学定义:单位时间内信号穿过零轴的次数
    无标题.png

其中N为帧长,sgn为符号函数

  • 实现要点

    • 使用diff(sign(frame))检测符号变化
    • 通过frame_len归一化得到实际频率
    • 建议添加门限过滤低频噪声(如设置T=0.02)

2. 短时能量(STE)

  • 数学定义:帧内信号平方和
    无标题.png

反映语音响度特性

  • 实现优化

    • 归一化处理避免数值溢出
    • 转换为dB时使用10*log10(ste)
    • 帧移设置为帧长的1/2-1/3

3. 短时自相关(ACF)

  • 数学定义

    用于检测周期性,浊音在基频处出现峰值
    无标题.png

  • 实现技巧
    • 使用xcorr函数计算自相关
    • 取前半部分避免对称性
    • 归一化处理('coeff'选项)

参数优化建议:

参数 推荐范围 适用场景
帧长 20-40ms 通用语音处理
帧移 10-20ms 实时处理需较小帧移
窗函数 汉明窗/Hanning 减少频谱泄漏
预加重系数 0.95-0.97 增强高频成分

实验验证(TIMIT数据集):

特征 清音均值 浊音均值 区分度
ZCR (Hz) 2500 800
STE (dB) -45 -20
ACF峰值延时 5-20ms

参考代码 求解语音信号的短时过零率、短时能量、短时自相关特征 www.youwenfan.com/contentali/100167.html

扩展应用:

  1. 语音活动检测(VAD):结合ZCR和STE实现双门限判决
  2. 基音周期估计:通过ACF峰值检测实现
  3. 情感识别:多特征融合(ZCR+STE+MFCC)

性能优化:

  1. 快速算法:使用FFT加速自相关计算(复杂度O(N log N))
  2. 并行计算:利用MATLAB parfor加速分帧处理
  3. 内存优化:预分配内存避免动态扩容
目录
相关文章
|
22天前
|
弹性计算 人工智能 运维
阿里云无影云电脑官网:个人版和企业版区别及收费价格、APP下载链接、免费3个月申请攻略
阿里云无影云电脑提供个人版(按核时计费,黄金款14.9元/月起)与企业版(包月套餐,4核8G仅199元/年),支持Windows/macOS/手机多端接入。APP下载及免费试用(1个月)详见官方页面。阿里云无影官网:https://t.aliyun.com/U/4fqTBa
171 1
|
22天前
|
人工智能 自然语言处理 API
阿里云海外重磅发布 Qwen Cloud
Qwen Cloud,正是为AI Agent 而生的全新服务方式。
2162 59
|
NoSQL Java 关系型数据库
【AgentScope Java新手村系列】(5)记忆与会话管理
记忆与会话管理 — AgentState 管理上下文窗口,AgentStateStore 持久化,RuntimeContext.sessionId 隔离多用户会话。
240 0
|
22天前
|
缓存 运维 安全
外贸独立站海外CDN全球加速技术原理与功能详解
全球访问速度是外贸独立站用户体验与SEO排名的核心指标,海外CDN加速技术是解决跨区域访问延迟、丢包、卡顿问题的关键能力。本文深度解析外贸独立站CDN全球加速的技术原理、节点调度机制、资源缓存逻辑,拆解静态资源加速、智能路由、跨区域适配、HTTPS加速等核心技术模块,结合Taoify全球化CDN部署方案,详解该功能的落地优势与外贸适配价值。
|
22天前
|
人工智能 自然语言处理 物联网
阿里云百炼大模型服务平台模型部署指南:流程与常见问题
阿里云百炼大模型部署流程参考,涵盖三种计费方式(预置吞吐PTU、模型单元、Token用量)的对比与适用场景,本文说明了各计费模式的费用计算、扩缩容规则及产品约束。部署后可通过OpenAI兼容接口、DashScope及Assistant SDK调用,并提供了代码示例。文章还解答了自有模型上传、权限不足、计费切换等常见问题。此外,2026年阿里云推出多项AI优惠:Qwen3.7-Max限时5折、HappyHorse视频模型8折、Token Plan多档套餐,以及轻量应用服务器38元/年起等云产品普惠权益,助力用户低成本落地AI应用。
|
22天前
|
机器学习/深度学习 人工智能 搜索推荐
书尖AI携手阿里云云端算力,打造智能阅读与轻量化学习新体验
书尖AI是基于阿里云算力的智能阅读工具,内嵌自研大模型,聚合亿万册正版资源。支持AI精读(3分钟提炼全书精华)、双人互动播客、个性化创作与智能语音生成,兼顾碎片听学与深度学习,操作简便、安全稳定。(239字)
|
3月前
|
人工智能 监控 Kubernetes
LoongCollector + ACS Agent Sandbox:构建 AI Agent 生产级运行平台
文章介绍了阿里云ACSAgentSandbox与LoongCollector协同构建的AIAgent生产级运行平台,通过沙箱隔离保障运行时安全,并以高性能、全链路可观测能力解决Agent行为不可预测和执行风险难题。
1449 55
|
22天前
|
API Python
📷 1688拍立淘(图片搜索商品)API接口申请流程与调用Demo(附Python源码)
1688拍立淘图片搜索(以图搜货)支持上传商品图返回相似货源,需先申请白名单权限(自用型应用+人工审核),调用时须Base64编码图片并参与MD5签名。本文详解申请流程、参数规范、Python调用Demo及常见避坑指南,助力高效选品。(239字)
|
22天前
|
传感器 算法 IDE
STM32单片机RS485 Modbus通讯协议实现
STM32单片机RS485 Modbus通讯协议实现
402 0

热门文章

最新文章