Archive for the ‘Linux’ Category

以前にも書いたことがある気がするが、近頃、以前にも増して音の違いが分かるようになった気がする。その原因は、音の出力系をグライコ(DEQ2496)からJACKとPC内蔵DACに切り替えたからとは思えないが、気付いた時期とは一致している。

例えば、以下のようなことがある。

  • ビートルズの2009年ステレオリマスターと"Millennium remasters"(海賊盤。"Dr. Ebbetts"と呼ばれているものの更なるコピー)の音の違いが一瞬で分かる(「音が悪いなあ」と思ってプレーヤーを見ると、後者。ちなみに、リマスターを買った当時は、後者の方がいい音だと思っていた。なお、1988年に出たCDは分からない)。
  • 小泉今日子 「ヤマトナデシコ七変化」の「クシャーン」という、何かが潰れるような音がリアル(正確には、実際にはリアルでないことも分かるのだが、リアルっぽく聞こえる: 「カニかま」がちゃんとそれと分かり、銘柄が判別できるような感じw)。
  • 同 "The Stardust Memory"のサ行の音の悪さ(「潰れ気味」と書けばいいのか。DeEsserの設定不良?)。

まあ、機材や再生環境に関しては、DEQ2496を導入した時から必要充分な状態になったと思っているので、短期的には体調の変化(音に敏感になっている?)、長期的には経験値が上がったということなのかと思う。あ、環境については、JACKに切り替えた時に部屋の特性に対する補正を再調整したのが効いている可能性はあるか。

いずれにしても、昔は劣悪(と言っても、当時はそれなりにいいものを揃えていたつもりだった)な機材や再生環境で、原音(レコードやCDに記録された音)に忠実な再生なんて夢のまた夢だったし、経験が少ないために脳がついて来られなかったのだろうか、聴いても音や歌詞が判別できないことが多かった。

だが今は、(とりあえず)忠実な再生が出来る機材や環境が手に入って、手軽にいい音で再生でき、脳も(老化するばかりでなくw)継続的にバージョンアップできているようなので、うれしい限りだw

 

PS. 驚くべきことに、今、ビートルズの2009年モノラルリマスター("Please Please Me")を聴いてみたら、全然音が悪くない。買った当時は、音(振幅)が変に圧縮されて聞こえて嫌だったのだ。これは、機材・環境の改善の効果かも知れない。だとしたら、随分長い時間を無駄にしていたことになる。もう少し確認してみたい。

確かに音は悪くないのだが、やっぱりステレオ盤の方が好みだ。ステレオ盤の方が抜け感(今はやりの用法ではないw)があって、心地良い気がする。

PS2. 上で1988年のビートルズのCDの音は分からないと書いて気付いたのだが、Dr. Ebbettsはレコードから音をダビングしているから音が悪くなっている一方、本物のCDはオリジナルのマスターテープからデータを作っているから音の劣化がないということではないだろうか。

ということは、今、(どういう訳か)みんながありがたがっているアナログ盤(レコード)もそんなものではないだろうか? まあ、今のレコードは制作者がそれ用にマスタリングしているのだろうから(全くご苦労なことだ)、それなりの意味はあるのだろうけど。

まあ、好みの問題だ。ストレートな音を好むか、アナログ媒体のフィルタを通した音を好むかの違いだろう。後者が好きなのなら、聴けばいい。僕はレコードやテープといったアナログ媒体自体には全く価値を感じないし、音がいいなどとも思わないし、好きでもない。

「コーヒーを純水(H2O)で淹れるか湧き水で淹れるかの違い」と書くと、なんか違う気もするしw、「MT車とAT車の違い」、あるいは、「電気自動車とエンジン車の違い」と書いてもやっぱり違う感じだ。

さらに話が逸れるが、将来、モーターの車が普通になったら、「エンジン車のまろやかな加速がいいんだよなあ」とか言って乗る人が出て来そうだw

  • Dr Ebbetts

    Dr Ebbetts

    Please do not use Dr Ebbetts as a label unless it …

  •   0
  •   0

暇があると、特にやりたくはないのだが、つい、JACKのイコライザ(の種類)による耳痛の原因を調べ出してしまう。今日は、以下のことをした。

  1. DEQ2496("DEQ")とJACKのイコライザのDIN dual tone特性の比較
  2. 耳の痛くなるイコライザの一部を無効にした場合の確認
  3. JACKのイコライザの作り(実現方式)の調査
  4. JACKのイコライザ同士やDEQとの波形の差の測定

1では、DEQとFIL-pluginsの4バンドPEQ("PEQ4")とCalf Jack Hostの8バンドPEQ("Calf")で有意な差はなかった。だから、混変調歪みが原因ではなさそうだ。

2では、Calfの低域(120, 200Hz)の広く深い減衰設定を無効にし、代わりにPEQ4のその部分を使ったら、耳痛が出なかった。そのため、Calfでの広く深い減衰設定が問題らしいことが分かった。

3でPEQ4とCalfのプログラム(ソースコード)を確認したら、重要なことが分かった。耳の痛まないもの(PEQ4)と痛むもの(今回はCalfを調べた)では、フィルタの実現方式が異なっていたのだ。

  • PEQ4: 格子(lattice)型IIRフィルタ ("2nd order resonant filter implemented with Mitra-Regalia style lattice filter" → 典拠)
  • Calf: 双2次(biquad) IIRフィルタ(直接I型) ('"traditional" Direct I form' → 典拠)

IIRフィルタの実現方式の特徴を調べたところ、方式によって演算誤差の影響が異なり、直接型は誤差の影響を受けやすく、余り使われていないとのことだった。

余談: 大学で勉強したので、上のような話は調べるまでもなくスラっと出て来ないといけないのだが、当時(今もw)、フーリエ変換やFFTまでは問題なかったが、「z変換? はぁ?」となり、難しい式を見ただけでお腹いっぱいになって「パス」していたw だから、今回も、「ソースを読んだ」と言っても、コメントから判別した程度だ。

これと2の結果より、直接型を使っているイコライザ(Calfなどほとんどのもの)は、広く深い減衰設定を行うと誤差の影響(誤差が蓄積するのだろうか)で音質の劣化(歪み)が生じて耳が痛むのではないかと推測する。ただ、試験信号のような単音(純音)では歪みは生じず、音楽(特定のポップ音楽)で生じるのが不思議だ。 ← 試験信号でも劣化は生じているのだろうが、(下のグラフで分かるように)振幅が小さいので、周波数特性のグラフを見たり比較しただけでは識別できないのだと思う。

