珍しく1週間空いた。年度末で仕事が超忙しかった訳ではなくw、ひたすらJACKの調整(耳が痛くなる原因の究明と、そうならない設定・方法を探す)をしていた。毎晩夜更しで寝不足だ。それで疲れ果てて、昨日は、「もう飽きたし、(内蔵サウンドカードやJACKを使うことに意味はなく、普通の女の子に戻りたいに音楽を聴きたいから)止めようかという気になっていた。

ただ、それでも諦めないのが僕のしつこいところだ。折角買ったサウンドカードが無駄になるのが癪だというセコさもある。それで、昨日、もしJACKが音を悪くする(僕の耳に痛い)なら、PulseAudio(JACKでない、Linuxの普通のサウンド・システム)で使ってみようかと思った(正確には、「もしPulseAudioで耳が痛くならないなら、JACKが原因であることが分かる」ということ)。

ただ、PulseAudioだと使えるイコライザがほとんどなくて不便なのだが、調べたら、JACKで使っているもの(LADSPAプラグイン)を使う手があることが分かった。ただ、それをちゃんとやるのは面倒なので、まずは、手軽に使えるイコライザ(pulseaudio-equalizer)を今までのグライコの設定に近くして聴いてみることにした。

意外なことに、勘で目分量で設定したのにも関わらず、数回でかなり近くできた。ただ、左右別の設定ができないようなので、右だけ下げる箇所(80Hz付近)は一旦諦めた。

聴いてみると、JACKの時と同様に、耳が塞がるようになってそのうち痛くなそうな感じがすることがあったが、(JACKの場合は1分以内に痛くなることが多いのに、)2時間近く経っても決定的に痛く(聴くのが「嫌」としか言いようがなくなる)はならなかった。それで、PulseAudioでは問題が起こらなそうなことが分かり、更に、JACKと共通に使っているサウンドカードやDACにも問題がなさそうなことが分かった。

pulseaudio-equalizerについて少し調べたら、内部では、Steve HarrisのMultiband Eq (mbeq)というLADSPAプラグインを使っており、それはJACKでも使えるので、実際にJACKに入れて同じ特性にして、耳がどうなるか試すことにした。もし問題なければ、耳痛の原因は、ほぼ、JACKで使っていたイコライザ(Calf Jack Hostの5バンドイコライザなど)ということになる。

約2時間経過したが、PulseAudioの時と全く同様に、そのうち痛くなりそうな感じなのだが、決定的に痛くはなっていない。もう少し様子を見る必要はあるが、JACKは問題ではない可能性が高い。まあ、それはそうで、そんな基本的なモジュールが原因で音がおかしくなったら、みんな文句を言うし、使われないだろう。

だったらイコライザが悪いということになるのだが、それにしたって、みんな使っているのに耳が痛くなるほどいい加減なものばかり(1個だけじゃなく、複数が駄目だった)というのは信じがたい。個人(体質)的なものなのだろうか?

一方、元のグライコ(DEQ2496)では問題なかったから、やっぱりソフトがどこかいい加減なのかも知れない。まあ、DEQ2496でもPEQで補正し過ぎると痛くなったので、イコライザの性質や特性ということなのだろうか。

とはいえ、今やっているのは「補正し過ぎ」とは言えない程度の軽い補正だから、性質や特性としたら、ほとんどのイコライザは「使えない」ものなのだろうか? もしそうだとしたら、そんないい加減ものに大切な音を任せていいのか?!という話になる・・・

(22:11) 仕事じゃないので、上記の重要(で難しい)な問題は一旦置いておいてw、mbeqとJACKは概ね問題なさそうだった。ただ、元々の補正からずれているという欠点がある。下図のように概ねいい感じなのだが、超低域や右チャネルの80Hzが駄目だ。超低域は、mbeqの仕様で最低の帯域(50Hz)がLowshelfフィルタになってしまっているためだ。これが普通のに切り替えられれば良かったのに・・・ あと、どうしてか、歪みが多いという問題もある。低域で多く、多いところでは約0.6%(-45dB)もある。

まあ、特性は大体合っているし(そもそも、ズレの大きい50Hz以下なんて、僕のスピーカーではほとんど出ない帯域だ)、歪みだって聴いて分からないから大きな問題はないのだが、欲深い僕は、もうちょっと良くしたくなった。

