2024年 01月 25日

ZOOM UAC-232 買った

ZOOM ズーム USBオーディオインターフェース 2イン/2アウト32bitフロート入力対応 2023年発売 UAC-232 - ZOOM(ズーム)

ZOOM(ズーム)

5.0 / 5.0

ミキサーダイアグラム https://zoomcorp.com/manuals/uac-232-ja/image/UAC-232_diagram.svg

入力が Dual ADC でダイナミックレンジが非常に広くとられており、さらに32bit float にAD変換することで入力のクリッピングという概念はほぼなくなる、というもの。最大入力レベルがあるのでクリッピングが完全になくなるわけではないし、SNRを考えればあまり小さな信号も入力できない。しかし、実際のマイクやライン入力に対しては十分なので、録音したものを、あとからなんとかできる範囲はかなり広がる。

こういう変なものにしては意外と値段が安いので買ってしまった。ちょいちょい無駄にオーディオインターフェイス買ってしまう。

いじれるレベルの一覧

INPUT から OUTPUT まででいじれる範囲のメモ。32bit float の場合 USB 入力に関してはどこでいじっても(録音後にいじっても)デジタルなので気にする必要はない。スペック上、入力換算ノイズが-127dBuらしいので、これよりも低ノイズのアナログアンプでなければ前段に繋いでもSNRの向上もない 。とにかく普通のマイクなら直接繋げってこと。

MUSIC モード時 (各入力ソースが個別にUSB入力になり、ダイレクトモニターもチャンネルごとに分離)

1. 入力レベル (デジタル) → Mix Control の左側のやつ。Mix Control の波形から後に影響。USB 入力に関係するのはここだけ。
2. 出力レベル (デジタル) → Mix Control の Level ノブ。ダイレクトモニターの出力に影響する。上げすぎると出力がクリッピングする。
3. 出力レベル (アナログ) → 本体の OUTPUT ノブ。OUPUT 端子の出力電圧を制限する形で働く。フルスケールが 0dBFS 時に +18dBu (=6.153V)

STREAMING モード時 (入力信号がミックスされてUSB入力になる。ダイレクトモニターもミックス結果を聞く)

1. 入力レベル (デジタル) → Mix Control の左側のやつ。Mix Control の波形から後に影響。
2. ミックスレベル (デジタル) → Mix Control の右側のやつ。実質的には入力レベルとやってることは変わらないが、Mic Control で見れる波形に影響しない。USB 入力に関係するのはここまで
3. 出力レベル (アナログ) → 本体の OUTPUT ノブ。OUPUT 端子の出力電圧を制限する形で働く。フルスケールが 0dBFS 時に +18dBu (=6.153V)

出力

追記: ホワイトノイズは接続していない入力側から発生しているようで、Mix Control で接続していないチャンネルのレベルを最小にしてやれば無音ぐらいまでさがることがわかった。

なので以下書いてあることは割とどうでもよく、セオリー通りで以下のようにすればいい

  • Mix Control のレベルはクリップしないぐらいまで安全を見て下げる
  • OUPUT ボリュームは聞きやすいぐらいまで上げる

ダイレクトモニターに関して、ボリュームをどう設定するか問題がある。

本体の OUPUT ノブはまわしきるとホワイトノイズが結構ある。このOUTPUTはDA後、出力直前のアナログボリュームだと思うが出力ゲインが高すぎるのか、DAのノイズ性能なのかよくわからない。 この OUTPUT ボリュームは最大値(+18dBu)からどれぐらい減らすかというものなので、クリッピングという概念はない。

一方、Mix Control で Level を最大にしても、これはデジタル補正なので、ホワイトノイズはほぼ増えない。しかし DA 前のレベルなので、上げすぎて 0dBFS を超えれば、DAでクリップしてしまう。

よって、Mix Control の Level を優先して上げることでSNRを稼ぎ、本体のOUPUTボリュームを適切に設定するということになる。とはいえモニターのホワイトノイズを気にしないなら Mix Control の Level は下げ気味にして、素直にOUTPUTボリュームの調整だけでもいい。

OBS で 32bit float 録音して DaVinci Resolve へ

(Windows 11)

とりえあえず出力フォーマットは 32bit float にする必要がある。

  • 録画フォーマット .mkv
  • 映像エンコーダ NVIDIA NVENC AV1
  • 音声エンコーダ FFmpeg PCM (32-bit float)
  • 音声トラックを必要なだけ選択

としている。これで DaVinci Resolve はマルチトラックを認識してくれるし、32bit float も正しく扱ってくれる。