それで、4でPEQ4とCalfの波形の差やDEQとPEQ4およびCalfの波形の差がどうなっているか見てみた。結果は以下である。

  • PEQ4とCalfの波形に違いはあるが、PEQ4とCalfのどちらが「正しい」のかは分からないし、それらの差の振幅はかなり小さく(最大で-50dB程度(=最大音量の約0.31%))、それが聴こえて音質に影響を及ぼすのか疑問だ。ただ、曲全体を測定した訳ではないので、測定していない箇所で差(波形の違い)がもっと大きくなっている可能性はある。 → Rush "Big money"の曲全体で確認したところ、特に大きくなっている箇所はなかった。
  • 差信号の帯域は200Hz-2kHz程度(概ね、イコライザで補正している範囲)で、これが歪みになって耳を痛くしているのだろうか? ただ、耳痛の原因になると言われている帯域(例: 4kHz以上)より低いので、本当に耳痛の原因なのかは疑問だ。ただ、上と同様に、測定していない箇所で高域に歪み成分が出ている可能性はある。 → Rush "Big money"の曲全体で確認したところ、超低域(60Hz付近)の差が大きくなっていた(この付近は曲自体の振幅も大きかった)。
  • DEQとPEQ4またはCalfの波形にも違いはあるが、DEQとの差分の求め方に問題がある可能性がある(DEQと内蔵DACの出力はアナログであるうえに、振幅差や時間差があるので、差を正確に求めるのが難しい)ので、有意な差かどうかは疑問だ。

曲全体で確認した結果から、どうやら、(PEQ4の出力が「正しい」と仮定すれば、)Calfの演算誤差(あるいは音質劣化)の影響は超低音に出ているようなので、CalfにHPFを追加して超低域をカットして聴いてみたところ、わずかに耳閉感はあったものの、概ね問題なかった。

超低域の差の原因としてもう一つ考えられるのは、フィルタの遅延時間(位相)の差だ。どちらかのイコライザが低域になるほど遅延時間が長くなるか短くなるのであれば、その帯域で差を求めたら片方が筒抜けになるだろうから、グラフのような山ができるのは自然だ。これは誤差の影響でも音質劣化でもないので、耳痛の原因ではなくなる。そうであれば、最初に書いた帯域(200Hz-2kHz)が効いているのであろう。ただ、上記のように、この帯域をカットしたら耳痛が改善したので、やはり、誤差の影響はあるのではないかと思う。

イコライザの演算誤差による音質劣化が直接耳痛を起こすのか、スピーカーで混変調を起こして高域の歪みになって耳痛になるのかは分からない。なお、曲によって耳痛が起こったり起こらなかったりするのは、曲ごとに誤差が問題となる帯域の成分の量が違うからではないか。いずれにしても、Calfのような作りのイコライザは僕には使えないことが分かった。

(4/3 5:18, 7:49追記) 上記のPEQ4とCalfの差分は、演算誤差でなく、それらの設定パラメタ(フィルタの幅・鋭さ)の違いによるものが大きそうだ。というのは、PEQ4は、それをQ値でなく独自の値で設定するので、目分量で決めた。それをCalfに移植する時には、グラフの形が合うように目分量でQ値を決めたので、パラメタは厳密には同一にならず、曲線の形は一致しないから、比較的大きな差分が出ているのだ。あとで、PEQ4のフィルタの幅・鋭さとQ値の関係を調べ、より正確なQ値をCalfに設定して差分を測定してみたい。

(4/5 6:48, 7:35追記) PEQ4のバンド幅の設定値(→ BW)とQ値の関係を推定したところ、以下の式が良さそうだった。

Q= 0.45/BW

そのQ値(元の値から最大2%程度変わった)をCalfに設定したところ、特性のグラフは良く一致した。PEQ4との差分も20dB程度小さくなったが、スペクトラムの形状は余り変わらず、超低域(20-75Hz)の成分が大きい。なお、グラフで見る限り、位相特性の差はなかった。

やはり、特に超低域でイコライザ(フィルタ)の誤差が出るようだ。両方に誤差があって、どちらかが大きいはずだが、数値計算でフィルタを実現する以上、「真のフィルタ」の出力を得ることはできないから、どちらがより正しいのかを測定することはできない(それぞれの式から、誤差の理論値を求めることは可能だろう)。ただ、聴感(耳痛のなさ)ではPEQ4はDEQに近いので、PEQ4の方が誤差(別の言い方をすれば、音質の劣化度合い)が少ないと考えられる。

ただ、差分の最大振幅は約-60dBで、0.1%に相当するのだが、それが耳痛を起こす程音質を劣化させるのだろうか? スピーカーでの混変調歪みや、耳や脳内での妨害が大きいのだろうか?

いずれにしても、(特定の使い方をした時に)「音質の悪い」イコライザ(フィルタ)はあると言え、後述の結論に変更はない。

そして、すべてのものを確認した訳ではないが、多くのJACK(正確にはLADSPAやLV2)のイコライザは、安直な実装を行っている可能性がある。Calfなんて、"Studio"なんて単語が名前に入っているうえに見た目もかっこいいけれど、中身はお粗末(双2次IIRフィルタの直接I型)でがっかりした。演算誤差の影響がどの程度かは分からないが、リソース(処理速度、メモリ量)の豊富なPCで実行するのだから、多少演算量が多くなっても、誤差に強い(=ロバスト性が高い、音質劣化が少ない)方式を選ぶべきだ。おそらく、実装する時に最初に目した(あるいはどこかからのコピペ?)、処理が簡単な方式(直接型)を禄に検討・評価せずに使ったのではないか。

一方、DEQはプロ(スタジオ)用機器だからか、(PEQ4と同様に)演算誤差の影響を受けにくい方式を使っていて、それで耳痛が出ないのではないか。そして、PEQ4を見つけたのは全くの僥倖なのだが(これがなかったらJACKは使えなかったから、DEQから脱却できなかった・・・)、ページを見ると、ちゃんとした方のようなので、定石通りに作ったのだろう。

ただ、多くの人がCalfなどのイコライザを使って問題になっていないということは、演算誤差の影響は実際にはなく、あっても耳痛には関係ないか、僕の使い方(設定)が常識外れで音質が劣化しているのか、僕が特に敏感なのかも知れない。あるいは、現実にはJACKのイコライザ(、あるいはJACK自体)を使っている人がほとんど居ないから発覚していないだけなのかも知れない。それはそれで、他にも問題がありそうだから、結構良くない話だ・・・

という訳で、ひとまずの結論は以下になる(したい)。

耳の痛みはイコライザ(PEQ)のフィルタの作り(実現方式)に起因する可能性が高い。

  • 具体的には、定説通り、双2次IIRフィルタの直接型は良くなさそうだ。
  • イコライザの使い方にも依存し、低域に広く深い減衰(例: 120Hz, -9dB, 1.5oct)を設定するのは良くなさそうだ。

 

PS. DACなどで、フィルタを切り換えて音が変わる・変えられるというのは、こういうことがあるのだろう。ただ、前にも書いたが、それは売りにするものではなく、(すべての場合に最適なものがないから)仕方なしにやるとか、おまけでしかないと思う。元々いいものを使っていれば、切り替える必要なんてない。車のタイヤで言えば、オールシーズンタイヤで充分なら交換は不要で、無理ならノーマルとスタッドレスで切り替えざるを得ないのと同様だ。

それから、ハイレゾ化(アップサンプル)すると音が変わると言われるのも同様だ。その時に使うフィルタの作りがイマイチなために、音が(劣化とまでは言わないが)変質することもあるのではないか。ニセレゾなんて、元々ない音を追加して本当に変質させているしねw

PS2. JACKの自由に配線できる機能のおかげで、耳痛の原因を調べるためのいろいろな実験(確認)が手軽にできた。が、それは実は本末転倒で、耳さえ痛くならなければ、実験など不要だったのだ。でも、やっぱり、いろいろ遊べるのは好きだw

  •   0
  •   0