既に書いたように、耳に優しいイコライザはほとんどないのだが、Calf Jack Hostの30バンドイコライザ(EQ30)は、mbeqと同様に(PEQでなく)グライコなので、もしかしたら耳が痛くならないかも知れないと思って試してみた。PEQに慣れるとグライコの設定は逆に面倒だ。特にこれはバンド数が多く、しかも、左右別でコピー機能なんでないので、それらを一個ずつ設定するのはなかなかの苦痛だった。見た目は壮観で格好いいけど、僕はもう中二じゃないのでw

余談: 「中二」と書いて思い出した。僕はその頃、本当にグライコ(PEQではダメだった)が欲しくてたまらなかった。画像のような、ずらっと並ぶのが欲しかったが、ものすごく高くて、全く無理だった。それで、数バンドのを作ろうかとか思ったが、それすらも高かったし、意味がなさそうだったので止めた気がする。あと、同様にスペアナも欲しかったが、やっぱり手に入らなかった。それが、今では、PCでタダで実現できるんだから、是非当時の僕に教えてあげたい。でも、教えても、逆に悔しがるだけかw

特性を見ると、ガタガタでいかにも音が悪そうだったのだが、聴いてみると、意外に悪くなかった。そして、耳の痛みに関してはmbeqと同等だったので、これを試すことにした。また、見た目に反して歪みも問題なかった。こっちは高域で大きくなるのだが、最高でも0.006%(-85dB)程度で、100倍良くなった。

周波数特性がガタガタな理由については良くは分からないが、平滑化をしていないためだと思う。その音が問題ないのは、このグラフは周波数領域で、それを聴く訳ではなく、人間が聴く時間領域に変換すれば滑らかになるのだと思う。実際、時間領域で大変滑らかな正弦波は、周波数領域では鋭い縦線になり、見た目では鋭い音になりそうだが、そんなことはない。

なお、EQ30のフィルタはバタワース型にした。チェビシェフ型は周波数特性が更にガタガタ(櫛型になっている)なので、さすがに問題ありそうだからやめた。

EQ30の欠点は、CPU負荷が常時約20%と高いことだ。こんなに帯域(30バンド×2= 60バンド)が多ければ、処理量も増えるだろう。ただ、それでも、PC全体では90%程度がアイドル時間になっているので、大きな問題はなさそうだ。

音に関しては、約4時間聴いているが、試聴に使っているRushのアルバムではキツい点もあったものの、それでもmbeqと同等だし、普通のビートルズのアルバムでは、耳痛については全く問題ない。これで決着すればありがたいのだが・・・ ← 今ココ

もしこれがOKなら、あとで、(とても面倒なのだが、)スピーカーの音を測定して微調整したい。ビートルズの曲でベースが不自然に強い箇所があったので、グライコの調整が要るようだ。元の特性で、超低域を持ち上げている(実際には、その手前で下げたのを戻しているだけ)のが余り良くなくて、もう少し控える方がいいのかも知れない。あるいは、単に部屋の共振周波数に合っているために、どうしても下げられない音だったのかも知れない。

そして、頑張ってEQ30を設定したものの、mbeqが最適(しかも、何十個でなく、たった数個の設定でほとんどの条件を満たすうえに、見た目も美しいwのは、すごくスマートじゃないか)な気がして来たが、実測値を見て考えよう。

(つづく)

 

