2024-11-12

Atmos奮戦記その3

[Atmos奮戦記][Atmos奮戦記その2]の続きです。

HDMI Passthrough

7月初旬、MacOS SequoiaのPublic BetaにHDMI Passthroughが発見され、狂喜乱舞したのが昨日のことのよう。

おおお!マジ!そそそそそれはIntel Macでもできるよね?ね? パブリックベータ入れてみるか? gadget.phileweb.com/post-79543/

[image or embed]

— 池田研二 (@ikedakenji.bsky.social) July 4, 2024 at 11:13 PM

この時の不安は的中。Apple Silicon限定仕様でIntel Macでは使えなかった。

うん?もしやApple SiliconなMacでないとHDMI Passthrough使えないと言ってる?

[image or embed]

— 池田研二 (@ikedakenji.bsky.social) September 17, 2024 at 6:53 AM

で、M4なMac miniが出たので買い換えたのだ。それまでM2 Proの整備品をうじうじと眺めていたのだが、M4からProじゃなくても3台のディスプレイがサポートされたので即決。メモリが32GBから24GBになってしまったが、まぁまぁまぁ…

おお、AVアンプの表示がDDAtmosに!やはりCore AudioでMulti Ch.にデコードされたものとは音質が違う!

所感

再生が不安定

Atmos曲において、再生開始直後や突然音量が上がるあたりで音が壊れることがある。音楽再生でこれは悲しい。

ただ、安物のHDMIスプリッターはまだ通している。これが原因かも?(← ではなかった)

Apple TVでHDMI Passthroughにならない

Music.app, TV.app, QuickTime Player.appにHDMI Passthrough設定があるのだが、TV.appではMulti ChのままでHDMI Passthroughにならない。Atmos音源なファイルを持ってないのでQuickTimeでどうなのかは未確認。

HDMI占有

これは想定通り。OSのサウンド出力をHDMIにしたままAtmos曲を再生するとサウンド出力がMacのスピーカーに切り替わる。Atmos曲再生中にYoutube見たりするとその音声はMacのスピーカーからになる。Atmos曲が終わるとHDMIに戻る。切り替わる先はAbout HDMI Passthroughにある通り。

Mac miniのスピーカーじゃあまりにもあまりな音質になるので、ちょっと考えよう。

Hi-Res

こちらはHDMI Passthroughが効かない。Core Audioで処理されたものが出力される。残念。Hi-Resにも44.1k, 48k, 96k, 192kと色々あるんだから、Core Audioスキップして出力してほしいのお。

切り替えも不安定

Atmos曲をかけるとHDMI Passthroughに切り替わるまでに時間がかかるため曲の頭が欠ける。で、上にも書いたが、立ち上がりの音量レベルがあるとバリバリする。

Atmos曲終了後はサウンド出力が元のHDMIに自動で戻るが、曲が終わっておらず一時停止した状態だとPassthroughがまだ生きているらしく、手動で切り替えようとしてもアイコンがぐるぐるマークのまま切り替わらない。ぐるぐるになる場合はちょっと時間を置く必要がある。もしくはAtmosじゃない曲をMusic.appで一旦再生すると戻せるようになっている。たぶんもっと簡便な方法がありそうだが、とりあえず。

ということで満足にはほど遠い状況。特にたまに音が壊れるのはなかなか耐え難い。たとえばこのアルバムは頭が大抵壊れる。1曲目の冒頭からレベル高めだからかも。

ただ壊れる原因が安物スプリッターなのかmacOSなのかAVアンプなのかは切り分けできてない。ていうかHDMI Passthroughやってる人をネットで見かけないんで情報が足りなすぎる。

ちょっと考えよう

デフォルト出力を別途作っちゃうかな。AVアンプはHDMI Passthrough専用にするとか。うーむ、それもなあ…

追記

安物スプリッター外してみた。効果なし。原因は他にある。

うちのAVアンプ、7chしかもってないのでAtmosが5.1.2になる。これまでUSB Outを足して7.1.4してきたので背後と頭上がかなり寂しい。

追記2024-11-15

AVアンプのfirmwareを更新したらバリバリ壊れなくなったかも!ちょっとあれこれ試したい!

