音の再生でクラッシュしてしまいます。
Show older comments
ホワイトノイズを再生した後、ピンクノイズを再生し、それぞれの周波数パワースペクトルを表示するプログラムを作りました。
clear;
fs=44100;
dft_size=fs/2;
w=rand(5*fs, 1);
soundsc(zscore(w), fs);
W=fft(w, dft_size);
P=zeros(dft_size, 1);
Aw=zeros(1, dft_size/2+1);
Ap=zeros(1, dft_size/2+1);
freq=zeros(1, dft_size/2+1);
for m=1:dft_size/2+1
Aw(m)=20*log10(abs(W(m)));
freq(m)=(m-1)*fs/dft_size;
end
for k=1:dft_size
P(k)=W(k)/k;
end
for m=1:dft_size/2+1
Ap(m)=20*log10(abs(P(m)));
end
plot(freq, Aw);
hold on;
p=ifft(P, 5*fs, 'symmetric');
pause(7);
soundsc(zscore(p), fs);
plot(freq, Ap);
作成の際にはUbuntu 14.04LTSを用い、その環境では最後まで動作しましたが、Windows 10にコピーして実行確認したところ、再生の時点でMATLABがクラッシュしてしまいました。 また、コマンドウィンドウ上で
fs=44100;
w=rand(5*fs, 1);
sound(w, fs);
と入力したところ、再生の前にクラッシュしてしまいました。このような問題に直面した方いらっしゃいますでしょうか?また、いらっしゃいましたら、解決法をご教示いただけますと幸いです。
Answers (1)
それは困りますね。ちなみに使っているバージョン(例:R2017a)はなんですか? あと、もしクラッシュログなど表示されていればもしかしたら何か分かるかもしれないので詳細を教えて頂けますか?
取り急ぎ同じ様な動作であれば audioplayer が代用できるかもしれません。
fs=44100;
w=rand(5*fs, 1);
player = audioplayer(w, fs);
play(player);
3 Comments
Takuji Fukumoto
on 12 Mar 2017
Windows7と10 (いずれもR2016b)で記載のコード試してみましたが手元の環境では問題なく動作していますね。
バージョンと合わせてシステム要件もご確認されてはいかがでしょうか。
Yuki Fukuda
on 12 Mar 2017
Categories
Find more on Downloads in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!