こんにちは。
ツアマスの第2回大会「RHYTHM LIVE FESTIVAL 2027」が発表されましたね。
概要などを見たら、案外すぐだなあと。
となると準備が必要なわけで、ずっと避けていたリズムライブのスコア計算機とやらに
いよいよ着手しなきゃいけなくなりました。
その最初の段階がそう、採譜ですね。
ありがたいことに、ツアログ(ツアマスのいろいろな情報をまとめている自運用サイト)で
既に譜面データを使わせていただいていたので、そのあたりをベースに考えながら始めたところ、
結局、採譜のほぼ自動化や譜面チェックツールまで構築することになったので紹介します。
まず、今回もチャレンジ部門で挑もうと思っているので、
ひとまずベテラン譜面を作らないとなあと思っていました。
それとは別に、ツアログの譜面ビュワーがマスターしかない状態なので、
同じフォーマットで他の難易度も揃えたいというのもありました。
ただ、動画を見ながら手で譜面を起こすのはしんどい。
ミスもしそうだし、頭が痛くなる作業です。
筐体から録画した動画で、なんとか自動採譜できないか?というところから構築を開始しました。
今回もAIコーディング(Claude Code)にお世話になっています。
自分ではノーコーディングです。
前提として、一定の条件で収録したほうが自動採譜しやすいと思ったので、
リズムライブの設定を以下のように決めて収録しました。
ノーツスピード:15
レーン角度:0
レーン透明度:10
同時押しライン:OFF
COMBO表示:OFF
ノーツエフェクト:OFF
FastSlow表示:OFF
判定表示:OFF
スライダー予告:OFF
SP自動発動:OFF
(最近ツアログにライブ設定値を保存できるようにしたのは、完全にこのための自己都合です。)
採譜用の動画は、サポートセットなしで一切ノーツを叩かないAll Missで収録しています。
キャプチャ機器も統一したほうがいいかなと思い、今回はHey秋葉原で収録しました。
※ゲーム内の会場も軽めのもので固定したほうがよさそうです。適当に武道館でキャプチャしていましたが、たぶんやめたほうがいいです。
※あとたぶんノーツスピードもっと上げた方がいいかもしれないですね。
動画キャプチャから譜面化する際の要件は、
・既存のマスター譜面で使わせてもらっている、boroさんの譜面フォーマットに合わせること
この1点のみです。
理由は、ツアログ上でもそのまま使い回せるから、というくらいです。
boroさんのはエクセル(スプレッドシート)形式で、
ツアログ上ではそちらをjson化しています。
json化の処理は既にツアログ用に存在しているので、
動画データからエクセル化ができればゴールになります。
そんなこんなでAIに指示したら、あっさりβ版が完成しました。
ただ、この時点の譜面はさすがにまだ全然正確ではありません。
どうやってチェックしようかなと考えて、一旦ツアログ上にベテラン譜面を設定し、
ツアログで譜面を流しながら別画面でキャプチャ動画も流して見比べていたのですが、
まったく作業が進まない。右を見たり左を見たり、上下で見比べたり……。
そこでようやく、採譜結果をチェックするツールを作ればいいのでは?と気づきました。
ってことで、以下の要件で採譜チェック用のWebシステムを作りました。
・元動画を流しつつ、採譜した譜面をツアログのように重ねて流す
・採譜が間違っていた場合、システム上で修正できる
・修正した結果を同じフォーマットで保存できる
・ノーツごとにコンボ数を表示する
等々。
作業しながら色々と修正した結果がこちらです。
こんな感じで、裏でリズムライブの動画を流しながら譜面データを重ね、
さらにノーツに音を付けることで、譜面データのズレやミスがないかをチェックしています。
ほかのボタンでは、ノーツ単位でジャンプしたり、フレーム単位で移動したり、
ロングノーツの長さを調整したりなどができます。
基本的にはトライアンドエラーでチェックしていったので、
詰まったところや「こうしてほしい」という点が出てきたら、
AIに確認して間違っている部分を直してもらったり、機能を追加してもらったりしていました。
特に「ロングノーツの長さが一定じゃなくて変」といった検知は、
AIに聞けば教えてくれるので助かりましたね。
システムを組み上げてからはチェックが爆速で終わるようになったので、作ってよかったです。
正しい(と思う)譜面ができたことで自動採譜の精度も上げられたので、
引き続きベテラン以外の譜面も準備できたらと思っています(余裕があれば)。
ひっかかったポイント
キャプチャ動画のフレーム落ち
これによって採譜がずれることがあり、頭を悩ませました。
欠損フレームを自動で特定し、譜面を自動でずらすことで解決しました。
弱点
元のboroさんのマスター譜面ありきのシステムになっているので、
そこの供給が途絶えたら弱体化します。boroさんには最大限の感謝を。
という感じで、ようやくベテラン譜面の準備ができました。
ただ、これはゴールではなくスタート地点なので、
ここから計算機作りをがんばっていきたいと思います。
自動採譜やチェックツールが気になる人は、気軽に聞いてください。