あ、いやだめだった。上にあげたNoah Bendix-BalgleyのMozart - Sinigaglia、1曲目の頭はクリアできるようになったが3曲目の頭はやはりバリバリする。が、バリバリ度が下がった気もする。AVアンプの処理能力の問題なのか?それならApple TV+でもバリバリしてなきゃ変なので、やっぱmacOSの問題か。

追記2024-11-20

Software Updateで15.1.1にあげたら、3曲目もクリアできるようになった!

修正入ったか、単に再起動すればよかったのか(なら長期間スリープ運用してるとまたダメになる?)…

追記2024-11-20の2

スリープ明け。いやあ壊れない。とりあえず聴きまくってるが壊れる曲を発見できてない。なんならHDMI Passthroughへ切り替わるタイミングの音切れも少なくなった気さえする。

M4 Mac miniへの移行後再起動してなかったのがまずかったのか?原因がわからん。15.1.1で修正されたのでないのなら再発の可能性はあるが、それも再起動でなんとかなるってことだな。

しかし、こうなると、AVアンプを7.1.4対応のものにアップグレードしたくなってきたぞ。普通の11chのはたいてい最上位機種で金額的に割に合わんので、内部9chで外部にパワーアンプ足せば7.1.4にできるやつを中古で探すか…

追記2024-11-20の3

おっと、壊れる曲を発見!これも冒頭。くしくも3曲目。

そしてアルバム聴き終わった後(3時間弱ある)再度3曲目再生したら再現しない。発見時には何度再生しても再現率100%だったのに。発生条件、解消条件がわからない…

追記2024-11-27

なんと壊れることがなくなってしまった。いや、微細な壊れに気づいてないだけかもしれんが。なんだろう?エージング?まさかなw

2024-05-30

Atmos奮戦記その2

ふと気になったので。前回[Atmos奮戦記]の続き。

Mac HDMI出力のch7,8

前回は記憶違いだからと濁したが、本当にMacのHDMI出力はch7,8が出ないのか?問題。AVアンプに繋ぐとch7,8がch5,6にマージされるという話はネットのあちこちで見かけるのだ。実際自分自身も経験がある。が、前回の環境では再現できなくて追記で間違いとしたのだ。

ということで追試した。スプリッターを外してMacのHDMI出力をAVアンプに直接入れてみた。なんとch7,8がちゃんと出力される!あ、あれ?

この状態でAggregate Device組んで、AVアンプ8ch、USBから4chでAtmos 7.1.4にして10分ほど聞いてみた。なんと途切れない!あ、あれ?

ここで「ch7,8がちゃんと出力される」とは、Audio MIDI SetupでのConfigure Speakers...でのTest出力での話である。Dolby Labs提供のFunctional TestingDolby Atmos Channel ID 7.1.4 (Ltf/Rtf/Ltd/Rtr)では、Rear Surround(ch7,8)がSurround(ch 5,6)から聞こえてくる。つまりこれが「ch7,8がch5,6にマージされる」ってことなのか。実際にリアに音がやたらと振り分けられるSun King (2019 Mix)聴いてもリアから音がしていない。

自分にとってDolby Atmos出力が必要とされるのはあくまでもApple MusicのAtmos対応楽曲を聴くためである。Audio MIDI SetupのTestでちゃんと振り分けられてても、実際にApple MusicのDolby Atmos対応曲がちゃんと聞こえなければ意味がない。

まとめ

  • MacのHDMIのch7,8が出ないというのは間違い。うちの安物スプリッターの不具合。
  • Audio MIDI SetupのTestでch7,8がちゃんと出力されていてもApple MusicのAtmosストリームではch5,6にマージされてしまう。

ということで環境は元に戻した。前回書いた通りスプリッターないと実運用で不具合でるし、Apple MusicのDolby Atmos対応曲がAtmos 7.1.4にならないのは悲しいから。Aggregate Deviceでの音途切れも解消しているっぽいが、Loopbackアプリの視覚情報便利だし(もう課金しちゃってるしね)。(追記:その後、やはり音途切れは解消してないことを確認済み)

スプリッターの不具合というのは新たな知見。Apple Musicの楽曲でもちゃんとリアに音が振り分けられる製品があるのかも。奮戦はまだまだ続きそう…

2024-02-08

iPad mini対応

BloggerをiPadのブラウザでアクセスするとPC用のテンプレートが使われる。文字がちっちゃくて読めたものじゃない。

