Diary
twitterもはじめました
[150]2006/2/27(Mon)
[tag: 旧日記システム
]
とか言ってる内にできてしまいました。
Sinc関数で重み付けした音声フィルタ。
とりあえず、結果を
入力信号(ホワイトノイズ) (スペクトル)
↓
Sinc関数で畳み込み積分
↓
出力信号 (スペクトル)
今回は、入力に44.1kHzでサンプリングされたホワイトノイズを使用。
ホワイトノイズには、全ての周波数が同じレベルで入っています。
そこら辺は画像を見れば明らかですね。
具体的に言うと、0〜44.1 / 2 = 22.05kHzまでの周波数が入ってます。
で、今回作ったフィルタは、1/4にダウンサンプリングするためのフィルタ。
つまり、22.05 / 4 = 5.5125kHz 以上の周波数をカットします。
出力信号のスペクトル画像を見れば分かりますが、だいたいそこら辺の周波数で
信号レベルが、ガクっと落ちているのが分かります。
だいたい、-40dB減衰してます。
と言っても、元信号が-40dBで、減衰して-80dBというと、
16bitWaveファイルのダイナミックレンジが近いので、
かなり微妙なところです。(本当はもっと減衰するかもしれない…)
(16bitWaveファイルのダイナミックレンジは20 log2^16 = 96dB)
でも、これ以上信号の強いホワイトノイズは作れませんでした…
とりあえず、ここに、入力した音声データ、出力された音声データ置いておきます。
聞き比べると良いと思います。
(音がデカイので注意)
入力信号(ホワイトノイズ)
出力信号
あと、これは畳み込み積分の宿命だが、計算数が多すぎ…
1データに対して、今回のデータでは400データを参照してます…
AthlonXP 2800+では、元のWaveファイルの数十倍の時間がかかりましたよ…orz
まぁ、もっとサンプル数減らしても良い結果が取れるんだけどね…
#あと、左手首痛い…腱鞘炎か?!やべぇな…
Sinc関数で重み付けした音声フィルタ。
とりあえず、結果を
入力信号(ホワイトノイズ) (スペクトル)
↓
Sinc関数で畳み込み積分
↓
出力信号 (スペクトル)
今回は、入力に44.1kHzでサンプリングされたホワイトノイズを使用。
ホワイトノイズには、全ての周波数が同じレベルで入っています。
そこら辺は画像を見れば明らかですね。
具体的に言うと、0〜44.1 / 2 = 22.05kHzまでの周波数が入ってます。
で、今回作ったフィルタは、1/4にダウンサンプリングするためのフィルタ。
つまり、22.05 / 4 = 5.5125kHz 以上の周波数をカットします。
出力信号のスペクトル画像を見れば分かりますが、だいたいそこら辺の周波数で
信号レベルが、ガクっと落ちているのが分かります。
だいたい、-40dB減衰してます。
と言っても、元信号が-40dBで、減衰して-80dBというと、
16bitWaveファイルのダイナミックレンジが近いので、
かなり微妙なところです。(本当はもっと減衰するかもしれない…)
(16bitWaveファイルのダイナミックレンジは20 log2^16 = 96dB)
でも、これ以上信号の強いホワイトノイズは作れませんでした…
とりあえず、ここに、入力した音声データ、出力された音声データ置いておきます。
聞き比べると良いと思います。
(音がデカイので注意)
入力信号(ホワイトノイズ)
出力信号
あと、これは畳み込み積分の宿命だが、計算数が多すぎ…
1データに対して、今回のデータでは400データを参照してます…
AthlonXP 2800+では、元のWaveファイルの数十倍の時間がかかりましたよ…orz
まぁ、もっとサンプル数減らしても良い結果が取れるんだけどね…
#あと、左手首痛い…腱鞘炎か?!やべぇな…
[201] Name : HIRO Date : 06/02/27(Mon) 18:16
ククク…相も変わらずキメェ事してんなぁwwwwwww
[202] Name : AKI Date : 06/02/28(Tue) 13:08
「キモい」それは我々の業界では最高の誉め言葉です。