1 简介
MATLAB是十分强大的用于数据分析和处理的工程实用软件,利用其来进行语音信号的分析,处理和可视化十分便捷.文中介绍了在 MATLAB环境中如何驱动声卡采集语音信号和语音信号采集后的文档处理方法,并介绍了 FFT 频谱分析原理及其显示,MATLAB中相关函数的功能,滤波器的设计和使用.在此基础上,对实际采集的一段含噪声语音信号进行了相关分析处理,结果表明利用 MATLAB处理语音信号十分简单,方便且易于实现.
2 部分代码
clc;
clear;
close all;
%获得数据长度
filepath = '语音素材/speaking.wav';
fileID = fopen(filepath);
A = fread(fileID);
%声道数
info.channels_num = add_helper(A,23,2);%在第24和23位,24位为高位
fprintf('声道数为%d位\n',info.channels_num);
%采样频率
info.fs = add_helper(A,25,4);%从25位开始,持续4位
fprintf('采样频率为%d位\n',info.fs);
%取样位数
info.bits_per_sample = add_helper(A,35,2);
fprintf('取样位数为%d位\n',info.bits_per_sample);
%数据长度,因为这里有一个数据类型转换两个byte才被视为一个数据值
data_length = add_helper(A,75,4);
<