Apr 14, 2020

700kHz台でPPAP 複数のFrontを使い分ける(2020.05.01、2023.06.22 追記)

2023年6月22日、追記。

久しぶりにこの手法を使ってみようとしたら、なぜか使えなくなっていた。
1つのシステムで2つ以上のncatを動かせなくなった、と言えばいいか。
使えない理由ははっきりしない。というか、こうなると、当時使えた理由も分からない。なんで動いたんだろう、というか。

しかし、あれこれやるうちに、当時のやり方を思い出してきて、何で出来たのか分かった。
当時は2つめのncatは、sshでログイン後にターミナルソフトからコマンドを打っていたのだ。
自動起動のncatと、ターミナルから起動するncatでは、ユーザーが異なる。要するに、其々のncatにユーザーが1つずつ必要なのだ。2つのncatを動かすには、2つのユーザーが要る。

このあたりの手法は、記録していなかった。
当時は、bootlocal.shから2つ起動させようとしなかったので、気付かないままになったらしい。

以上、追記。

768kHzのPPAPで聴き始めて1ヶ月程。
前回のエントリーで戻れないだろうと書いて、やはりその通りになっている。
音源の音楽的な情報を今まで以上に引き出していると思う。より生々しく、色彩、陰影豊かにという感じ。

ただ、この聴き方だとうまくいかない音源が散見される。
クラシック系や録音が良いとされている音源はたいてい問題なく、768kHzでより良く鳴ることが多い。
しかし、ポップミュージック系は録音の良し悪しの幅が大きく、良くないものは一層の違和感を生じるようになった。

以前にエントリーに上げていたボーカルの違和感というのではない。それはむしろ減っている。
それよりも、作品の音質全体がなんだか上手くいっていないというか、粗が目立つというか、聴き続けるのが苦痛になる。高域がきついとかノイズっぽいとか聴き疲れするとか、そういうのではなく、ただただ録音が悪いというのがはっきり分かっていやになる感じ。
そこまでひどいのは、そんなに多くはないのだけど。

精緻なオーディオ再生はもとから考えていないだろうなという音源の一部は、768kHzで聴かないほうがいい。
いっそのことと思って、そういう音源は768kHz以下の周波数、例えば192kHzでの再生を試みている。
そのぐらいに落としたら、違和感なく聴ける音源も増えてくる。

方法は、下図の通り。
うちのシステムの上流は最近はこんな感じだ。

PPAP構成図

上にBack-endのapu2d4。
中央に2つのFront。1つはapu2c4、もう1つは新たに入手したHP Elitebook 2570p。
下に、mpdクライアントncmpcppを動かすHP compaq 6730b。

Back-endのapu2d4には2組のncat/aplayeraplayが動いていて、異なるサンプリング周波数、ビット深度を担当している。
異なるポートをあてがうことで、こういうことが可能になる。
ともに出力はusbで1つのDACに継いでいるので、同時に音出ししたらどうなるのかということはあるのだけど、怖くて試していない。
その点で注意は必要だが、Back-endの設定変更の手間をかける必要なく入出力を変更できるのは便利だし、スピーディに変更できるので音質の比較も容易になる。
コマンドが1つか2つかで音質の変化があるかどうかは、僕には聴き分けられなかった。

Front 1は以前から使っているapu2c4。
ずっと705.6kHzへのアップサンプリングで使ってきたんだけど(768kHzは限界を超える)、より高スペックのPCから出力する768kHzのほうが1割方、音がいい。そこで、低めのサンプリング周波数でのPPAPに対応してもらうことにした。今のところ192kHz/24bitだが、どのあたりが塩梅がいいか、追々検討していくつもり。

apu2c4の使用法を変更するにあたって、mpd.confの設定に多少戸惑った。
というのは、192kHzや96kHzで音を出すと、なぜか音が途切れるのだ。
アップサンプリングの負担は少ないはずなのに、、、以前使っていた時、どうだったっけ?
あれこれ試行錯誤したところ、どうもPPAP Frontには「buffer_before_play」を奢ってやる必要がある事が分かってきた。
この数値が足りないと、音切れが起きやすかったりクライアントからの操作への追随が遅れたりと、問題が起きる。
しかし、以前は気付かなかった。
もしかしたら、使用するハードによって何か違ってくるのかもしれない。分からないけど。

