【语音响度】基于matlab语音声强与响度【含Matlab源码 541期】
2021/6/27 20:22:11
本文主要是介绍【语音响度】基于matlab语音声强与响度【含Matlab源码 541期】,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一、简介
基于matlab语音声强与响度
二、源代码
clear all; %%----------------------------------------------读取文件------------------------------------------ % 从wav文件读入语音数据,该语音采样率16k,故信号最高频率8k。 [x,fs]=wavread('C2_3_y.wav'); % 取x的一个通道 x=x(:,1); % 将x从列向量转为行向量 x=x'; % max(x) % 得到向量x的长度 Length=length(x); %%----------------------------------------------语音分帧------------------------------------------ % 每帧大小为M,当语音长度不是帧长的整数倍时: % (1)若剩余长度大于等于帧长的二分之一,则补零至帧长 % (2)若剩余长度小于帧长的二分之一,则舍弃 % 用于计算声压级值的语音帧长分别为20ms、50ms、100ms、200ms以及500ms framlen = 100; % 每帧信号的离散点数 M=fs*framlen/1000; % m为Length/M后得到的余数 m = mod(Length,M); if m >= M/2 % 补零 % 补零后的语音 x = [x,zeros(1,M-m)]; % 补零后的语音帧长 Length = length(x); else % 即m < M/2,则将剩余的语音帧舍弃 % l为Length/M后得到的商 l = floor(Length/M); % 舍弃后的语音 x = x(1,1:M*l); % 舍弃后的语音帧长 Length = length(x); end % 最终的语音分帧总帧数 N = Length/M; %%--------------------------------------------计算声压级----------------------------------------- s = zeros(1,1:M); % N帧信号的声压级值存储在spl向量里 spl = zeros(1,N); for k = 1:N % 读取第k帧信号 s = x((k-1)*M + 1:k*M); % 计算第k帧信号的声压级值 spl(1,k) = SPLCal(s,fs,framlen); end %%------------------------------------------------画图-------------------------------------------- t = 1:Length; SPL = zeros(1,Length); for r = 1:N SPL(1,(r-1)*M+1:r*M) = spl(r); end figure(1) subplot(211) plot(t/fs,x); grid on xlabel('时间(s)'); title('输入语音波形'); subplot(212) stairs(t/fs,SPL,'r'); grid on [spl,freq]=iso226(phon); %计算声压级 figure(1) semilogx(freq,spl,':','color','k') axis([20,20000,-10,130]) title('Phon=50') xlabel('频率(Hz)') ylabel('声压级别(dB)')
三、运行结果
四、备注
版本:2014a
完整代码或代写加1564658423
这篇关于【语音响度】基于matlab语音声强与响度【含Matlab源码 541期】的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-06-26结对编程到底难不难?答案在这里
- 2024-06-19《2023版Java工程师》课程升级公告
- 2024-06-15matplotlib作图不显示3D图,怎么办?
- 2024-06-1503-Loki 日志监控
- 2024-06-1504-让LLM理解知识 -Prompt
- 2024-06-05做软件测试需要懂代码吗?
- 2024-06-0514-ShardingSphere的分布式主键实现
- 2024-06-03为什么以及如何要进行架构设计权衡?
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)
- 2024-05-31全网首发!软考2024年5月《软件设计师》真题+解析+答案!(21-30题)