調整前で文字が小さく読みにくいiPadでの表示

タブレット向けメディアクエリでmax-widthをデフォに戻してサイドの空きを詰めたり、フォントサイズをvwで指定して読める大きさにしたりして、まぁまぁ実用的なところまでもっていけたかと。

手当後にiPadで参照したところの図
@@ -681,7 +681,34 @@
 
 .jump-link {
   display: none;
+}
+@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) {
+  body {
+    font-size: 1.8vw; /* 14px var(--body-font) */
+  }
[略]
     <b:template-skin>
@@ -754,6 +781,11 @@
       body#layout div.add_widget a {
         margin-left: 32px;
       }
+      @media only screen and (min-device-width: 768px) and (max-device-width: 1024px) {
+        .content-outer, .content-fauxcolumn-outer, .region-inner {
+          max-width: none;
+        }
+      }
       ]]>
     </b:template-skin>

追記

作業前画像と比較したくて、一度テンプレートを戻してキャプチャし直した。並べるとあんま差がない気がするが、作業前の状態だとiPadで読む気にはなれん字の大きさなんよ…

2024-02-07

Blogger挙動不審

ウィジェットのブログアーカイブは階層に設定してあり、年月の横の三角マークで展開したり閉じたりできるのだが、これがページによって機能したりしなかったりすることに気づいた。なによりトップページで機能してない。

ブログアーカイブの三角マークの図

機能しないページはjavascriptが動いていないようで、画像のリンク先で画像切り替えが効かず右上の閉じるマークもでない。あれこれ試していてページを更新すると機能するようになることが判明。ただ、更新によって機能するようになるページも、更新後すぐに機能するわけじゃなくちょっと時間がかかったりする。

モバイルからのアクセスで読み込まれるコードがいつの間にかデフォからこちらが編集したものに入れ替わったりしたのもそのたぐいなのかも。レプリケーション待ち?なんか手を加えたらちょっと待つくらいがいいのかも。

追記

この記事を新規に投稿したからなのか単に時間が経ったからなのか、トップページだけじゃなく過去のページ(20件ほど)もスクリプトは動くようになった模様。

追記2

画像キャプチャ見て、ブログアーカイブの記事タイトルの2行目のインデント位置が気になってしまった。list-style-type: none;するなら最初っから手当しといてくれw

インデント位置を修正したの図

.BlogArchive #ArchiveList ul.posts li {
  text-indent: 0;
  padding-left: 0;
}

両方0にしたから、元よりちょっと前になってるな…

追記3

再発しとる!もしかして、記事の更新すると発生するのか?ちょっと放置しておいてみよう。ダメなら新規投稿すると治るか試そう。

追記4

放置してたら治ってた。そういうことか。で、たぶんこの更新でまた再発するに違いないw

追記5

再発してなかった。発生するかは時の運。発生しても時間をおけば解消する、と。

2024-02-06

モバイル版のテーマに手がだせた

スマホでもダークモードになっていた。

正確には手がだせたわけでない。ふと気づくとモバイル版に切り替えたときに埋め込まれるstyleが、未編集のデフォルトっぽいものから、「HTMLの編集」でカスタマイズしているコードのものになっていたのだ。なぜに?どういうこと?

スマホでもダークモードになっているの図HTMLソースのstyleがこちらで編集したものになっているの図

これまで手を入れてなかった.mobile*なクラスのセレクタに色指定するだけで、あっさりダークモード切り替え対応に。もう少し調整するけど、とりあえずできた。

だが、なんでこんなことに?変化点と言えばトップページ要約化の修正したことくらい。あれでモバイル版に反映されるようになった?そんなことがあっていいの?

2024-02-05

トップページの記事を要約化

変更後の差分を表示したVSCodeの画面

モバイル版のCSSには手が届かないことがわかった。モバイル版をデスクトップの設定にするくらいしかどうしようもない。てなことで、まずデスクトップのテーマをモバイル版に寄せることにした。

いろいろググって、このサイトを参考に、テンプレートのXLSTっぽいところにsnippetなコードを挿入し、既存テンプレートのEssentialみたいにしてみた。

各記事が要約化されたトップページの画像

あとは、@mediaでモバイル用のCSSでサイドのパーツ消したりなんなりすればなんとか…?

