When I run plot it doesn't show my figure

1 view (last 30 days)
Hello ,
I have perfome amplitude normalization on my audio file.
I wrote the commade plot() to see the result but nothing appreard.
Also I would like to hear the modified audio file but I'm getting an error.
Please find bellow to code.
[samples,fs] = audioread ('LastDance.wav' );
audiowrite('LastDance.wav', samples,fs);
% pre-processing second part downsampling
S1 = resample(fs,22050,44100); % downsample from 44100 to 22050
S1peakvalue= max (abs (S1)) % this commade help us find which is the biggest value on S1
S1_norm = (1/S1peakvalue)*S1 % we normalize audio file
figure
plot(S1_norm);
sound(samples,S1_norm);
  4 Comments
Jan
Jan on 6 Dec 2018
Edited: Jan on 6 Dec 2018
What does "don't get a result" mean? Something must happen, so please explain, what it is. Do you see one dot, or a line which is zero? Use the debugger to find out, what the contents of S1 is.
It is not clear why you overwrite the file directly after reading it.
Isida Kaloshi
Isida Kaloshi on 6 Dec 2018
Hello,
Actually when a figure open but containing values on x' axis from 0 to 2 and the same for y however nothing else.
plot.png

Sign in to comment.

Answers (1)

Jan
Jan on 6 Dec 2018
Edited: Jan on 6 Dec 2018
You resample the frequency, which is a scalar value, instead of the signal itself:
S1 = resample(fs, 22050, 44100);
You mean:
S1 = resample(samples, 22050, 44100);
  1 Comment
Isida Kaloshi
Isida Kaloshi on 6 Dec 2018
Hello,
Actually I want to downsample my signal from 44100 to 22050 and then to perform some amplitude normalization.
S1 = resample(fs,22050,44100); % downsample from 44100 to 22050
% S1peakvalue= max (abs (S1))
% S1_norm = (1/S1peakvalue)*S1
Am I doing it worng?

Sign in to comment.

Categories

Find more on Measurements and Spatial Audio in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!