当前位置:网站首页>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);

边栏推荐
- MySQL application day02
- I Brief introduction of radio energy transmission technology
- matlab 使用 resample 完成重采样
- 首场“移动云杯”空宣会,期待与开发者一起共创算网新世界!
- I'll teach you to visit Amazon RDS for a year and build a MySQL cloud database (only 10 minutes, really fragrant)
- 笔者更加愿意将产业互联网看成是一个比消费互联网要丰富得多的概念
- Error creating bean with name ‘stringRedisTemplate‘ defined in class path re
- 学习笔记25--多传感器前融合技术
- The pain of Xiao Sha
- Error creating bean with name ‘stringRedisTemplate‘ defined in class path re
猜你喜欢

matlab 使用 resample 完成重采样

Penser au jeu 15: penser au service complet et au sous - service

6-2漏洞利用-ftp不可避免的问题

matlab 使用 audioread 、 sound 读取和播放 wav 文件

969 interlaced string

matlab 使用 audiorecorder、recordblocking录制声音,play 播放声音,audiowrite 保存声音

ES6 new method of string

The technology boss is ready, and the topic of position C is up to you

Self drawing of menu items and CListBox items
![[IVX junior engineer training course 10 papers] 04 canvas and a group photo of IVX and me](/img/b8/31a498c89cf96567640677e859df4e.jpg)
[IVX junior engineer training course 10 papers] 04 canvas and a group photo of IVX and me
随机推荐
Error creating bean with name ‘stringRedisTemplate‘ defined in class path re
NeRV: Neural Reflectance and Visibility Fields for Relighting and View Synthesis
Global and Chinese market of ancillary software 2022-2028: Research Report on technology, participants, trends, market size and share
How does schedulerx help users solve the problem of distributed task scheduling?
Laravel artisan 常用命令
Introduction to ffmpeg Lib
SAP ui5 beginner tutorial 20 - explanation of expression binding usage of SAP ui5
What is commercial endowment insurance? Is commercial endowment insurance safe?
Mathematics - feelings -20220215
Memorabilia of domestic database in June 2022
Recommend an online interface mock tool usemock
技术大佬准备就绪,话题C位由你决定
Raspberry pie 4B learning notes - IO communication (1-wire)
Part 29 supplement (XXIX) basis of ECMAScript
The author is more willing to regard industrial Internet as a concept much richer than consumer Internet
Learn C language from scratch day 025 (maze)
No converter found for return value of type: class
Basic usage of shell script
Daily work and study notes
[IVX junior engineer training course 10 papers] 02 numerical binding and adaptive website production