追記

その後モバイル版にもこちらが編集したテーマが適用され(次の「モバイル版のテーマに手がだせた」がその話)ダークモード切り替えが可能になった。が、トップページの要約化はやりたかったのことの一つなので、これはこれで。

2024-02-02

モバイル版のテーマに手がだせない

モバイルテーマをカスタムに設定してるのに、元のSimple Simpleのままでは?

モバイル版に切り替えるとstyleとして埋め込まれるコードには、テーマ > カスタマイズ > HTML の編集を使って埋めたprefers-color-scheme使ったCSSはどこにも見当たらず、夜になってもダークモードに切り替わらないので煌々と明るく目が痛い。モバイル版styleのコードを編集できないもんかねぇ…

追記

次とその次の話でこの件は解決済み。

2024-02-01

favicon

旧サイトから持ってきていたfaviconを作り直した。

GIMPで作った元データをpngで出力した画像

48,32,16pxの画像を重畳して作るもんだと思っていたが、最近はもう適当でいいのね。なので512pxの原図をGIMPで40pxにしてicoにエクスポートしたのを設定した。旧サイト版は滲みまくってたけど今回のはちゃんと字が読めるくらいになった。

2024-01-29

サイトをダークモード対応こっちでも

とりあえず、ざざざっと対応。okota.cssから設定もってきて適当に。

まだ未対応な要素が山ほど残ってるけど、まあおいおいと…

2024-01-27

Atmos奮戦記

まだこれで完成ってわけでもないが、ひと段落はついた気がしてるので…

Audio MIDI SettingsでAtmos 5.1.2を構成している画像

発端

Apple MusicのDolby Atmos音源をMac miniで聴きたい。Mac miniにつないだAVアンプで再生したい。安価に!

てなことでここ半年ほど四苦八苦してきた。できないことが多すぎる。手元にあるのがAtmos対応だけど7chしかパワーアンプがないやつでAtmosも5.1.2までしかできない安っすいAVアンプ。しかし、多数のスピーカーをまとめて制御するならAVアンプが圧倒的に操作が楽なのでこれを使いたい。

ところが、Mac miniのHDMI出力にAVアンプを接続して音楽を聴くということをAppleは想定していない。そもそもMacのHDMIはディスプレイ用の口だ。Dolby Atmosはラップトップタイプのスピーカーで擬似的にやるか、AirPodsで擬似的にやるかの2択しかない。

Apple Music User Guide: Listen to Spatial Audio in Dolby Atmos in Music on Mac

ちゃうねん。目の前にあるMac miniで!Atmos対応のAVアンプ経由で!実スピーカーで空間オーディオを実現したいねん!

Apple TV 4Kという選択

Apple MusicのAtmos音源をAVアンプで再生には、Apple TV使うってやり方もある。これは操作が面倒。リモコンってのがどうもね。聴いてる最中はMacを操作してるわけで、手を離さずキーボードとトラックパッドで操作したい。そもそもMacのMusic.appに比べてUIも物足りない。

Apple TVと違いMacのMusic.appはHDMIにbitstreamを流してくれない。AtmosをデコードしちゃってMulti ChのPCMになってしまう。なんて余計なことを!とも思うが通常のMacの利用方法を考えりゃ仕方なかろう。MacではMusic.app以外のアプリからも音がでる。Music.appがAtmosをbitstreamで流すには、KodiみたくHDMI占有しちゃって他から音を出さなくするか、Atmos一旦デコードしてMixしてから再エンコードしなきゃいけなくなる。Apple TVはHDMIでテレビに接続して占有して使うことが前提だからね。

とはいえ選択肢が欲しかった。Music.appはDolby AtmosやHi-Res LosslessをbitstreamでHDMIに占有して流し、それ以外の音はMac本体で!って選択肢が。

HDMIでAVアンプ接続

それでもMac miniのHDMIにAVアンプつなげるととりあえず音はでる。Audio MIDI SetupでOutputのFormatを8 ch 24-bit integer 48.0 kHzにすればAVアンプ側はMulti Chだと認識する。Configure Speakers…で配置をAtmos 5.1.2にしてApple MusicのAtmos音源を再生するとサラウンドスピーカーまでは鳴る。Music.appも再生時にAtmosマークを表示する。