スマフォでGPMを聴くが、音量は「最大」にしたら何とか足りたものの、(グライコで調整しても)音が悪くて不満。そこで、ふと思い付いて、仕事用に持参したノートPCでテザリングして聴こうとするが、インストールしていたVivaldiやFirefoxではFlashプラグインがどうのこうので、結局、Chromeをインストールした。いろいろ手こずったが、今はいい音でK.488が聴けているので、満足。やっぱり、こうじゃなきゃダメだ。

それにしても疲れたw

PS. もちろんポリーニで、寝る前の締めだ。

(3/29 20:22追記) 昨夜、PCをスリープにしておいて今朝復帰させたら、電池残が半分以下に減っていた。それで小一時間聴いたら、もう電池がなくなって停まってしまった(こうなるとは思ってなかったので、ACアダプタは部屋に持って来なかった)。まったく、重くて大きいだけのダメPCだ(某林檎社製)。仕方ないので、続きはスマフォで聴いた。スマフォにしても、テザリングすると電池消費率が大きかった(約10%/h)。

まあ、それは仕方ないのだが、思い付いたことがある。大抵のホテルには外部入力端子付きのTVがあるから、ケーブル(ミニ-ピンまたはミニ)を持って行けば、TVに繋いで音楽が聴けそうだ。これなら音質は問題ないし、テザリングは不要なので電池に優しいし、クソ重いPCを持って行かなくても大丈夫だ。次回は是非試そう。

 

(3/31 7:11 少し加筆)

PS2. 実は、少し前までは、音量不足と音質を改善するため、ポータブルスピーカーを買おうと思っていた。が、スマフォにケースを付けたら音量が大きくなったように感じられ、音質も少し良くなったように感じられたし、イコライザアプリを見つけたし、スピーカーは結構大きくて重いので、持ち歩きたくなかったので、「次回」(=今回)試してから決めようと保留した。

そうしたら、軽くてかさばらず、0円で済むケーブルのアイデアが出たのは、大変ありがたい。野宿などしないので、大抵は問題ないw あ、実家はケーブルを伸ばさないと駄目だし、寝る部屋にはTVがないな・・・ (3/31 7:19)

  •   0
  •   0

JACKが落ち着いてちょっと余裕が出来たので、例のイコライザ(の種類)による耳の痛みの問題をまた少し調べた。

まず、今までに、FIL-pluginsの4バンドPEQ ("PEQ4")なら問題ないことが分かっていて(、今もそれを使っているのだが)、その設定を他のイコライザに適用(移植)したらどうなるか試してみた。結果は、残念ながら駄目だった。以下の4種類を試したのだが、どれも、耳の痛みに通じる耳閉感があった。

次に、問題の原因を探るため、以前から疑っていた、混変調歪み(IMD)(につながる特性)を測定しようとしてみた。以前はうまく行かなかったのだが、Room EQ Wizard (REW)の信号発生器のdual tone機能で2つの周波数の音を同時にイコライザに入れ、その出力をREWのリアルタイムアナライザ(RTA)で測定した。

REWはいろいろな種類のdual toneが出せるのだが、とりあえず、一般的そうなDIN(250Hz:8Khz= 4:1)とSMPTE(60Hz:7kHz= 4:1)で試した。直感的には、DINの方が音楽再生に近い気がする。

すると、興味深い結果が出た。以下の各グラフで、黒はイコライザなし(原音)、赤はPEQ4、青はCalf、ベージュはDSP、上の群は左チャネル、下の群は右チャネルである。また、低音の山の辺りは差が出ないため、上部をカットしている。なお、TAPはかなり特性が悪かったので(高音の山が出なかった)表示しておらず、TBPWS+SBPの測定は省略した。

僕の考えでは、イコライザなしに近いもの、あるいは、山が鋭いものや2つの周波数の間が低いものが特性がいい(=耳痛が少ない)はずなのだが、実際には、特性の悪そうなPEQ4(赤)が(耳に)良く、特性の良く見えるCalf(青)やDSP(ベージュ)は駄目だ。

何種類かの測定方法で試したのだが、どうも不思議なことが多かった。窓関数(連続した信号の切り出し方)や表示方法を変えるだけで、特性(グラフの形)がかなり変わってしまった。そもそも、イコライザなしの特性が予想外に悪いのが腑に落ちない。それは、僕がこういう測定の基本を知らないためだと思う。

だから、上のグラフ自体はイコライザの特性の良し悪しを直接表している訳ではなく、各イコライザには混変調歪み(あるいは、耳痛の原因となる音質劣化)の出方の違いがあり、グラフはその違いがあることだけを示していると解釈した。そして、(グラフからは信じがたいが)PEQ4は一番劣化が起こりにくい(少なくとも、僕には一番音質がいい)作りなのだろう。

その後調べたら、パラメトリックイコライザ(PEQ)はIIR(無限インパルス応答)フィルタで作るらしいが、IIR型は演算誤差が蓄積するという情報があった。その誤差が蓄積して音質が劣化し、耳の痛みが生じているのではないかと考えている。ただ、JACKのモジュールの内部処理は浮動小数点演算のはずなのに、それでも誤差が溜まるのか、ちょっと分からない(確かに、普通の数値計算でも、いい加減な処理をしたら誤差が増大してまともな結果が出ないから、それと同様なのだろう)。処理方式で誤差蓄積量が違うという記述もあったので、最終的にはイコライザのプログラムを読むしかないが、かなりハードルが高い。それに、読んで、「確かに駄目だ」と分かったところで、僕には改良することはできないから、読んでも無駄だとも言える。

あと、PEQは「Qが鋭いと演算精度が下がる」という記述もあった。「Qが鋭い」というのは、Qの値が大きいことなのか小さいことなのか、山が鋭いことなのか分からないが(某有名オーディオ機器メーカーの広告なので、表現がいい加減なのだろうw)、いずれにしても、設定によっては音質が劣化するのだろう。そして、僕の設定(多分、低域の幅広く深い減衰)が良くないような気がして来た・・・

その、PEQの設定(使い方)の問題は、PEQやIIRフィルタの作りや式に詳しい人なら当たり前のことなのだろうが、僕は全然ピンと来ない。ただ、ロバスト性が高いイコライザがあることは確かで、PEQ4はそうだろうし、製品ならDEQ2496がそうだ。プロ用機器は、そういうところがちゃんと考えられているのかも知れない。

という訳で、現段階では以下のようなことが分かっている。

イコライザの種類(作り)と使い方によって音質は変わり(音質が劣化し)、耳が痛くなることもある。ただし、その音質劣化は普通の周波数特性では判定できず、複数の周波数の音を同時に入れるような測定(例: DIN dual tone)をしないと分からない。

これは、「物理特性では本当の音質は分からない」という説を裏付けそうだ。

なお、混変調歪みは「本当の音質」に関係している可能性があるが、今は表示している機器が少ないし、2つの周波数だけでは不十分で、無限の組み合わせでの測定が必要そうだ。