Front 2のHP Elitebook 2570pは中古で新規購入した。
HP ProBook 650 G1を使っていたんだけど、サイズが大きめなのと、将来的に子供がwindows10で使う役割が急にできてしまった。
どうしたものかと迷ったんだけど、結局、HPのノートにした。
まずモニターが付いていて折りたためること。1ボードPCで必要に応じて外部モニターやシリアル接続というのもあるけど、bios確認するのにいちいちモニターとか面倒だ。最終的にノートにすることにした。音質への影響は、多分それでも十分だろうと割り切った。
650 G1よりもう少し小型で、メモリの速度が十分で、というわけで、中古で1万3千円強だった2570pにした。たぶんwindows7でHDDにリカバリ領域がないから安かったのではないか。usb起動で使うのでHDDは外してしまった。こういう対応がしやすいのもこの機種を選んだ理由。
usbメモリにtiny core pure64 11.1で起動して、mpd 0.20.20をインストールしてFront化した。
768kHz/32bitを問題なく再生出来ている。
しかし、少し音が硬いんだな、、、
サイズが小さい割に3kgもあって、それで凝集した感じの音になってるのか?と思ったけど、徐々にほぐれつつある気がする。
あと、メモリが4GBと650 G1よりも少ない。これは追々、増やしてみようと思う。

5月1日、追記。
メモリを8GBにしてみた。意外にも、というとあれだが、かなり良くなった。
床に根を張ったような安定感がある音がする。大地に根を張るような、とまでいうのは気恥ずかしいので謙遜した。しかし床といってもグランドピアノを置いてある床のつもりなので、まあ、そういう感じだ。キレもいい。空気を貫いてくる音が貫く空気の感触がわかる感じ。どういう感じだ。
これだけ鳴ってくれたらもう十分かも、という音が出ている。過去にも繰り返しそんな事を言ってるけど。

しかし、そんな状態でも下記のようなエラーが出る事があった。

tc@box:~$ 768
Playing raw data 'stdin' : Signed 32 bit Little Endian, Rate 768000 Hz, Stereo
Playing raw data 'stdin' : Signed 32 bit Little Endian, Rate 768000 Hz, Stereo
underrun!!! (at least 6168.253 ms long)
Playing raw data 'stdin' : Signed 32 bit Little Endian, Rate 768000 Hz, Stereo
Playing raw data 'stdin' : Signed 32 bit Little Endian, Rate 768000 Hz, Stereo
^C

768というのはalias登録している短縮コマンドで、768khz/32bit PPAP back-endとして機能してるということだ。
「underrun!!!」とエラー表示されている。
このエラーが出たときは数秒間、音が途切れた。
6秒までは途切れなかったと思う。3、4秒だったんじゃないかな。1回きりで、その後はない。ないので、様子見ということに今はしている。

クライアントは普段使いのHP Compaq 6730bで、ncmpcppでFrontのmpdにアクセスし操作している。
図の通りなんだけど、アカウントを複数使うことで、設定が異なる複数のncmpcppを同時に運用できる。ターミナルソフトのウインドウが多くなると紛らわしいので、ワークスペースの切り替えで対応している(ワークスペースというのはlinuxの機能で、切り替えが効くデスクトップみたいなものだ)。

将来的には、2つのFrontを1つにまとめていくことも考えている。
つまり、Frontにアカウントを追加して、個々のアカウントでmpdを動かせば、1つのPCで複数のmpdを動かす事ができるということだ。
クライアントへのポートは6600がデフォルトだけど、他の使われていない数字を充てることもできるので、1つのPCで、複数のクライアント、複数のmpdを動かすことができるのではないか(つまり、過去のエントリー http://blown-lei.net/endive/blosxom.cgi/audio_diary/20161231a.htm に記載したようなことをやる)。
まあ、先の話だけど。

新型コロナウイルスが、日本中、世界中で僕達の生活を脅かしている。こんなことはSF小説で読んだ事があるばかりで、現代社会で実際に起きるという気構えは全くしていなかった。そして、ここまで政府が無能だということも、、、いや、無能というよりも怠惰で非情ということだ。予想してなかったとは言わないが、もう少しマシであって欲しかった。
それでも、この現実に向き合い、対処しないといけない。
協力できる人と協力し、できることを行い、1人でも多くの無事を祈るばかりだ。

とにかく、みなさま、御自愛の程を。

Edit this entry...

wikieditish message: Ready to edit this entry.
















A quick preview will be rendered here when you click "Preview" button.