Audio MIDI SetupでAVアンプを8ch 24bit 48kHzに設定したところの画像

でもバランスがおかしい。耳近づけるとトップミドルのスピーカーから音していないことがわかる。明らかに重心が後ろに回るし音場が上に広がらない。Audio MIDI SetupのConfigure Speakers…のテストで各スピーカーを鳴らしてみると、Ch 7,8のトップミドルのテスト音がなんとCh 5,6のサラウンドスピーカーからでてくる。そら重心がおかしくもなる。(追記: これは記憶違い。問題はCh 7,8の音がでていないこと。重心がおかしかったのはサラウンドスピーカーが後ろすぎていたから。(追記その2: さらにこれも間違っていた。Atmos奮戦記その2参照のこと。))

いろいろググってみたが、どうやらMacのHDMI出力周りにバグがあるらしい。USB経由でMulti Chなオーディオインターフェイスを通せば5.1.2も7.1.4も取り出せるらしい。が、そういう機器は高い。後段にアンプも必要になる。Multi Chなアンプなんてプロ用は高価だし、民生AVアンプでもMulti Ch入力があるのはハイエンドのものだけ。そこまで金をかけるつもりはないし安価なステレオアンプを複数並べたらそれこそ操作性が死ぬ。

Aggregate Deviceで

Ch 7,8がHDMI経由では取り出せないならそこだけUSBで!ってことで普通のUSB-DACを繋いで、Audio MIDI SetupでAggregate Deviceを構成してみる。Ch 1から6はAVアンプ、Ch 7,8はUSB-DAC。で、USB-DACからの出力をトップミドルスピーカーにつなぐと音がでる!ちゃんと空間オーディオになる!きもちいい!

Audio MIDI SetupでAggregate Deviceを構成したところの画像

が、Aggregate Deviceを使うと時たま音がとぎれる。処理落ちしてる?

HDMIとUSBの異種間構成だからかと思いUSB-DAC同士のAggregate Device組んで試したりもしたが、やっぱり音のとぎれが発生する。どうやらAggregate Deviceの問題っぽい。ググっても似たことぼやいてるのが見当たらなかったのでおま環なのかもしれないが、うちでは確実に発生する。音楽を聴くにおいてこの音のとぎれは時たまであっても気になりすぎる。耐えられない。

そこで、Atmos音源を聴くときは操作性に目をつぶりしばらくはApple TVを使ってた。AVアンプはこういうとき便利。入力を切り替えるだけだから。Apple TVの音聴きながら一時的にMacの音を確認したいとき(twitter動画で音も聞きたいとか)はMacの出力をMac mini自体にすればいい。が…やっぱり面倒。特にApple TVのUIがね…

Loopback

有料アプリである。結構お高い(109USD)。

Rogue Amoeba | Loopback: Cable-Free Audio Routing

これを使えばAudio MIDI SetupのAggregate Deviceと同じことができる。

LoopbackでAVアンプとUSB-DACでAtmos 5.1.2を組んでいる画像

20分の試用期間があるので聞き続けてみると!とぎれない!なんと!

買っちまったよ1万6千円!悩み続けた日々が嘘のようだよ、ほんとに。

安っすいUSB-DACとデジタルアンプと小型スピーカー買い足せばAtmos 7.1.4もできるぞ。

追記

ちょっと画像を増やしたり、てにをはを直したり。

画像中でAVアンプの名前がHP P244とディスプレイの名前になっているのは、HDMI出力をスプリッターで映像と音声に分離し、映像をHP P244へ音声をAVアンプに入れているから。AVアンプの映像出力は別のサブモニターに流している。こうしておくとMacはスプリッターの映像出力側デバイスの名前を使うみたい。なんで分離するかというと安定するから。MacのHDMIを直接AVアンプに入れ、AVアンプの映像出力をディスプレイにしていると(この接続方法ならもちろんMacもAVアンプの名前を認識する)、AVアンプのオンオフの影響が出力先のディスプレイにでるから。うちではMacにディスプレイを3枚つないでおり、1つでも映像信号が乱れると3枚すべてのディスプレイが影響を受けてしまう。ウィンドウの配置やディスプレイの位置関係などなどがパカパカ入れ替わるのだ。スプリッター入れていると一才影響しない。