パスワードを忘れた? アカウント作成
442859 journal

ttの日記: その4:カットオフ

日記 by tt
あと、カットオフの測定方法自体も間違っているものが多い。

WindowsとAC97なサウンドカードで、リサンプリングがかかった音声を測定してしまうなんてのはまあ問題外だから、議論からは除外する。

が、これを除外しても、スイープ信号や、単発のサイン波をいくつか入れたり、曲を一曲丸ごと流して、ピークホールドさせてみるとかで、カットオフを測ってるつもりの奴がある。それは大抵正しいが、時として間違っている。そんなのがほぼ確実に通用するのはアナログテープとかの時代だけである。

基本的に、ただのデジタル信号処理であるエンコーディングにおいて、カットオフを固定的に決定する必要はないのである。曲にあわせて、ダイナミックに変化させることができるのだ(エンコード速度やエンコーダ作者の実力にもよるが)。

特に正弦波のような単純な波形だけはカットオフを無視してエンコードする、ということはおそらく容易に実現可能である。それだけで、バカな雑誌記者はだませる。ちなみにLAMEはそんなこけおどしのテストでいい点を取ることなど目的としていないので、やってない(おお、出たぞビッグマウス)。

ってのはさておき、となればエンコーダのカットオフが確実に現れるようにするには、「できるだけ複雑な波形"だけ"で構成される曲をエンコードして、デコード後の波形をスペアナにかけてピークホールド」ということをする必要がある。で、この複雑な波形ってのが難しい。大抵はホワイトノイズでいいのだが、AACみたいにホワイトノイズ専用の対策を取っているフォーマットだと、これもうまくいかない。

ということで、長々と書いたが、結局のところ確実にカットオフをうまくはかる方法はない気がする。まあ、優秀なアルゴリズムでカットオフをダイナミックに変えているエンコーダの場合、カットオフなんて存在しないのだから、ないものは測れないのは当然か。それに、よほどカットオフが低いのでもない限り、あんまり音質には関係ないので、測れなくてもかまわないのかもしれない。

追記:適当にのこぎり歯とか矩形波をホワイトノイズにならない程度に足し合わせて、測ればいいんじゃないかと書いてから気づいた。試してないからわかんないけど。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

UNIXはただ死んだだけでなく、本当にひどい臭いを放ち始めている -- あるソフトウェアエンジニア

読み込み中...