この状態で「グローバル音声デバイス」で「2-ZOOM UAC-232 Audio」を設定して、録音してみたところクリップしてしまった。OBS 上で表示されるレベルメータも0dBでクリップしている様子が見える。Windows が悪いっぽい?


obs-asio というプラグインを別途入れて、ASIO で入力するように設定すると、クリップせずに正しく扱えるようになった。

2023年 12月 04日

M1 MacBook Air を買った

Windows ラップトップをしばらく探していたがThinkpadが不良だった件が尾をひき、選択肢としては DELL XPS ぐらいしかないがこれもまともなスペックだとかなり高価で購入に踏みきれずにいた。

手元にある MacBook はすべて修理不可レベルに古い機種となっており、しかも一番直近で買った (MacBook Pro Retina Late 2013 なのでいうて10年前の) ものはバッテリーが膨張してキーボードが打ちにくいレベルであった。

ということでとりあえずラップトップが1台もないのは困るので、現行 MacBook の最安である M1 MacBook Air にしてみた。M3 まで出てるのにいまさらという気もするが、それほど必要性が高いわけでもないし一旦これでいいのではないかという気持ち。

スペックはメモリを16GBにしたがSSDは256GB。512GB は欲しかったがなんとかなるだろう……

普通にオンラインの Apple Store で買ったが、ものすごく細かいところが作りこまれてて関心した。

  • 配送: 届きそうな当日になると SMS でメッセージがくる (配送はヤマト運輸だけど、ステータスを Apple 側でトラッキングする実装があるのだろう……)
  • 梱包: 開け口の封がカッターなどがいらないようになっていた
  • 内部ラップ: 本体が入っている白い箱はフィルムで覆われているが、これも開けやすいようになっていた (前から?)


届いでちょっとあせったのは MagSafe がなくて Type-C ポート2つのみというところで、そんなの事前にわかっていただろと言われそうだが、なぜか MagSafe はあると思いこんでいた。

2023年 10月 27日

PowerShell での Junction の作りかた

PowerShell では mklink がない。cmd を経由してもいいが以下でできる。特に管理者権限はいらない。

New-Item -Path D:\Junction -ItemType Junction -Value C:\Path\To\Target

備考: Explorer 上ではショートカットみたいなアイコンがついて区別される。Junction はディレクトリ単位でしかできない。

2023年 07月 29日

新しい BITS ジョブを作成できませんでした (MozillaUpdate による)

BITS ジョブ

現在のジョブ一覧。だいたいこれで悪さしているのはわかる

bitsadmin /list /verbose

ジョブクリア

bitsadmin /reset

BITS って何?

Windows Background Intelligent Service の略。ざっくりいうと Windows がなんかいい感じにダウンロードとかをやってくれるサービス。

イベントビューワでのエラー

イベントビューワで頻繁に以下のようなエラーが出て気になっていた。

新しい BITS ジョブを作成できませんでした。ユーザー Anna\cho45 (60) の現在のジョブ数は、グループ ポリシーを介して指定されたジョブ数の制限 (60) 以上です。この問題を解決するには、エラーを調べて処理が進んでいない BITS ジョブを完了するか取り消し、BITS サービスを再度開始してください。このエラーが再び発生する場合は、システム管理者に連絡して、グループ ポリシーにおける、ユーザー 1 人あたりおよびコンピューター 1 台あたりのジョブ数の上限を増やしてください。

Mozilla

うちの環境だと MozillaUpdate が無限に溜って BITS ジョブを浪費していた。なんでかわからん。Firefox では BITS を使ってアップデートファイルを受信するようになっている

'MozillaUpdate 308046B0AF4A39CB' TRANSFERRED 1 / 1 7348739 / 7348739

https://bugzilla.mozilla.org/show_bug.cgi?id=1856462 "MozillaUpdate causing Windows BITS service overflow (too many BITS operations queued)"

bugzilla にチケットが立っていた。2024-06-03時点で未解決

2023年 07月 21日

メトロノーム

いまいち検索しても気にいったソフトウェアメトロノームがなく (クソほど広告がついているとか、音色が気に入らないとか、無意味なログインを求めるとか)、一方でハードウェアのデジタルメトロノームもいくつか買ってみたがLINE OUTの品質が悪かったりしてヘッドフォンで聞くと不満があったりした。

自分で作るには音色が面倒だなあ、と思っていたが、「SoundFont WebAudio」で検索したところWebAudioFont というのがあり、まさに用途的にちょうど良さそうなのでこれを使ってベーシックなものを作った。

最初の発声タイミング

