2016-05-28 10 views
0

Ich möchte fragen, wie kann ich die Abtastrate für Audio-Datei in Matlab R2016a ändern? der Standard ist 44100 ich mag es bis 22050 ändern, wie in meinem Code gezeigt Ich versuche Abtastrate zu konvertieren, aber es funktioniert nicht ...Änderung Audio-Datei Abtastrate

clear; 
fs1 = 44100; 
fs2 = 22050; 
SRC = dsp.SampleRateConverter('InputSampleRate',fs1,'OutputSampleRate',fs2); 
[Sa,SRC] = audioread('W_Sound_1.wav'); % Sa : All of sampling , Fs :Sampling rate 
sa_W = Sa; 
audiowrite('W_Sound_1_resampling.wav',sa_W,SRC) 

Antwort

0

Der Grund daran zu arbeiten ist nicht der Fall, dass Sie verwenden das SampleRateConverter Objekt nirgendwo. Wenn Sie als zweites Ausgabeargument audioread() verwenden, überschreiben Sie es tatsächlich mit einer Zahl, die die aktuelle Abtastrate enthält.

Wenn Sie SampleRateConverter verwenden möchten, sehen Sie sich einige Beispiele here an.

Aber, es ist wahrscheinlich einfacher resample()

+0

.... Vielen Dank für Ihre Antwort zu verwenden, seine Arbeit mit Resampling() ,, aber nachdem ich es verwenden, wie kann ich das neue Audio hat? Was sollte ich verwenden, um das neu gesampelte Audio zu erhalten? .... das ist mein neuer Code –

+0

klar; x = Audioread ('W_Sound_1.wav'); y = resample (x, 44100,22050); –

+0

@ReemR In Ihrem neuen Code enthält 'y' das neu abgetastete Audio. Sie können es mit 'audiowrite()' in eine Datei schreiben. – user20160