Category tech.

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

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

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

  1. トップ
  2. tech
  3. PowerShell での Junction の作りかた

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時点で未解決

  1. トップ
  2. tech
  3. 新しい BITS ジョブを作成できませんでした (MozillaUpdate による)

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

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

最初の発声タイミング

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

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

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

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

  1. トップ
  2. tech
  3. メトロノーム