実装してみると悩むポイントが最初の発声タイミングで、何を重視するかで2つのタイミングがある

  • クリック間の時間を重視するなら、スタートを押した次のタイミングから発声
    • 拍の開始が1クリックずれる
  • スタートを押したタイミングを重視、スタートを押して即時に発声
    • 「即時」が実装上即時ではなく、原理的に最大20ms程度遅れるので、初回~2回目のクリックが不正確になる

今回は後者のスタートを押したタイミングを重視して最初の1クリックの不正確さは許容するという方針にしてある。何らかの音源を鳴らしながら TAP TEMPO で BPM をひろい、音源にあわせてクリックを鳴らしてみるみたいなとき、最初のクリックがずれると難しい。

もっとやるなら音源ごとのアタックのディレイを補正すべきだけどやっていない

2023年 06月 30日

ThinkPad スリープ不具合が修理不可とされ全額返金に……

1月にThinkPad X13 Gen 3 AMD の購入とスリープ後不正終了する問題というのを書いたが、このときはシステムボード交換されて返ってきた。しかしその後、別のスリープ障害が発生して長期に修理することになった。

結論からいうと原因不明・修理不可とされ全額返金対応となった。

症状:スリープから復帰しない

「スリープから復帰しない」にもいろんなパターンがあるが、本件では電源LEDがスリープを示す点滅の状態から、ハードリセット(電源ボタン長押し)以外の方法で復帰も終了もできないというパターン。

複数の条件があるようで、自分が確認した限りだと

  • モダンスリープ中である
    • 休止状態では発生しない
  • Wi-Fi 接続状態である
  • Windows Update のなんらかの処理が発生する(?)
  • 長くスリープする(?)

という感じ。電源を接続している間は休止に入らない、つまりモダンスリープになるため、電源接続状態で1~2日程度放置すると再現する。

修理 2度目 (未修理返却)

1度システムボード交換で修理しているので、そこに続く形で修理依頼をした。2月上旬に修理センター預りとなった。

しかし「修理センターで不具合が再現しない」と言われ「検証状態」が2ヶ月弱続き、3月下旬に未修理で返却される。

しかし返却翌日にこちらで再現。動画で録画。即日、再度修理依頼をした。修理の手配中 (数日間) にまた再現したためこちらも録画。

修理PCのデスクトップに再現した動画をまとめて置いてくれと言われたので、かなり詳細なメモをともに置いて送った。

修理 3度目 (未修理返却)

3月下旬そのまま3度目の修理に送る。

4月下旬になって進捗を訊くと「症状発生を1度確認」といわれる。検証用ストレージに換装して検証といわれる。Lenovo の修理は修理対応画面にコメントを書ける機能がある、ここから進捗を訊いている。

5月中旬になり進捗を訊くと「症状の発生を2回確認」といわれる。メールで若干詳細な報告がくる。「技術部門も含めて確認する」というコメントがくる。

5月下旬になり進捗を訊くと特にないと言われる。もう半年ぐらい預かりだがなんとかならないのか?という旨もつっつく。

突然「初期化して各種アップデートを行って修理完了として出荷する」と言われる。こんなに再現しないとずっと預ってるくせに??とかなり不信感がでたため「確実な再現方法がわかったのか。わかったからアップデートして再現しないことを確認できるようになったのか? 技術部門に確認と言っていたが行ったのか?」という旨を訊いた。これらの対する回答はなし。

これまでは一貫して修理フォームのコメントかメールだったが修理センターから急に電話。要約すると「修理の目処がたっていない。修理センターではなく、レノボ本社での対応となる。了承頂けるのであれば、お客様資産であるPCは一旦返却し、担当者から連絡させる。どういった対応になるかは修理センターではわからない。」 修理センターではこの時点で、修理不能ということしかわからないらしい。選択肢的に修理できる気がしないし保証期間は過ぎていくしで了承するしかない。

「メールじゃだめなんですか?」と訊いたら「こういった要件は電話ですることになっている。別途メールを送ることもできない」という答え。一通り要件が終わったあと、「この内容をメールして欲しい」といったが「できかねます」という回答。不信

返金

修理センターからの電話の翌日、レノボ担当者から電話。保証規定に基いて対応するといちいち言われる。購入してすぐに修理に出しているため初期不良で償却日数(減額)はないと言われる。当たり前。全く使えてないのに減額されたらひどい話。

修理センターから直接レノボ引き取りはできないらしく、一旦返却される。

返金用の申請書が送れれてきたので返送。返送してから3週間で入金された。

感想

結果的に、金出してPC買って、修理の名目で検証用PCとして取り上げられ、当初の金だけが返ってきたという感じ。こっちが検証に使った労力、機会損失とかは返ってこない。

