ところが、立派なカラー液晶を搭載しているのに、ジャケットイメージが出ない。それはアリエナイだろう......せっかくタグ付けツールを自作したのに......いや、でも、PSPだと出てるんだよなぁ。何が条件だ?微妙なタグの仕様をアレコレしても変化なし。......てなわけで、オチは「progressiveなjpeg形式には対応していない」なのでした。gimpでprogressive形式を落としてやるとバッチリ......ところが、こんどはヘタな縮小処理が気になりだした。えーい、ドットバイドットで表示できるように事前処理してやんよ。「64x64」と当たりをつけ、格子模様のmp3を転送してみたがモアレた。モアレの様子を見つつ、あれこれ試行錯誤したら「76x68」であることが判明。結局、progressive形式の落としついでに、convertで変換するのがベストな方法のようだ。アスペクト比を保ちつつ、黒縁を足す処理を入れたら、以下のコマンドになった。jacket.jpgこれでバッチリだ。パッケージを置いておく。それにしても、このX52、非常に軽く、材質はプラながら仕上がりに粗いところがなく、スイッチやUIの反応も悪くなく、なかなか素晴らしいプロダクトである。ちなみに、動画も再生できるということで、ちょっと試してみたが、amvという独自のファイル形式に変換する必要があり、なかなかに敷居が高い。Windows用のツールは添付されているのだが。情報を探し回りロシアまで訪れて、さんざん試行錯誤したところ、ffmpeg-amvというツールで変換でき、再生することに成功した。変換ツールの使い方の問題なのか、画質がワルプルギスの夜である。madoka01-01-13.amvまぁ、なにせ128x128なんで、シャレ程度の機能ではあるのだけれどね。ウェブカムを再生する2年チョイ前、ロードスターへのアオリ対策として「リアに付けるドラレコ気取りダミーカメラ」を手配した。その実体は、アリエクで見つけた「安い割に見た目がハデなウェブカメラ」である。ダミーにしても別に惜しくもない値段である。そのままの形でロードスターのエアロボードの上にくっつけていたのだが、垂れているUSBケーブルが邪魔なので、ある時、思い切って数cm残して切断してしまった。今後、ウェブカメラとして使うことはないだろう、という判断だった。このコロナのご時世である。友人と、いま流行りの「リモート呑み会」でもやろうかという話になったところで、マトモなウェブカメラを持っていないことに気づいた。ノートPCの上にはあるのだが、デスクトップ環境でやりたいのだ。ところが、買おうにも、みな同じことを考えているから、値段が高騰してしまっている。そこで、ダミーカメラを改めて復活してみようと思いついた。ロードスターから外してきて、状態を確認する。うーむ、ケーブルは、ニッパで無造作に切断されている。いえ数cmは残っているので、ピンヘッダでコネクタを作ってしまおう。実に久々にハンダゴテを温めるなぁ。カメラ側からはケーブルが6本も出ている。4本はUSBとしても、残りの青と黄はなんだ?青はLEDにつながっているようだ。+5Vを与えると白色光で撮影対象物をかなり強く照らしてくれる。黄は不明だが、この2本はUSBコネクタに配線する場所がないわけで、その意図は不明である。んが、もっと不明なのは、カメラ正面右の銀のボタン。スチル撮影用っぽいアイコンが刻まれているが、中を開けると、ボタンの裏にあるのは何も配線されていないタクトスイッチである。中華品質というか、なんというか。ついでなので完全にバラし、鏡筒とレンズの接着を直したり、レンズを磨いたりしつつ、ケーブルをハンダ付け、USBデバイスとして再生してやる。ちなみに、このカメラのレンズ部分はマニュアルフォーカスとなっており、鏡筒をヒネることでフォーカス位置を調整できる。値段の割に鮮明で発色も悪くない。マイクも生きているようである。ノイズが多すぎて使う気にはならないが。ついでなので、LEDを光らせるケーブルを作ってやる。実にバラック的だが、まぁ、十分に役に立つ。LEDの光は強すぎるので、自分の顔を映すのであれば、なんらかのデフューザを付与してやらないとキビしいが。いうわけで、ディスプレイの右上に取りつけてやる。Zoomを立ち上げるが、十分に実用的な画像品質が得られた。工房のゴチャゴチャした背景まで映りすぎるので、背後にブツ撮り様の灰色の布を垂らしてやったら、思った以上にイイ感じである。あとは、明日の「リモート呑み会」の本番を待つばかりであるッ!!しかし、全国的に緊急事態宣言が出てしまった。そのせいか、近所の行きつけのカラオケ屋の営業予定も二転三転した挙げ句、週末は閉店ということになってしまった。歌い続けなければ、辛いくらいになってしまっているのに。歌で戦争を終わらせることが目標なのに、戦争どころか伝染病で歌が終わってしまう状態ではないか。リモートお茶会、呑み会、決行、結構リモート呑み会に先立ち、リモートお茶会もやったのだが、普段、歌の練習に使っているPCMレコーダが思いのほか役に立ってしまった。PulseAudioでBGM付きリモート呑み会にリモートお茶会も、リモート呑み会も楽しく実行できたのだが、ひとつだけ物足りなかったことが、BGMを流せないことだった。Zoomにはサウンドの共有機能があるのだが、音声がブツブツと切れてしまう症状が、どちらの会でも出てしまい、音楽として楽しむことができないレベルであった。別にBGMが必須というわけではないのだが、以前、アニソンのサビのメドレー動画を肴に酒を呑んだのが意外と楽しかったのだよな。それに、BGMは基本的に流しっぱなしにするので、会話の流れで「おっ。この曲さぁ...」みたいに会話が弾む材料になるのも期待できる。やるなら、実際に部屋に曲を流し、マイクから入力するという方法もあろうが、やはりそれでは音質の低下は激しいであろう。考えれば、Linuxのデスクトップ環境では、ずいぶん前からPulseAudioというソフトウェアミキサが標準となっている。そいつを使えば、Zoomに渡す前のマイク音声にBGMをミキシングすることくらい、できそうなもんだ。そもそも自分はPCのサウンド機構に非常に疎い。ひとつ、これを機にガッツリと勉強してみるか。いうわけで、ガッツリ勉強して、ガッツリ理解したつもりになった。覚え書きも兼ねて、ガッツリと解説してみることにする。ウチのメインマシンであるノートパソコンの起動時の状態を図示すると、以下のようになる。ThinkPadA285をドッキングステーションに載せ、デスクトップ化した状態だ。この状態だと2系統のサウンド入出力ハードウェアが存在することが読み取れる。ひとつは上側のドッキングステーションの機構だ。出入口はステレオ出力+マイク入力の4極の3.5mmジャックである。monitor」というのが気になるが、それを無視すれば、非常に単純明快である。ひとつが下側のノートPC本体の機構だ。出入口は同じくステレオ出力+マイク入力の4極の3.5mmジャックであるが、そこに挿入していない場合、ビルトインのスピーカと、ビルトインのマイクが有効になるのだ。monitor」を無視すれば、非常によくある構図である。このように2系統のサウンドが存在していても、通常はどこか1箇所から入出力すればいいわけで、そのためにデフォルト入力と、デフォルト出力というものが設定できる。どちらかの系統に統一する必要はないが、現状、入出力とも本体側に設定してあり、ふたつの★はそれを示している。この状態は、PulseAudioのpacmdコマンドにより、以下のように確認することができる。アナログステレオ"さて、ここで録音アプリケーションや、再生アプリケーションを実行すると、以下のようになる。録音アプリケーションは、デフォルト入力からの音声をファイルに記録する。再生アプリケーション、いわゆるメディアプレーヤは、mp3ファイルなどの楽曲をデフォルト出力で演奏するわけだ。昨今よくあるリモート会議ソフトウェアを実行すると、以下のようになる。一般にウェブカメラを接続するのが常であり、それには音声入力用のマイクも備わっている場合が多いが、通常はそれでなく、ヘッドセットを使うことだろう。今回は、本体のジャックにヘッドセットをつないだ想定である。リモート会議ソフトウェアによってはソフト側で、入出力ポートを選ぶこともできるだろうが、通常はデフォルト入力と、デフォルト出力が選択され、その両方を同時に使うことになる。自分の発言はヘッドセットのマイクを通じてネットの向こうの相手へ、相手の発言はネットからヘッドセットを通じて耳へ、というわけである。問題はここからなのだが、それに先立って、普段、歌の練習に使っているPCMレコーダ「DR-05X」をUSB接続してみる。先代の「DR-05」との違いのひとつが、この「PCとつなぐとサウンドデバイスになる」という点なのであった。一体、どんな時に使うのかと思っていたのだが、こういう時に使うのである。接続すると以下のようになる。図のスペースの問題で、本体の機構はカットしたが、ちょうど入れ替わる形になった。USB接続をしているのものの、機構上は同じものということである。その上で何をしたいかというと、自分の発言にメディアプレーヤの出力するBGMを混ぜ、ネットの向こうの相手へ送りたいわけだ。シンプルに考えると、図のようになるわけだが、このようなことはできない。ヌルデバイスの登場である。下にあるのがヌルデバイス。この追加は、何らかの物理的なデバイスを接続するわけではなく、以下のようなコマンドひとつでできる。sink_name=null.music今回は、BGMを流すのに使うということで「null.music」という名前を付けたが、ヌルデバイスがどんなものかというと、出力側の「null.music」に出力した音声が、入力側の「null.music.monitor」から出てくるので、それを入力に利用できる、というものである。先ほどから気になっていた「xxxx.monitor」というのは、いずれも対応する出力先のデバイスに出力した音声を入力に利用できる、モニタデバイスというものなのだ。YouTubeを再生しながら、その音声をデジタル録音したりすることに使えるわけだ。それを使うためには、もうひとつ重要な概念がある。ループバックとは、入力を出力に結びつけるものだ。ヌルデバイスには、出力がないので、ループバックで入力を別の出力に結びつける以外の使いみちはない。結びつける際、ひとつの入力を複数の出力に結びつけてもいいし、複数の入力をひとつの出力に結びつけてもいい、というルールがある。これだ、欲しかったのは。一気に状況は加速する。「null.mic_music」というヌルデバイスを追加し、ループバックでマイクの入力とメディアプレーヤの入力を、同じヌルデバイスに結びつけてやる。その上で、そのヌルデバイスのモニタデバイスの出力をリモート会議ソフトウェアに送ってやるのだ。