audio compression (shorten an audio file)
Afficher commentaires plus anciens
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 commentaires
Geoff Hayes
le 4 Déc 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
le 7 Déc 2018
Walter Roberson
le 7 Déc 2018
sound() with only one input assumes 8000 Hz.
a a
le 8 Déc 2018
Walter Roberson
le 8 Déc 2018
8000 samples per second. Fs = 8000 .
a a
le 8 Déc 2018
Walter Roberson
le 8 Déc 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
le 9 Déc 2018
Walter Roberson
le 9 Déc 2018
What shows up for size(y) and for min(y) and max(y) ?
a a
le 9 Déc 2018
a a
le 9 Déc 2018
Walter Roberson
le 9 Déc 2018
http://pcauthorities.com/windows-xp/how-to-troubleshoot-sound-problems-in-windows-xp/
a a
le 10 Déc 2018
Réponses (0)
Catégories
En savoir plus sur Audio I/O and Waveform Generation dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!