- https://www.mathworks.com/matlabcentral/answers/106660-how-can-i-alter-the-speed-of-a-wav-file-without-altering-its-pitch
- https://dsp.stackexchange.com/questions/45794/how-to-change-speed-of-audio-samples-without-changing-pitch
- https://dsp.stackexchange.com/questions/31850/slow-down-music-playing-while-maintaining-frequency
Only thing that I want to control is speed. not pitch.
37 views (last 30 days)
Show older comments
[Q, S] = audioread("sample.mp3");
speed = 1.2;
S = S * speed;
soundsc(Q,S);
This is what I do.
as you know, this code makes increase both pitch and speed.
but I want to make change only speed.
How can I control it?
**and How can I only control pitch?
0 Comments
Accepted Answer
Jan
on 10 Dec 2018
Start with searching in the net, especially in this forum:
The problem is complex.
3 Comments
More Answers (2)
Bilal AKBANA
on 3 Apr 2020
Edited: Bilal AKBANA
on 3 Apr 2020
THIS IS THE CLEAR ANSWER I THINK COVERING BOTH VOLUME AND SPEED OF THE SOUND WITH CONDITION THAT YOU HAVE stretchAudio FUNCTION RELEASED AS OF R2019b. THIS ALGORITM CAN CHANGE THE SPEED AND VOLUME OF THE AUDIO WITHOUT MAKING IT SOUND FUNNY.
[y, fs] = audioread("sample.mp3"); % read audio file.
speed = 1.2; % increase speed of sound 1.2 times than the given speed.
volume = 2; % increase volume of sound 2 times than the given volume.
y = stretchAudio(volume*y,speed);
sound(y,fs); % my recommendation is to use sound instead of soundsc
% clear sound; % to stop sound
% OR INSTEAD OF sound you can use
player = audioplayer(y,fs);
% play(player); % comment this out it will play.
% stop(player); % comment this out it will stop.
1 Comment
Brian Hemmat
on 10 Dec 2019
Starting in R2019b, Audio Toolbox provides functions to shift pitch and time-stretch audio: shiftPitch, stretchAudio.
2 Comments
See Also
Categories
Find more on Audio I/O and Waveform Generation 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!