PS. 以下、前回から今までに試したことを列挙する(特に記載のない限り、耳痛に対して効果はなかった)。

  • 別のイコライザにしてみる。 → 以下を試したが、どれも耳痛が起こった。
    • EQ4Q Stereo, Triple band parametric with shelves
  • (単音でなく、)ピンクノイズでイコライザの周波数特性を測って、問題の有無を調べる。 → 特に問題はなかった。
  • DeEsserというフィルタで、高音が強い時だけ下げることを試した。
  • JACKの設定をデフォルトにしてみた。
  • 音楽再生アプリ(gmusicbrowser, GMB)からPulseAudioを経由せずに、直接ALSAからJACKに入れてみた。
  • サウンドカードのデバイス名の指定を変えてみた。
  • GMBの出力をGstreamer(音楽再生・処理モジュール)でなくmplayerにしてみた。 → 有意の差はなかった。
  • 構成図を描いて状況を整理し、耳痛の原因となるすべての可能性を再検討した。
    • PCのオーディオ関係の構成図 (上: JACK, 下: 従来)

  • 消去法により、以下が耳痛の原因である可能性が高そうだった。
    • JACKで使っているイコライザ: 何らかの原因により、6kHz辺りの音が異常(混変調ひずみ?)になっている。
    • サウンドカードのドライバ: (今考えると、別のドライバを使っているであろう、元のグライコでも耳が痛くなったので、無関係だろう)
  • RMAAというソフトで混変調ひずみ率を測ろうとしたが、Windowsアプリのためか、うまく動かなかった。その後、一般的な「混変調ひずみ率」は特定の周波数2個しか使わないので、今回は意味がない可能性が高いことに気付いた。
  • 超高域(>=10kHzなど)を更に下げてみたが、元のグライコ(DEQ2496)では下げていないにも関わらず問題はなかったので、無関係なことに気付いた。
  • 再度、6kHz辺りを下げてみた。 → やっぱり、効果がある感じだった。
  • JACKのバッファサイズを減らしてみた。
  • ピンクノイズで元のグライコの周波数特性を測った。 → 補正している帯域以外は概ね平坦で、特に変わった点(例: 6kHz付近の定常的な上昇)はなかった。
  • DACの入力オーバーでのひずみを検討したが、理論上、起こらないことが分かった。そもそも、通常時のレベルメーターの目視で最大レベルが-3dBを超えることがないのにも関わらず耳が痛くなるので、無関係なことが分かった。
  • ディザーを入れていないための量子化ひずみを疑い、JACKに設定してみたが、特に改善はなかった。そもそも、ディザーは量子化ビット数を減らす時に、微小音で起こるものなので、今は関係ないことが分かった。
  • クラシック音楽では耳の痛みは全く起こらないので、違いを調べたが、(予想どおり)ポップ音楽は高音成分がかなり多いことが分かったので、再度DeEsserを試したが、イコライザとの違いは感じられなかった。
  • 元のグライコに戻したら、やっぱり、耳痛は起こらなくなった。
  • DACのロールオフ特性を"Slow"にしてみた。ただ、元のグライコでは、同じDACで音を出しているにも関わらず、PC側をJACKにした場合だけ耳が痛くなったので、これも関係ないことが分かった。
  • 再度、ピンクノイズやホワイトノイズで、元のグライコとJACKのイコライザの特性を比較した。 → 大きな違いはなかった。
  • PulseAudioを使うことや、新しいサウンドカードを諦めて元のグライコに戻ることも選択肢に入れることにした。
  • PulseAudioを調べたら、意外にいろいろな機能があるので、JACKでなくても必要条件(特に、2つの出力(スピーカーとヘッドフォン)に対してイコライザの有無を独立に設定できる)が満たせるかも知れないことが分かった。
  • (JACKでなく)PulseAudioを使った時に耳痛がどうなるかを試したところ、大丈夫そうだった。

PS2. 耳痛に関する進捗は今ひとつなのだが、それ以外はかなり進歩した。JACKを使うにはqjackctlというアプリを使うのが定番なのだが、僕にはすごく使いにくいので、自分で代わりのプログラムを作って、qjackctlを使わずに済むようにした。

その結果、JACKのモジュール間の接続(仮想的な配線)をCarla(このシリーズには似たような名前の同様な機能のソフトがいくつかあるが、Carlaはイコライザなどのモジュールの追加もできるのが良い)で行うことができるようになり、とても便利になった。また、接続が変わったら自動的に保存し、あとで復帰できるようにするプログラムも作ったが、Carlaの機能を使えば不要なのかも知れない。

Carlaのパッチベイ (配線状態)

更に、今までは、スリープとスリープからの復帰時にいろいろな処理をしていたが、qjackctlを止めたおかげか、何もしなくて済む(復帰後に何もしなくても、ちゃんと音が出る)ようになった。

PS3. イコライザを確認する時に聴いたのは、Rushの"Power Windows" (1985)や"Hold Your Fire" (1987)が多かった。高域が強いようで、駄目な時はすぐに「来る」のだ。どちらも大好きなアルバムだが、何度も聴いたうえに痛い目にも遭っているのでちょっと良くない・・・ こんなオーディオマニアのような聴き方から早く脱却したいものだw

  •   0
  •   0

コメントを書く

名前    

メール 

URL