修理対応が特別悪かったとは思わない。ウェブチャットなりなんなりで問合せるとしっかり修理に誘導されるし、ある程度状況はシェアされている。定型の修理なら早い (初回のシステムボード交換は早かった)。一方で技術部門と修理部門は繋っていないようなので、未知の不具合は対応する能力がないし、後半不審な行動があった。

注文から何度か出荷延期し2ヶ月して届いてそこから6ヶ月まったく使えず返金になったのは率直に気分が悪い。まず不具合を認めさせること自体にかなり労力かけてるし、勘弁してほしい。

スリープ復帰しないのは割とよく聞く不具合なので、最初のうちに「同様の件は報告されてないのか」としつこく訊いたが「ない」らしい。

ノートPCのメーカーはそもそも選択肢が少ないのに、残念ながらまたひとつ選択肢が減った。なお NEC も Fujitsu もノートPC部門は Lenovo 傘下である。

2023年 06月 07日

Bryon 750E バッテリー交換

充電中の過熱

充電中に異常過熱していることに気付いた。さわるとかなり熱いと感じるが触れないわけではないので50~60℃程度。

挙動をすこし観察すると以下のような症状になる。

  • 充電時間が異常に長い (充電完了にならない)
  • 充電中過熱する
  • 使用可能時間が異常に短い (40分程度でバッテリーレベル低下警告になる)

購入してから1年半程度、走行距離的には250km程度しか使ってないのでだいぶ萎える状態。おそらくバッテリーかバッテリーの回路がおかしい。

メーカー修理するか

代理店に問合せたところ、バッテリー交換の場合、8500円と1~2ヶ月の預りが必要で、しかも購入店を経由して対応するという回答であった。購入価格が3万円程度なので、微妙なところだが、特に購入店に事情を説明して送ったりするのが、あまりにも面倒くさい。

同じぐらいの価格の Nintendo Switch が5000円弱+往路送料でメーカー直送の修理であることを考えるとかなり微妙。

自分で修理する

9割ぐらい廃棄の気持ちだったので、一旦分解して様子を見てみることにした。このモデルは表面にビスがなく、スマフォのようにタッチパネルが表面テープで接着されている。

あけてみると案の定、バッテリーがかなり膨らんでいた。

バッテリーなしで使えるか

なおバッテリーがついてない状態でもUSBを繋いでいると動かすことができる。この場合、バッテリーの充電表記はでるが充電されていない。電源をオフにするとバッテリーが満タンであるという表示になる。

電源供給を失っても液晶の表示がしばらく消えないのでバッテリーの接触不良に注意。

リブート方法

バッテリーを繋いでからディスプレイを繋ぐことになる。ディスプレイの初期化に失敗した状態だと画面が真っ白でなにも表示されなかったりする。この場合4つのボタンを同時押しするとハードリブートするのでなおる。

Bryton (ブライトン) Rider 750 ライダー750 GPSサイクルコンピューター サイコン (750E) - ブライトン(Bryton)

ブライトン(Bryton)

3.0 / 5.0

2023年 01月 24日

raspi で確実に電源断できるタイミングをLEDで知る

dtoverlay=gpio-poweroff 使うのが確実っぽいが若干クセがある。

https://github.com/raspberrypi/firmware/blob/master/boot/overlays/README

dtoverlay=gpio-poweroff,gpiopin=26,active_low=1,timeout_ms=60000

timeout_ms はデフォルトだと3秒になっている。別にこれでもいいのだが、仕様上、timeout_ms 以内に電源断しなければカーネルがWARNを吐いて未定義動作になるとされている (別にそうなったからといってほぼ問題ないだろうが)。理想的にはraspiへの電源供給をしている電源のEN端子とかに繋ぐんだろう。

raspi は1ピンあたりの絶対最大定格電流は3.3Vだと17mA程度となっているので、LED を直接繋ぐ場合10mA程度に収めるほうが良いだろうと思う。高輝度LEDなら十分明るい。

DNS HTTPS レコードを確認する

dig lowreal.net type65 で存在は確認できるがパースしてくれない。dns.google 使うのが簡単っぽい。JSON でパース済みの結果をかえしてくれる (ただし設定されている値そのままではなく、パースした結果を再構成したものが表示される)

https://dns.google/resolve?name=lowreal.net&type=HTTPS

ssh-keygen

https://lowreal.net/2018/08/02/2 ecdsa 521bit を使っているが ed25519 (256bit固定) のほうが安全性もパフォーマンスも良いらしい。一方で 2014年1月の OpenSSH 6.5 から導入されたため古い実装で使えない

ssh-keygen -t ed25519