だから、オーディオ機器メーカーは、良く、「『マイスター』が何百時間も聴いてチューニングした」とか言っているのだろうか。僕の考えでは、その音の良し悪しの本質は主観的なものでなく、上記のような複数周波数からなる信号(=音楽信号)に対する特性に帰着するのだろうが、それに気付いている人が少ないのか、気付いていても、(うまく表現できる値がないので、)あえて主観的なものと表現しているのか(その方がありがたそうだから?)、分からない(僕にはどちらでも構わないが、音質は(主観的なものだから)数値とは無関係だと言われたり、それを発展させて、物理法則とは無関係な、非論理的な「トンデモ理論」を出されると、どうしても信用できない)。

もし、音の良し悪しの本質が主観的なものでしかなかったら、オーディオ機器なんて作った人の耳(あるいは運?)に依存し、その「耳」は買う人みんな違うはずだから、一般的に「音のいい製品」なんてあり得ないことになる。それだったら、本当に「何だっていい」ことにならないか? そして、誰かが「いい」と言ったものを、みんな盲信して買うのか(昔からそんな気がするがw)。

それにしても、オーディオ機器の音質を測る・示す・改良するのは、なかなか奥が深いものだ。

  • bmc0/dsp

    bmc0/dsp

    dsp - An audio processing program with an interact…

  •   0
  •   0

JACK(Linuxのサウンドシステムの一つ)への移行が軌道に乗ってから約2週間経ったが、大きな問題はなく、満足している。また、耳が痛くなる問題は再発していないので、解決したようだ(結局、PEQの使い方が悪かったようだ → PSも参照)。以下に、利点と欠点とその他を書く。

利点

  • 使用しているサウンドカード(ASUS Essence STX II)とアンプ(SAYA SP192AB)の機能・仕様により、システムの電源を切る前にアンプの電源を切ったり音量を絞ったりしなくても雑音が出なくなった(グライコ(Behringer DEQ2496)は電源on/off時に雑音を出す)。
    • ただし、ボリュームを全く動かさないと(摺動面の状態が悪くなって)雑音が出やすくなると聞いたことがあるので、寝る前は絞り、朝は何回か動かすようにしている(が、それでもこのアンプは雑音が出ることがある)。
  • 他のシステム(PulseAudioやALSA)と違い、(仮想的な)音の配線を(設定ファイルなどでなく)マウスでできるので、とても便利。
  • 音の処理や配線を自由に変更できるので、思い付いたことを簡単に試せるようになった(PluseAudioやALSAでやろうとすると、設定ファイルに書く必要があるので、かなり面倒)。が、ここは研究室ではなく、音楽を聴くのが目的なので、そんなに頻繁に音の実験をする訳ではない。
  • プログラム(スクリプト)との親和性が高いので、ちょっとした処理は自分で作れる。
  • イコライザの調整が楽になった(グライコの小さいディスプレイを見ながらつまみを回すのでなく、キーボードで数値を入力でき、設定をファイルに保存できる)。ただし、最終的には実特性を測定して調整する必要があり、そのためにはマイクを立てる必要があり、それはやっぱり面倒なので、ものすごく楽になった訳ではない。
  • 外部のグライコ(DEQ2496)が不要になったので、システムをコンパクトにできた(そのうちDEQ2496は片付けたい)。また、DEQ2496が壊れた時のことを心配する必要がなくなった。ただし、サウンドカードやPCが壊れた時の心配は要る。
  • PCから外部に(光や同軸やUSBで)音の信号を出さなくてもいいので、その分、(ジッターが減るなどして)音質の劣化が減るはずだ。が、実際にはそういう経路の寄与は微々たるものだろうから、分からないと思う。
    • 逆に、サウンドカードはPCの雑音や電源変動の影響を受けやすいが、聴いた感じでは全く分からない。

欠点

  • JACKの扱えるサンプリングレートは固定で、単一の値である(それ以外は変換される)。僕はCD系(44.1kHz)がほとんどなので問題ないが、DVDなど(48kHz)の音も良く聴く人やいろいろなハイレゾ(JACKが対応しているかは不明)を聴く人には余り良くないだろう。
  • 音の処理(信号処理)をソフトで行うので、その分、CPU負荷が高くなる。ただし、普通に再生している場合は、OSのload average(平均待ちプロセス数)は0.5以下、JACK関連プロセスのCPU使用率は4%程度なので、全く実害はない。
  • 間違ってウィンドウを閉じるなどして、JACKの各プログラムを終了させると、音の経路が切れて音が出なくなってしまうので、注意が要る。同様に、イコライザの設定を間違って変えてしまうと音がおかしくなる。また、JACK関連のプログラムが多くなると、アイコンが増えて表示領域がいっぱいになってしまう。
    • → 滅多に設定を変えないプログラムは、アイコンを非表示にするといいのかも知れない。
  • ごくたまに、重い処理(例: 外部HDDの取り外し)をすると音が飛ぶことがある。ただし、原因となった操作をするといつも起こる訳ではないので、JACKには関係ない可能性が高い。
    • → 音飛びを防ぐため、JACKとgmusicbrowser(以下、GMB。実際にはGstreamer)のバッファサイズを大き目にした。
  • JACK関連の詳しい情報が余りなくて(あっても誤りだったり古かったりして)、自分なりに理解して使えるようにするのに結構苦労した。更に、「これだけでいい」というソフトがなく、取捨選択や自分で作る必要があった。また、JACK自体が古く、更新がされていないようなので、将来性に不安がある。
    • が、JACKは信号処理の枠組み程度のものなので、もっといいものができれば、それで既存の(LADSPAやLV2の)イコライザは使えるだろうから、大丈夫ではないか。
  • 当たり前ではあるが、間違った配線をすると、音がおかしくなったり、出なかったり、ハウリングなどが起こったりするので、注意する必要がある。

その他

  • (グライコのAUX出力が壊れたため、代わりにオンボードのサウンド出力を使うようにしたために)ヘッドフォンの音量が不足することがある件は、jack_mixerというソフトで音量を大きくすることで解決できた。複数の出力が出せるので、スピーカーで聴く時にも(アンプの音量を変える代わりに一時的に)調整できるし、音量メーターもあるのでちょっと便利だ。
  • GMBをJACKで使うと音量が不安定になる問題があったが、Gstreamerのplaybin(これが何かは分かってない)を作る時に"soft-volume"というフラグを指定しないようにしたら直った。この意味や、これで本当にいいのかは、良く分からない。ただ、基本的に、GMBの音量は変更しない(常に100%にしている)ので、問題はなさそうだ。
  • GMBはJACKへの接続を自動では行えないようで、それで手で接続しても再生を停止すると切れてしまうので、jack-plumbingというソフトで自動接続するようにした。
  • GMBの音を(PulseAudio経由でなく)直接JACKに出すメリット(音質がいい?)があるのかは全く不明だが、余計なものを通さないので(何かしら)良いと考えて、そうしている(はっきり言って、気分の問題であるw)。
  • 以前も書いたかも知れないが、JACKの接続状態を自動的に保存するプログラムを作った。ログイン時には、JACKの各プログラムの起動後、その保存された配線を復帰させるようにしている(qjackctlは僕には使いにくいため)。
    • なお、上記のjack-plumbingと接続保存プログラムは競合するので、jack-plumbingで自動接続した接続は保存しないようにした。
  • JACKにしたのではあるが、下位(ドライバ)にはALSAが使われているので、alsamixerというプログラムでサウンドカードの設定をする必要がある(そうしないと、音が出なかったり録音できなかったりする)。分かりにくいし、煩雑な点だ。
  • JACKにしたことで音質が良くなったということはないと思う。何となく、音がいい(低音や高音が良く出ている)ように感じることがあるが、気のせいか、音量が大きくなったせいか、イコライザを調整し直したためだと思う。
  • 昔、スリープからの復帰後にJACKの音が出ないことがあったのは、使っていたプログラム(qjackctl?)が悪かったのか余計なことをしたためなのか、分からない。今は、特に何もしなくても、スリープからの復帰後にJACKの音は出る。
  • JACKはWindowsでのASIOのような位置付け(仕組みは全然違うだろう)のように感じる。

