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

简介: 基于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. 内存优化:预分配内存避免动态扩容
目录
相关文章
|
19天前
|
人工智能 自然语言处理 文字识别
阿里云百炼Qwen3.7-Max简介:能力、优势、支持订阅计划参考
Qwen3.7-Max是阿里云百炼面向智能体时代推出的新一代旗舰模型,对标GPT-5.5、Claude Opus 4.7等闭源旗舰。该模型支持百万级token上下文窗口,具备顶级推理能力、多模态搜索与视觉理解增强、流式输出低延迟响应等核心优势,覆盖编程、办公、长周期自主执行等复杂场景。同时支持OpenAI接口兼容,便于系统快速迁移。用户可通过Token Plan团队或节省计划等订阅方式灵活调用,适合企业级高要求场景使用。
7061 30
阿里云百炼Qwen3.7-Max简介:能力、优势、支持订阅计划参考
|
4天前
|
数据采集 人工智能 前端开发
让 Coding Agent 从黑盒到透明:阿里云 Agent 观测审计数据采集实践
AI Agent 规模化落地带来执行黑盒、行为难追溯、成本难度量三大难题。阿里云基于 OTel 标准,面向 Coding Agent、个人通用助理和框架型 Agent,推出 LoongSuite Pilot、插件及探针等无侵入采集方案,让 Agent 实现可看见、可分析、可审计、可治理。
617 138
|
4天前
|
人工智能 弹性计算 运维
阿里云发布堡垒机智能运维Agent,运维交互进入自然语言新时代
支持自然语言运维,提升效率与安全双保障。
1154 1
|
11天前
|
人工智能 安全 定位技术
CodeGraph深度解析 让Claude Code工具调用直降七成的核心原理与实操教程
如今以Claude Code为代表的AI编程智能体已经成为开发者日常编码、项目重构、漏洞修复的必备工具。但在长期使用过程中,几乎所有开发者都会遇到同一个明显痛点:AI虽然具备强大的代码生成与分析能力,却常常陷入盲目探索的循环中。
1207 1
|
14天前
|
存储 定位技术 数据库
CodeGraph 如何让 Claude Code减少 7 成工具调用?
CodeGraph 为 Coding Agent 提供本地代码知识图谱,把函数、类、调用链和框架路由提前整理成“项目地图”,减少盲目搜索和文件读取。它不是新 Agent,而是上下文基础设施,让 Agent 更快找到正确代码路径,平均减少 7 成工具调用。
1290 3
|
11天前
|
人工智能 弹性计算 安全
阿里云618活动时间、活动入口、优惠活动详细解读
2026年阿里云618创新加速季已全面开启,作为年度力度最大的云产品促销活动,本次大促覆盖轻量应用服务器、ECS云服务器、GPU云服务器、数据库、AI算力、安全服务、CDN等全品类产品,推出5亿元算力补贴、新用户限时秒杀、普惠满减、企业专享、免费试用、云大使返佣等多重福利,个人开发者、中小企业、AI团队均可享受专属低价。本文将系统梳理2026年阿里云618活动的完整时间节点、官方参与入口、各类优惠细则、使用规则、热门产品推荐及实操代码,帮助用户精准参与、高效省钱,以最低成本完成上云部署。
1021 5
|
10天前
|
人工智能 自然语言处理 安全
Vibe Coding 实战:别盲目跟风,先分清 vibe coding 适合什么场景
本文系统总结vibe coding实战经验:明确其适用场景(原型、小工具、标准化模块),剖析5步落地流程(场景判定→结构化提示词→目录初始化→分模块生成→自动化校验),指出四大常见误区,并推荐适配工具Trae。强调“场景匹配+规则前置”是提效关键,避免盲目套用。
833 1
|
2天前
|
人工智能 运维 API
2026年阿里云百炼通义千问Qwen3.7-plus深度介绍 功能特性、使用优势及618大促订阅方案指南
大模型技术的普及,让AI能力逐步融入个人办公、内容创作、代码编写、企业运营、教育培训等各类场景。不同定位的模型对应不同使用需求,旗舰级模型性能强劲但使用成本偏高,轻量化模型价格低廉却难以胜任复杂任务,而介于两者之间的中端主力模型,凭借均衡的能力、亲民的定价、广泛的场景适配性,成为绝大多数个人用户、小型团队、中小企业的首选。
379 1