【语音模型】基于matlab语音信号数学模型【含Matlab源码 540期】
2021/6/27 20:21:01
本文主要是介绍【语音模型】基于matlab语音信号数学模型【含Matlab源码 540期】,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一、简介
基于matlab语音信号数学模型
二、源代码
clc clear all close all T1=5; %5ms T2=3; %3ms fs=8; %8kHz N1=T1*fs; N2=T2*fs; n1=1:N1-1; n2=N1:N1+N2; g=zeros(1,20*fs); t=(1:20*fs)/fs; g(1:N1-1)=0.5*(1-cos(pi*n1/N1)); g(N1:N1+N2)=cos(pi*(n2-N1)/(2*N2)); plot(t,g) ylim([-0.4,1.2]) line([0 20],[0 0]) line([5 5],[0 1],'LineStyle','--') xlabel('时间/ms') ylabel('g(n)') title('(a)时域波形') figure N=length(g); f=(0:N-1)*fs/N; fftg=fft(g); disg=20*log10(abs(fftg)); plot(f(1:N/2+1),disg(1:N/2+1)) line([0 fs/2],[0 0]) xlabel('频率/kHz') = [500 1500 2500]; sampleRate = 8000; pitch = 100; f1=f(1);f2=f(2);f3=f(3); %冲激函数 yt=zeros(1,8000); yt(1)=1; if f1 > 0 cft = f1/sampleRate; bw = 50; q = f1/bw; rho = exp(-pi * cft / q); theta = 2 * pi * cft * sqrt(1-1/(4 * q*q)); a2 = -2*rho*cos(theta); a3 = rho*rho; y=filter([1+a2+a3],[1,a2,a3],yt); end; figure N=length(y); fn=(0:N-1)*sampleRate/N; fftg=fft(y); disg=20*log10(abs(fftg)); plot(fn(1:N/2+1),disg(1:N/2+1)) % line([0 sampleRate/2],[0 0]) xlabel('频率/Hz') ylabel('幅度/dB') title('(a)第一共振峰的二阶谐振器') % 根据指定的共振峰频率和带宽(50Hz)建模语音信号中的共振峰 % 第二共振峰 if f2 > 0 cft = f2/sampleRate; bw = 50; q = f2/bw; rho = exp(-pi * cft / q); theta = 2 * pi * cft * sqrt(1-1/(4 * q*q)); a2 = -2*rho*cos(theta); a3 = rho*rho; y=filter([1+a2+a3],[1,a2,a3],y); end; figure N=length(y); fn=(0:N-1)*sampleRate/N; fftg=fft(y); disg=20*log10(abs(fftg)); plot(fn(1:N/2+1),disg(1:N/2+1)) % line([0 sampleRate/2],[0 0]) xlabel('频率/Hz')
三、运行结果
四、备注
版本:2014a
完整代码或代写加1564658423
这篇关于【语音模型】基于matlab语音信号数学模型【含Matlab源码 540期】的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 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题)