画面

 

PS. 耳の痛みは、PEQの使い方(設定)以外に、PEQの仕様(中の作り?)にもよるようだ。というのは、さっき、いくつかの別なイコライザ(Calf EQ8, LADSPA DSP, TAP Eq/BW, Triple/Single band para. with shelves)を同じ特性にして試したところ、短時間しか聴いていないのだが、どれも耳閉感があったのだ。依然として謎は解けていない。 (3/25 15:05)

  •   0
  •   0

苦節3年じゃなく、教師生活25年じゃなく、41歳の春でもなくw、1か月に満たない期間ではあったが、謎が解けずに試行錯誤の連続だったJACKのイコライザの調整は、おそらく今日で終わりだ。見事、耳を痛くせずにRushの"Power windows"と"Hold your fire"を完奏できるイコライザ(PEQ)の設定ができたのだ。もちろん、前回書いたように、グライコタイプのイコライザmbeqを使えば問題なかったのだが、どうしても気に入らないので、PEQ(パラメトリックイコライザ)で実現した。

ただ、残念なことに、耳が痛くなった原因は分からず仕舞いだから、どうして解決できたのかも判然としない。今回、mbeqを実測値に基づいて調整しつつ簡素化・最適化した後で、試しにPEQ(前回使って印象が良かった、FIL-pluginsの4バンドPEQ(以下、PEQ4))を同様の特性にしてみたら、信じられないことに、耳が痛くならなかったのだ。

問題が解決できた理由を推測してみると、前にも書いたように、イコライザの使い方(設定)が悪かったのと、イコライザの特性(作り方)が関係しているのではないかと思う。今までは、右チャネルの80Hz付近の山を抑えるために、幅の狭いフィルタをそれ以外の低域の音量を下げるための広いフィルタに重ねていた(→ 参考: 図中のグラフの左の方の"P I"が"P II"に重なっている)のだが、今回はそれを止めて、フィルタが重ならないようにした(帯域の端では重なるだろうが、それは問題ないようだ)。

元々のグライコ(DEQ2496)のPEQはフィルタが重なる使い方をしても大丈夫だが(ただし、PEQの数が多いと駄目だった)、JACK(正確にはLADSPAやLV2)の多くのイコライザは駄目(混変調歪みが生じる?)なようで、そこが特性の違いなのかと思う。DEQ2496はプロ(「演奏者」という方が適切か)用なので、そういう問題が起こりにくい作りになっているのかもしれない。

一言で書けば、今回はPEQをグライコのような使い方にしたのだ。だったらmbeqを使えば良いのだが、フィルタの数(=補正処理の量)を減らして(mbeqでは6個だったのが3個に減らせた)、補正曲線をシンプルで美しくしたかったのだ。その方が音質の劣化が少ない気がする(実際、高調波歪みは少ない)し、趣味としての満足感があるw

大変マニアックだが、何をもって「綺麗」かそうでないかという話を書くと、グラフの左チャネル(上)だと、mbeq(紺)は1.2kHz辺りでの水平線との接続部が角ばっていて滑らかでなく、そこから200Hzまでの凸凹が急だし、200Hz辺りでの低域の曲線との繋がりに無理があって、滑らかでない。繋がりについては右チャネル(下)でも同様だ。そういう雑さは、mbeqがグライコだからであり、PEQ4(青)では全く問題ない。ただし、曲線の綺麗さが音質の違いに現れるかというと、まずないだろうと思うw が、一つ、急な凸凹は余り良くないとは思う。PEQはそういう点を細かく調整できるのがいい。

なお、耳が痛くなった原因が分からないので、他のイコライザでも同じ設定をすれば同じ結果になるかは分からない(設定は容易だが、試聴するのが面倒だし耳が痛くなるのは嫌なので、少なくとも今は試す気はしない)。

以下に、PEQ4の設定(識別記号="PEQ4-5")や補正後の特性を示す。僕の部屋用なので、設定自体には余り意味がない。特性はmbeq(識別記号="mbeq-2-4")や元のグライコ(DEQ2496)と比較した。

去年DEQ2496を設定してから部屋の特性が変わったようで(本棚をスカスカにしたせい?)、山の位置が変わったり(右: 80 → 144Hz)、新たな山(900Hz付近)ができていたので、それを解消するために設定を調整した。その新たな山が耳が痛くなった原因の可能性もあるが、同じ条件のDEQ2496では問題なかったので、違うだろう。

PEQは4個使った。ただし、2つ(中のSection 1と2)はそれぞれ片チャネルだけで使っているので、実際には3個である。当初は430Hzのフィルタ(Section 4)は入れずに3(2)個だけだったのだが、そこの山が気になったので追加した。

設定した特性の比較グラフは、イコライザで処理した音を(実際にDAC・スピーカーで出力してマイク・ADCで収集するのでなく、)PC内で直接分析した値(理論値)を比較している。

実測値の比較グラフを見ると分かるように、PEQ4-5ではDEQ2496と同等以上の特性が得られた。mbeqと異なり、PEQ4にはLowShelfフィルタが入っていないので、mbeqで気に入らなかった超低域(50Hz以下)の音量低下が回避できた(が、部屋の特性に起因する深い谷が55Hz付近にあるので、余りメリットがない)。また、サウンドカード(ASUS Essence STX II)のLPFは限界ギリギリ(約22kHz)まで通すため、DEQ2496での超高域(16kHz以上)の音量低下も緩和できている(ただし、僕には聴こえない)。なお、左右同時出力(グラフ: 上)での超高域の低下は、左右のスピーカとマイク間の距離差による干渉が原因である。右(グラフ: 下)の超高域の低下は原因不明で、測定に何らかの問題があったのかも知れない。

それから、今回、スピーカーの音を測定するために新しくマイクスタンドを買った。今までのカメラ用三脚を改造したものが駄目になりかかって(ポールを固定する結束バンドが緩んで来た)、マイクの固定が不安定になったためである。

新しいマイクスタンドを使って特性を測定

キクタニのMS-150Bにした。ヨドバシで約3700円だが、サウンドカードを買った時に貯まったポイントを使って約半額になった(他社では売価がもっと安いものがあったが、これが最安に近くなった)。高いだけあってしっかりしているし、つや消し塗装もちゃんとしていて、いい物だ。ただし、説明書は何もなく、組み立て方法が今ひとつ不明だったし、用途不明の金具があったりした。プロ用だからか?

なお、ブーム型のマイクスタンド(アコースティックギターで使うような物)は安かったのだが、脚(3本の棒)の設置場所を食うし、組み立てと分解(大き過ぎて、分解しないと恐らく収納できない)が面倒なことに気付いたので、ストレート型にした。

 

