当前位置:网站首页>MATLAB realizes voice signal resampling and normalization, and plays the comparison effect
MATLAB realizes voice signal resampling and normalization, and plays the comparison effect
2022-07-02 01:29:00 【Hu Gang 2016】
On the basis of the previous sections , Carry out the experiment in this section .
Recommended reading :
matlab Use audiorecorder、recordblocking Recording sound ,play The play ,audiowrite Save sound
matlab Use audioread 、 sound Read and play wav file
matlab Use resample Complete resampling
Be careful :
Used this time wav The length of the file is 5 second , So a few lines of my code are written pause(6); The purpose is to make the sound still have 1 Seconds of spare time , Let's play the next sound .
I'm using matlab2018a, So in this version wavread The function has been abandoned , I can only use audioread function .
If you don't wav Voice files , You can refer to the first blog recommended to read and make one by yourself , Very convenient .
% Speech signal sampling frequency conversion experiment
clc
clear all
%[x,fs1]=wavread('C2_2_y.wav');% wavread The function has been abandoned
[x,fs1]=audioread('C2_2_y.wav');%matlab2018a, have access to audioread This function
s1=1:length(x);
t1=s1/fs1;
xmax=max(abs(x));% Get all sample The absolute value of the maximum value of
x=x/xmax;% take wav Every one of the files sample Value divided by the largest sample value , Make all of x All in [-1,1] Within the interval , Complete normalization
figure(1)
subplot(311)
plot(t1,x);
xlabel(' Time /s');
ylabel(' Normalized amplitude ');
title('(a) The original signal ');
sound(x,fs1);
pause(6);% Because the voice time played is 5 second , So the interval here 6 second , So that it can be played next time , Otherwise, the three sounds will overlap
%2 Double resampling
p=2;q=1;
x1=resample(x,p,q);% Resampling signal , Make the number of elements of the signal double
x1max=max(abs(x1));
x1=x1/x1max;% normalization
fa=fs1*p/q;% The frequency of the signal after resampling , That is to say The frequency of the original signal * Multiple of resampling
ta=(1:length(x1))/fa;% Time coordinates of each signal after resampling
subplot(312);
plot(ta,x1);
sound(x1,fa);
pause(6);% Because the voice time played is 5 second , So the interval here 6 second , So that it can be played next time , Otherwise, the three sounds will overlap
xlabel(' Time /s');
ylabel(' Normalized amplitude ');
title('(b)2 Times the sampling rate ');
%0.5 Double resampling
p=1;q=2;
x2=resample(x,p,q);
x2max=max(abs(x2));
x2=x2/x2max;
fb=fs1*p/q;
tb=(1:length(x2))/fb;
subplot(313);
plot(tb,x2);
xlabel(' Time /s');
ylabel(' Normalized amplitude ');
title('(c)1/2 Sampling rate ');
sound(x2,fb);
边栏推荐
- Cat Party (Easy Edition)
- SAP ui5 beginner tutorial 20 - explanation of expression binding usage of SAP ui5
- II Basic structure of radio energy transmission system
- Learning note 3 -- Key Technologies of high-precision map (Part 1)
- Study note 2 -- definition and value of high-precision map
- Using tabbar in wechat applet
- 笔者更加愿意将产业互联网看成是一个比消费互联网要丰富得多的概念
- 学习笔记2--高精度地图定义及价值
- The first "mobile cloud Cup" empty publicity meeting, looking forward to working with developers to create a new world of computing!
- Look at the industrial Internet from a new perspective and seek the correct ways and methods of industrial Internet
猜你喜欢
Raspberry pie 4B learning notes - IO communication (1-wire)
matlab 使用 resample 完成重采样
Edge extraction edges based on Halcon learning_ image. Hdev routine
学习笔记25--多传感器前融合技术
Penser au jeu 15: penser au service complet et au sous - service
遊戲思考15:全區全服和分區分服的思考
机器学习基本概念
Sql--- related transactions
关于ASP.NET CORE使用DateTime日期类型参数的一个小细节
学习笔记2--高精度地图定义及价值
随机推荐
只是以消费互联网的方式和方法来落地和实践产业互联网,并不能够带来长久的发展
We should make clear the branch prediction
Learning note 24 - multi sensor post fusion technology
Brief description of grafana of # yyds dry goods inventory # Prometheus
[Maya] the error of importing Maya into Metahuman
Basic usage of shell script
Docker安装Oracle_11g
学习笔记3--高精度地图关键技术(上)
[dynamic planning] interval dp:p3205 Chorus
SAP ui5 beginner tutorial XXI - trial version of custom formatter of SAP ui5
遊戲思考15:全區全服和分區分服的思考
[IVX junior engineer training course 10 papers] 02 numerical binding and adaptive website production
Liteos learning - first knowledge of development environment
Leetcode, 3 repeatless longest subsequence
Learn about servlets
matlab 使用 resample 完成重采样
迁移云计算工作负载的四个基本策略
Since I understand the idea of dynamic planning, I have opened the door to a new world
Data visualization in medical and healthcare applications
学习笔记2--高精度地图定义及价值