音声ファイルに1/fゆらぎ(-3db/octローパス)フィルタをかけて出力したい - フィルタ除去&オーディオ出力の方法
14 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
現在:
オーディオデータを読み取り、fft後パワースペクトルの最大値および該当する周波数を格納した。
-3db/octのローパスフィルタを作成した。
ここまで進んでおり、後はオーディオデータに周波数フィルタをかけて出力したいと思っています。(出力はwavデータが必要)
fftしたデータにフィルタをかけて、逆fft後オーディオ出力したい(audiowriteを使う)のですが、当然虚数を含むためエラーとなり、上手くできません。
>filterDesign //フィルタの設計画面を開く(変数名:iir1flowpassfilter)
>>yy=filter(iir1flowpassfilter,y,G); //yは読み取った音声データにfftをかけたもの。 Gは次数??
>>audiowrite(filename2,yy,fs) //filename2='noise.wav', fs:48000(Hz)
ここでエラーとなり、
・・次を使用中: audiowrite
入力は実数にする必要があります。
かといって、fft前のデータを参照すると、
警告: ファイルの書き込みに際しデータが切り捨てられました。
> audiowrite>clipInputData 内
audiowrite 内
となります。
fft後、オーディオ出力する方法は見つかりませんでしたが、もしありましたらご教示くださいますようお願いします。なお、オーディオの取り込みにはaudioread()関数を、fftはfft()関数、逆fftはifft()関数を使用しました。
他必要な情報があれば追記したいと思います。
0 commentaires
Réponses (1)
Hernia Baby
le 3 Jan 2023
Modifié(e) : Hernia Baby
le 3 Jan 2023
誤りでしたらごめんなさい。
1/fの揺らぎということはピンクノイズの生成ですよね?
ホワイトノイズにフィルタをかけ合わせたものを元の信号に足し合わせるような形ですかね。
■ピンクノイズ生成
■虚数をどうにかしたい
0 commentaires
Voir également
Catégories
En savoir plus sur Audio Processing Algorithm Design dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!