PS. こうやって特性が簡単(?)に測定・調整できるのはいいのだが、作業中はマイクの位置を動かしてはいけないので、椅子に座ってPCを操作することができず、マイクスタンドの脇に膝立ちせざるを得ないのが辛い。測定・調整用のサブPCでもあるといいのか? ああ、スマフォで(操作)できるといいな・・・

  •   0
  •   0

あれから更にいろいろ試したが、結論(どういう訳か、「Steve HarrisのMultiband Eq. (以下、mbeq)が最適」)は余り変わっていない。「余り」というのは、一つだけ、新たにいいものが見つかったのだ。それは、FIL-plugins(またはfil-plugins)の4バンドPEQ(以下、PEQ4)だ。

PEQ4はwebでの情報が少なく、バンド幅の設定もおかしい(オクターブでもQでもない)ので期待していなかったのだが、比べてみると、mbeqと同じくらいいい(耳に痛くない)。mbeqは超低域をカットしてしまい、たとえそれが聴感上問題ないとしても(趣味的に)好ましくないので、PEQ4で問題なければ使いたいと思って、しつこく試している。

PEQ4はバンド幅の設定の仕方がおかしいので、パラメタの調整には苦労したが、元の特性とそっくりにできた(グラフの形状が同じなので、今回は載せない)。試してみると、いつも使っているRushの"Power windows"はキツかったものの、その他ではほとんど問題ない。ただ、mbeqが最高なのはどうしても否定できなかった。

現在までに試したイコライザと評価は以下のとおりである。○△×などは評価で、基本的に上が良い。その次は僕が設定に使っている識別記号で、()内がイコライザの名前や説明である。

  1. ○ jr-mbeq-2 (Steve HarrisのMultiband Eq, "mbeq")
  2. △+? jr-PEQ4-1 (FIL-pluginsの4バンドPEQ, "PEQ4")
  3. △ jr-DSP-EQ-4 (bmc0のdspのDouble-pole peaking filterのeq, "DSP")
  4. △- calf-butty-PEQ+HPF-1 (Calf Jack Host(以下Calf)の5バンドPEQと高域通過フィルタ)
  5. △- calf-butty-PEQ+LS-2 (Calfの5バンドPEQとLowshelfフィルタ)
  6. ? jr-mbeq-3 (mbeq-2で6kHz付近を落としたもの)
  7. ? jr-PEQ4-2 (PEQ4-1で6kHz付近を落としたもの)
  8. ? jr-DSP-EQ-3 (DSP-EQ-4で6kHz付近を落としたもの)
  9. × butty-hpf-2 (calf-butty-PEQ+HPF-1を若干変更したもの)
  10. × calf-butty-PEQ+HS-12 (Calfの5バンドPEQとHighshelfフィルタ)
  11. × jr-tap-eq-bw-1 (TAP-pluginsの8バンドPEQ, バンド幅指定付き)
  12. × Calf EQ30 (Calfの30バンドEQ)
  13. × jr-TBWS-1 (Steve Harrisの3バンドPEQ)
  14. × jr-tap-eq-2-1 (TAP-pluginsの8バンドPEQ, バンド幅指定なし)
  15. × Calf EQ5 (Calfの5バンドPEQ)
  16. × EQ4Q (EQ10Qの4バンドPEQ)
  17. × jr-DSP-EQ-1 (dspで200Hzだけ幅広く落としたもの)
  18. × jr-DSP-EQ-2 (DSP-EQ-3で最初に全体を-3dB下げたもの)
  19. × carla-x42-1 (x42の4バンドPEQ)
  20. × jr-ls-1 (dspでLowshelfフィルタだけにしたもの): 耳は痛くないが、低域が不足して駄目だった。

DSPが意外に良く(dspのパッケージはいろいろな処理ができて便利なので、機会があれば活用したい)、Calf Jack Hostは手軽なのだが駄目だった。EQ10QもTAP-pluginsも駄目だった。

いろいろなイコライザを試すのと同時に、なぜそれらで音(耳の痛み)に違いが出るのかを考えた。結論は出ていないが、以下の点を疑っている。

  • イコライザ(PEQ)の使い方が良くない。
  • 混変調(正しくは「相互変調」とのこと)歪み(IMD)が生じている。
    • 6kHz付近に出る?
    • 超低域によるもの?
    • イコライザの作りによって生じる?
  • イコライザの作り(計算式またはプログラムの実装)が悪い。

PEQの使い方については、設定図を見ると分かるように、低域(右チャネルの80Hz付近)で2つのフィルタが重複している。このように使うと、(イコライザの作りによるだろうが)歪むのかも知れない。あるいは、図の低域(200Hzが中心)のように幅広く使うのが良くないのかも知れない。そして、それらに起因する歪みが6kHz付近に出る(だから、そこを下げると痛みが減る)のではないか。

その証拠に、mbeqはグライコタイプでフィルタが重複しない(実際には隣り合うフィルタは重なっているはずだが)ので、音が悪くないのではないかと思っている。

が、どちらも、検索した限りでは、「悪い使い方」として出て来なかった。もしかしたら、イコライザの常識なのかも知れない。

混変調歪みについては、超低域をそのまま出すと、イコライザかスピーカーで歪みが生じるのではないかと考えた。ただ、グライコ(DEQ2496)のPEQでも同じ条件なのに問題なかったので、スピーカーは関係なさそうで、イコライザの作りによりそうだ。

その証拠に、mbeqはたまたまにせよ超低域をカットしているので、音が悪くないのではないかと思っている。

そのイコライザの作りによる音の違いについては、あるとしかいいようがない。使っている計算式(この辺りは難しくて苦手で、全然知識がない)が適切でないのか、それをプログラムにする仕方が適切でないことが考えられる。後者の気がする(ほとんどのイコライザはオープンソースなので、プログラムを見られるが、面倒そうなので止めておく)。

ただ、誰も文句を言っていないので、すごく微妙なことなのか、僕がしているような特定の使い方で発現するのではないか。なお、イコライザの処理中のオーバーフローを疑って入力レベルを下げてみたが、効果がなかった。内部では浮動小数点で処理しているから、計算自体に問題はないのだろう。

という訳で、DACやフィルタやデジタルアンプを変えたら音が変わる現象は「ありまーす」になるw ただ、それは全然褒められることではなく、単なる処理の違い、しかも、処理が良くないために起こるのであって、何を使っても音が変わらないのが当たり前のことだと思うのは、変わりない。

だから、DACなどでフィルタを選べるのを売りにする会社なんて、単なる優柔不断な腰抜けだと思う。男なら(女でも)、最高の一個で勝負して欲しい。

追って、スピーカーの音を実測して各イコライザの「音(特性)の違い」を調べ(果たして測定できるのだろうか?)、最適なもの(mbeqかPEQ4)を決め、実測値に基づいて微調整をしたい。

  •   0
  •   0

珍しく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

グライコ(DEQ2496)を使わず、PCのJACKの(ソフトの)イコライザで音質を補正した時に起こる耳の痛みが解決したかも知れない。

今のところの原因は、特定の周波数(6.2kHz付近)の音が僕の耳を攻撃していたことのようだ。

