audio compression (shorten an audio file)
Show older comments
I want to compress an audio file to make it shorter to put in a game for sound effects. I use the following:
[y,Fs]=wavread('blast.wav');
t1=0;% start time
t2=2;% end time
yNew=y((Fs*t1+1):Fs*t2,1);
wavwrite(yNew,Fs,'soundShort.wav');
The compression is fine and 'soundShort.wav' can play. But command sound(wavread('soundShort.wav')) no longer has any sound, though it's runnable. I wonder what goes wrong.
13 Comments
Geoff Hayes
on 4 Dec 2018
a - are you really calling the code as
sound('soundShort.wav')
and so are passing a string to the sound method? If I try that (in my version of MATLAB) then I observe a
Error using sound (line 33)
Audio data must be real and floating point.
What happens when you call
sound(yNew, Fs);
instead? Presumably the yNew array has Fs samples...
a a
on 7 Dec 2018
Walter Roberson
on 7 Dec 2018
sound() with only one input assumes 8000 Hz.
a a
on 8 Dec 2018
Walter Roberson
on 8 Dec 2018
8000 samples per second. Fs = 8000 .
a a
on 8 Dec 2018
Walter Roberson
on 8 Dec 2018
your original code uses a statement that reads in both the signal and the sampling frequency. You need to do that . Then you need to pass the signal and the sampling frequency to sound() like Geoff posted .
a a
on 9 Dec 2018
Walter Roberson
on 9 Dec 2018
What shows up for size(y) and for min(y) and max(y) ?
a a
on 9 Dec 2018
a a
on 9 Dec 2018
Walter Roberson
on 9 Dec 2018
http://pcauthorities.com/windows-xp/how-to-troubleshoot-sound-problems-in-windows-xp/
a a
on 10 Dec 2018
Answers (0)
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!