前回の対処の、超高域(>=16kHz)を下げるのは、やっぱり駄目な感じだった。その辺りの特性を微調整しても駄目だったので、耳の痛くなる周波数を探して、下げてみることにした。

最初は、良く言われている、4kHz辺りを試したが、どうも効果がないようだった。それで、耳が痛くなりやすかった曲(例: 戸川純 "Joe le Taxi")を掛けたり、周波数を変えながら正弦波を出して、耳の感じを探った。なかなか分からなかったのだが、半ば勘で6.2kHz辺りとして、そこを3dB下げてみた(Q=5)。

耳が痛くなる辺り(6.2kHz)を下げてみた(赤, DACは通さずに測定)。 (黒はオリジナル(グライコ= DEQ2496))

なお、前回原因と考えた、超高域(>=16kHz)は無関係のようなので、カットしないことにした。もちろん聴こえないからどっちでもいいのだが、例え意味がなくても「(とりあえずスピーカーからは)原音再生」が理想なのでw、そのまま出すことにした。それに、フィルタ(信号処理)は少ないに越したことはないから、そのままでいいならその方がいい。

悪くない感じで、まだ2時間くらいしか聴いていないが、(若干兆候はあるものの)まだ耳は痛くなっていない。これが解かどうかは分からないが、もしそうだとしたら、この辺りの音は、僕の苦手な音(例: 黒板を引っ掻いた音、発泡スチロールをこすった音)なのかも知れない。当然、そういう音には個人差があるので、これは僕だけの設定になる。

不思議なのは、グライコ(DEQ2496)から音を出した時には耳が痛まないことだ。もう、「相性」と言うしかないのか。その正体として考えられることはもう余りないのだが、混変調ひずみ特性あるいはマスキングのようなものが関係あるのかも知れない。

サウンドカードは特定の帯域に混変調ひずみが出やすく、グライコはそうでない、あるいはその逆(例:グライコ固有の特性のために、複数の音が出た時に問題の周波数が出にくくなる)なのだろうか。そして、これは、測定用の信号(単音)では起こらないから、グラフを見ても分からず、音楽を再生した時だけ出てくるのかも知れない。

だから、良く言われる、「数値に出ない音」ってのはこういうことがあるのかも知れない。とはいえ、それは、即座に「ケーブルの構造や材質で音が変わる」のようなことが正しいことは全く意味しない(良くこじつける人が居るが、大きな問題だ)。ここで言っているのは、測定困難なだけで、物理量としては定義可能な特性に音が影響されているということで、測定できない(あるいは、理論上、無関係とか存在しない)「何か」(例: 声掛け、「波動」)に音が影響されるということではない。

もちろん、まだ解決したとは決まっていないので、あくまでも現時点での推測だ(そういうのを考えるのが楽しいので、未確定にも関わらず書いている)。

そして、超高域を出しているにも関わらず(現時点で)大丈夫ということは、少なくともそこは原因でなかったということだ。だから、「聴こえない音」は、やっぱり、耳から脳には伝わらず、脳には何も影響を及ぼさないことになる。つまり、ハイレゾは僕には無意味ということになり、多くの中高年にも意味がない(益も害もないし、違いを知ることもできない)だろう。もちろん、趣味なので買うのは自由ですがw

 

現在のCalf JACK Hostのイコライザ

 

PS. JACKだと、今回のように、DACを通す必要のない特性の測定は、(本物のケーブルを接続しなくても)パッチベイで出力と入力を接続するだけで測れるようになるので、すごく便利だ。そういう点では、JACKにした価値は大いにあった。

パッチベイ (仮想的な接続状態)

PS2. 6kHzの謎を調べたくて検索していたら、アマチュア無線用の短波帯トランシーバの音がいいとかいう記述があって、「はぁ?!」と思ってちょっと読んだら驚いた。今のは光デジタル音声入力(オーディオ用と同じ!)があるそうで、更に調べたら、光デジタル出力、USB、LAN、シリアルポート、更にはディスプレイ端子まで付いており、しかもDSP内蔵だそうで、パソコン以上だ。そんな最新兵器に昔ながらの大きなM型アンテナ端子が付いているのは、何ともおもしろい。でも、僕だったら、PCのスロットに挿す、トランシーバーカードがいいな。ソフトでいくらでも機能を追加・変更できるような。既にあるかも知れないが。 (21:21)

PS3. 耳管の共振周波数は9-10kHzというのを読んで、6.2kHzの代わりに9.5kHzを落としてみたが、どうも駄目だった。イヤフォンなどで耳を塞いだ場合は6-7kHzになるようだが、今回は開放しているので関係なさそうだ。いずれにしても、耳管の共振周波数と不快な音の周波数が同じ必然性はない。謎は深い。(23:16)

  •   0
  •   0

先日から気になっていた、グライコ(DEQ2496)の代わりにJACKの(ソフトの)イコライザで音質を補正した時に耳が痛くなる問題。いろいろ試したのだが、なかなか原因が分からず、対処できずにいた。それで、いろいろ検索したところ、耳が痛くなるのは、高域(4kHz以上)が強いことが原因という話が多かった。それで、イコライザでその辺りを下げてみたのだが、やっぱり効果がなかった。

さらに、90Hz付近のPEQのQ(山や谷の急峻さ)の設定がいい加減なためかと、帯域幅からQを求める方法を見つけて調整したのだが駄目だった。そんなこんなで第8案までやったのだが駄目で、残ったのは、今まで耳が痛くならなかったグライコの特性を測定して、それにJACKの特性を合わせることだった。ただ、そもそも今のグライコの特性はJACKのに近似させて作ったので、それに合わせる意味はないと思った。(2/22 17:56追記: 調べたら、JACKに近似させたあと、グライコ側で微調整していた。)

ただ、それまでの手がことごとく駄目だったので、もしかしたら、グライコとJACKの特性が微妙に違っていて、それが耳に痛い周波数帯の可能性がありそうだったので、改めて測定してみた。すると、以前は見落としていたことに気付いた。超高域である。グライコ(グラフの赤線)は約16kHz以上が落ちているのだ。一方、JACK(ベージュ色)は「そこまで律儀にやらなくても、誰も文句言わないよ」と言いたいほど、限界(約20kHz)まで綺麗に伸び、ストンと落ちている("JACK"とは書いたが、実際にはサウンドカードの仕事だ)。

右チャネルの特性比較 (DEQ=DEQ2496, JACK=Calf Jack Host。見やすいようにレベルをずらした)

何年も使っていたのだが、グライコ(のDAC)が意外にも超高域をカットしていることに初めて気付いた。間違ってそういう設定にしたのか、そういう仕様なのか、回路がしょぼいのか、経年劣化したのか分からないが、とにかく出ていない。(2/22 11:07追記: これはグライコDEQ2496の仕様の可能性がある。PS2を参照のこと。)

僕はそんな高い音は聴こえないから、出ていても関係ないとは思ったのだが、周波数特性の違いはその程度なので(その他に位相特性もあるのだが、未知数である)、試しにイコライザで落としてみた。まだ余り聴いてないが、前よりはましな感じがする(が、まだ耳が痛い気もするので、下げる量が足りないのかも知れない)。

もしこれで効果があったら(= 耳の痛みの原因は超高音)、僕はそういう超高音を音としては認識できないが、感じてはいるということだ。ということは、良く言われる、「ハイレゾの音は、聴こえなくても(可聴帯域外でも)身体で感じる」という説が正しいことになる。ただ、僕のような者にとってはハイレゾなんて苦痛でしかなさそうだがw

素人考え: 「身体で感じる」と言っても、実際には耳で感じていると思うのだが、脳ではそれが音とは認識されないということなのではないか。ただ、何らかの「感じ」がする(結局は脳の神経の電流になるのか)ので、聴こえないはずのハイレゾの違いが分かったり、(僕とは逆に)ハイレゾが心地よく感じる人が居るのだろう。

それから、サウンドカードやスピーカーの性能がすごいのに驚いた。無駄にいいと言ってもいいくらいだw いずれにしても、音(再生の忠実度)が良過ぎて駄目なことがあるなんて、全く信じられない。

という訳で、今日はいろいろと認めたくないことがあった。

 

(2/22 13:39追記) 「謎が解けた!」と思ったのだが、ちょっと腑に落ちないことがあるのに気付いた。前回JACKを試した時も、音を出すのにグライコをのDACを使っていたなら、やはり超高域がカットされていたはずだから、耳は痛くならなかったはずだ。オンボードのDACを使えばあり得るが、ちょっと考えにくい。あれから何か構成を変えたのだろうか? あるいは、グライコで処理した音をDACで出す時だけカットされる(=グライコがバイパスモードで、DACだけ使っている時はカットされない)のか? (← 実際に測ったら、バイパスモードでもカットされていた) この問題はなかなか奥が深そうだ。

(2/22 16:38追記) もう意地になって、耳が痛くないグライコの特性をJACKに移して(自分のをコピーw)みた。

右チャネルの特性比較 (黒=DEQ2496, 赤=Calf Jack Host)

これなら「何も文句はない!」はずなのだが、それでも何となく耳が痛くなりそうな気配がするのだから不思議だし、気に入らない。「DACで音が変わる」ってやつだろうか・・・ やっぱり認めたくないものだ。むーん。

もしかして、イコライザ・フィルタの位相特性の問題なのだろうか? 確かに、グライコの時も、グライコやPEQを多用したら耳が痛くなった。だとすれば厄介だ。けど、いろいろなフィルタを探して試せば、中にはいいのがあるかも知れない。純然たるデジタルのシステムだけど、アナログ的な音作りは要るようだ・・・

(2/22 16:58追記) JACKにコピーした特性の位相を調べてみたのたが、基本的には問題ない。

右チャネルの位相特性の比較 (黒=DEQ2496, 赤=Calf Jack Host)

JACK(赤)で超高域(16kHz以上)の位相がおかしいのは、フィルタ(LPF)を掛けているためで、仕方ない。この辺りは振幅が小さくなっているので、影響は少ないはずだ。それにしても、DEQ2496のLPFはすばらしく素直で感心する。やはり、本物だけのことはあるのだろうか? これはDACチップ(AKM製)内蔵フィルタの特性なのだろうか? 正直言って見くびっていたのだが、すごいと思う。

と書いたものの、実はAKMも最後の方は位相が乱れており、JACKの線の下に隠れているだけだ。本当にすごいのは、今のサウンドカード(TIあるいはASUSのフィルタ)だ。グラフは載せないが、超高域カットをしない場合、最後まで全く破綻せず、-60°までしかずれてない。「素性がいいDAC」というのは、こういうことなのかも知れない。

ただ、それで耳が痛くなったらしょうがないのだがw

(2/22 18:20追記) まだ余り時間は経ってないが、今度は大丈夫な気がする。確かにちょっとキツい感じはするが、疲れとか風邪で調子が悪いせいかも知れない。しばらく様子を見よう。やっぱり、超高域はカットするしかないのだろうか? もちろん聴こえないし痛いからそれでいいんだけど、なんか損した気分だw

(2/24 10:08追記) 位相と振幅が最適なフィルタを探したところ、意外にも、中低域の調整に使っているCalf Jack HostのPEQ(5バンドイコライザ)のHighshelfフィルタが良かった。なるべくグライコ(DEQ2496)に近い特性になるように設定を調整した(→ 目標値: -25dB@19.25k, Q: 0.85になった)。以下に位相と振幅特性の比較を示す。Highshelf(緑)では今までのCalfのLPF(赤)の20kHz辺りからの位相の乱れがなくなった。振幅も、グライコよりわずかに傾きが小さい程度である。こちらの方が19kHz辺りまでが小さ目なので、僕には好ましい気がする。また、処理モジュールが1個で済むのも好都合だ。

高域の位相特性の比較 (黒: DEQ2496, 赤: Calf LPF, 緑: Calf Highshelf)

高域の振幅特性の比較 (黒: DEQ2496, 赤: Calf LPF, 緑: Calf Highshelf)

聴いた感じは、今までに比べて「耳触り」が良く、くつろげる気がするが、今はクラシックを掛けているせいかも知れないし、昨日より体調がいいせいかも知れないし、気のせいかも知れない。 → 残念ながら耳が痛くなった。傾きが小さいせいだろうか?

いずれにしても、デジタルでもアナログのように音を変える要素はあって、音作り(または調整)の作業が必要なことを痛感した。僕の目指していた原音再生とは異なるが、聴き疲れするのでは元も子もないので、仕方ないのだろう。

 

PS. 帯域幅からQを求める方法(式)は、「音響とか / Sound and Acoustics」が参考になった。今度はいつ使うか分からないが、ちょっと知識が増えた。参考のために、肝となる式を書いておく。

オクターブバンドの帯域通過・除去フィルタの中心周波数: fc,
下限周波数: fl, 上限周波数: fh (それぞれ、-3(または+3)dBとなる周波数),
Q値: Q
の時、以下の式が成り立つ。

fc= sqrt(fl * fh)
Q= fc/(fh - fl)

これにより、グライコのPEQのfcと帯域幅(「xオクターブ」)が分かれば、fcと帯域幅からfhとflを求めることで、Qが求められる。

PS2. グライコ(DEQ2496)の仕様を見てみたら、超高域の低下の原因が分かったかも知れない。仕様では、

周波数帯域: 10Hzから35kHz(-1dB)@ 96kHz Sampling Rate

となっている。充分広いように見えるので、「ふーん」と通り過ぎそうだが、良く見ると、上限の35kHzが曲者の気がする。これが、サンプリング周波数が44KHzの場合には比例して下がるとしたら、

35/(96/2)*44/2= 16kHz

になり、上の測定結果のとおりではないだろうか? 口コミで読んだ記憶がないので、今まで誰もこれに気付かなかったのか、みんな知っていてそんなもんだと思っていたのか、内蔵DACを使う人は少ないのか。まあ、何でもいい。僕にはありがたい仕様ではあったw

なお、同じ仕様書でGEQやPEQなどの帯域は"20Hz - 20kHz"となっているので、デジタル出力を使う場合には超高域の低下は問題なさそうだ。が、ハイレゾ指向の人には向かなそうだ。

いずれにしても、ずっと気付かなかった仕様の不備(というか、気付かなかったことが不備)ではあるが、僕には怪現象の原因が分かったことの方がうれしいw (2/22 11:05)

  •   0
  •   0