youtab

動画ファイルを渡すと、画面のタブ譜が 1 枚の楽譜になる

「TAB 譜付き」の演奏動画は、画面に写るタブ譜が数小節ずつ流れていきます。youtab は、手元に用意した動画ファイルからそれを最初から最後まで拾い集めて、再生もダウンロードもできる 1 枚の楽譜にまとめます。画像を扱う部分は youtab 自身が受け持ちます。数字やリズムを読む部分は、あなたの Claude Code か Codex(どちらも、パソコンの中で作業をこなす AI。以下「AI」)が受け持ちます。紙の楽譜(バンドスコア)の写真や PDF からも書き起こせます(下の紙の楽譜のとき)。

TAB
6 本の弦の線と、その上に乗ったフレット番号 5 0 0 7 0 0 7 5 0 7 5 0 7 5 2 0 2 0 7 0 7 0 9 7 9 7 12

上から 1 弦〜6 弦。数字は押さえるフレット。これを「どの弦の、何フレットを、どの長さで」の並びとして読み取ります。

全体の流れ

7 つの段を順に進む

画面で動画ファイルを選んで「タブ譜を作る」を押すと、この 7 段が自動で進みます。途中で失敗しても、その段からやり直せます。紙の楽譜は 3 の段から流れが分かれます(下の紙の楽譜のとき)。

youtab(画像処理とルール) AI(Claude Code か Codex)
  1. youtab動画の取り込み手元の動画ファイルを確かめて作業フォルダへadd
  2. youtab画像の切り出し1 秒に 1 枚の静止画frames
  3. youtab帯と線の検出タブ譜の場所と 6 本の弦の位置strip
  4. youtabページ分け画面が切り替わるごとの拡大画像pages
  5. AI読み取り小節ごとの楽譜データ(alphaTex)read
  6. youtabタブ譜の組み立て検査して 1 枚の楽譜(HTML)にbuild
  7. youtab時刻の照合動画の時刻と楽譜の時刻を比べるverify

AI が受け持つのは 5 の「読み取り」だけです。取り込み・切り出し・検出・組み立て・照合は、決まったルールで youtab が行うので、何度やっても同じ結果になります。

段ごとの中身

それぞれの段で何をしているか

1・2

取り込みと切り出し

youtab + ffmpeg
  • 手元の動画ファイル(.mp4 .m4v .mov .webm .mkv .avi、4 GB まで)を、画面で選ぶか、コマンドの youtab add で受け取ります。ffmpeg(動画を画像に切り出すソフト。セットアップで入れます)で映像が入っていることを確かめてから、新しい作業フォルダ(曲ごとに画像や結果を置くフォルダ)に取り込みます。
  • 動画から 1 秒に 1 枚ずつ静止画を切り出します。この 1 枚 1 枚を「フレーム」と呼びます。ファイル名に番号と時刻が入ります(例 0154_02m33s000.png)。
  • ffmpeg は渡された動画ファイルを読むだけで、ネットにも、ほかのファイルにも触れません。
  • 手元の画像フォルダや、画像をまとめた ZIP も取り込めます。
  • 紙の楽譜の写真(PNG・JPEG)・PDF・写真の ZIP は、時刻を持たないページの画像として取り込みます(PDF は、セットアップで一緒に入る部品でページごとの画像にします)。

なぜ画質が大事か 画質の低い動画(360p など)だとタブの数字がとても小さく写り、6 と 8 を見分けにくいためです。フル HD(1080p)ほどの動画を使ってください。

3

帯と線の検出

youtab

画像を上から 1 行ずつ見て、「すぐ上と下の両方より濃い点」が横にどれだけ並ぶかを数えます。弦の線は横いっぱいに続くので、その行だけ値が高くなります。

行ごとの線の強さのグラフ。等間隔の 6 本がタブ、狭い間隔の 5 本は五線 上下 五線(5 本)→ 除く 等間隔の 6 本 → タブ(1〜6 弦)
横軸は画面の上から下、縦棒は線の強さ。数字だけの行は低いまま。
  • 等間隔に並んだ 6 本の山をタブ譜とみなします。五線(5 本)は混ざりません。
  • タブの線の間の地の色が続く範囲を「帯」とし、小節番号や五線もその中に入れます。
  • 白地に灰色の薄い線、暗い地に明るい線のどちらにも対応します。
4

ページ分け

youtab

帯の中の「インク」(地の色と大きく違う点。数字や線など)を、今のページの最初の画像と比べます。差が大きくなったら次のページです。

  • ページ送り: 帯全体が一気に変わるので、差がはっきり大きい。
  • 横スクロール: 差は中くらいですが、帯を横にずらして重ねると差が縮む。これでスクロールだと分かります。
  • 演奏位置の枠や、今弾いている音の色替え: 差は一部だけで、ずらすとかえって差が広がるので、ページとは数えません。

ページごとに、弦の線の間隔が一定の大きさ(画面の点で約 30 個ぶん)になるまで拡大し、左の余白に弦の番号を書き込みます。数字がどの弦に乗っているかを取り違えないためです。

なぜ弦の番号を書き込むか 手で読んでいたとき、線 1 本ずれて別の弦と読む間違いが実際に起きたからです。

5

読み取り

AI(Claude Code / Codex)

拡大画像を見て、小節ごとに「どの弦の何フレットを、どの長さで」を楽譜データ(alphaTex。楽譜を文字で書き表す書き方)に書きます。リズムは五線の音符か、タブの下の棒と連桁の本数で読みます。

(5.5 0.6).8  (0.6).8  (7.5 0.6).8  …
5.5
5 弦の 5 フレット(フレット.弦)
(5.5 0.6)
同時に鳴らす音(和音)
.8
8 分音符。1 小節の合計が拍子ちょうどになるよう読む

なぜここだけ AI か 数字の場所は画像処理で分かりますが、リズム(付点・休符・連符)や記号(繰り返し、パームミュート、チョーキング)の意味を決めるには、文脈を見た判断が要るからです。

6

タブ譜の組み立て

youtab
  • 分けて読んだ結果をつなぎ、1 小節ずつ検査します。1 小節の長さが拍子と合うか、タイ(前の音から伸ばす印)のつながり先があるか、記号の書き方が決まりどおりか。
  • 抜けた小節や、重ねて読んだ小節で答えが食い違う所があれば、先へ進まずに AI に直させます。
  • 通れば、ブラウザで開ける 1 つのファイル(HTML)にします。楽譜を描いて鳴らす仕組み(alphaTab)もファイルの中に入っているので、ネットにつながっていなくても表示できます。再生もできますが、再生に使う楽器の音のデータだけはネットから読み込みます。
7

時刻の照合

youtab

繰り返し記号(「7x」など)とテンポの変化を反映して、小節を実際の演奏順に並べ直し、各小節が何秒目に鳴り始めるかを計算します。それを「このページが出たのは何秒目か」と比べて、ずれがないかを確かめます。

何が分かるか 繰り返しの回数やテンポの読み違いは、音だけ見ても気づきにくいのですが、時刻がずれるので見つけられます。

紙の楽譜のとき

楽譜にあるパートを選んでから読む

バンドスコアのように、1 ページに何本もの楽器が並んだ紙の楽譜も書き起こせます。写真・PDF・写真の ZIP、紙をめくりながら撮った動画を渡すと、AI が楽譜にあるパートを洗い出して止まります。書き起こすパートを選ぶと、その段だけを切り出して読みます。

youtab AI あなた
  1. youtab取り込み写真・PDF・ZIP はページの画像に。動画は 1 秒 1 枚に
  2. youtab紙か画面かを見分ける動画だけ。タブが見えたフレームの割合で決める(AI は使わない)
  3. AIパートの洗い出し楽譜に書かれたパート名・TAB の有無・弦数の見込み
  4. あなたパートを選ぶ「パートの選択待ち」で止まるので、一覧から選ぶ
  5. AI段を選ぶページの重複を除き、選んだパートの段を選ぶ
  6. youtab段の補正と拡大紙の曲がりを伸ばし、線の間隔をそろえる
  7. AI読み取り段の拡大画像と元のページを見て読む
  8. youtabタブ譜の組み立て動画のときと同じ検査をして 1 枚の楽譜に
紙の曲がりで弧を描いた TAB の 6 本の線を、まっすぐで等間隔な 6 本の線に直す図 →
本の綴じ目に近いほど線が曲がり、間隔も変わる。線を何か所かで追って、段ごとにまっすぐ・等間隔に直す。
読み取りの分担

ページを分けて同時に読み、境目は重ねて読む

長い曲は、ページをいくつかのまとまりに分け、まとまりごとに AI を起動して同時に読ませます(最大 4 つ)。となり合うまとまりは境目のページを両方で読むので、2 つの答えが合うかどうかで読み違いに気づけます。

38 ページを 4 つのまとまり(A から D)に分け、境目の 1 ページを重ねて読む図と、そのあとの検査とまとめ役の AI の流れ ページ 138 A(1〜11) B(11〜20) C(20〜29) D(29〜38) 重ねて読む重ねて読む重ねて読む 検査の誤り → 担当の AI に直させる 食い違い・抜け → まとめ役の AI が画像を見直す AI が何も書かなかった → 1 回だけ読み直させる

食い違いや抜けは、まとめ役の AI(つなぎ目の問題を解くために別に起動する AI)が画像を見直して解きます。決め手は、数字がどの線に乗っているか(弦の位置)と、和音として自然か(構成音・キー)です。解いた答えは最初の読み取り結果とは別に残るので、あとから見直せます。

AI は最後に短い報告(書いた小節、自信のない所、曲の構成、直した小節)を日本語で返します。画面では、この報告を読みやすく整えて表示します。

安全の仕組み

AI には、できることを絞っている

読み取りでは、youtab があなたの Claude Code / Codex を裏で起動します。普段の設定のまま動かすと何でもできてしまうので、起動のしかたで、できることを絞っています。

許していること

  • その曲の作業フォルダの中のファイルを読む
  • 決まった結果のファイルにだけ書く
  • youtab の検査と拡大を使う。どちらも作業フォルダの外には触れません

止めていること

  • 作業フォルダの外のファイルを書き換える
  • インターネットにつなぐ
  • 作業フォルダの外のファイルを読む・ほかのプログラムを動かす(Codex では、この 2 つは止めきれません)
  • あなたの普段の設定を引き継ぐ。普段の設定を書き換えることもしません

モデル(Claude Code / Codex の中で使う AI の種類)と推論の強さ(AI がどれだけ時間をかけて考えるか。強いほど丁寧になりやすいが、遅く、利用枠も多く使う)だけは、画面で選んだ値か、選ばなければ普段の値を使います。どちらの AI も、あなたがログインしている Claude Code / Codex の利用枠(契約プランで使える量)で動きます。詳しい説明は 安全のしくみ(docs/safety.md) にあります。

できあがり

見る・鳴らす・持ち出す

できあがった楽譜は画面の中でそのまま表示・再生でき、いくつかの形式でダウンロードできます。

形式使いみち
HTMLブラウザで開く 1 つのファイル。ネットにつながっていなくても表示できる。再生・自動スクロール付き
Guitar Pro(.gp)Guitar Pro・TuxGuitar・MuseScore などで開いて編集・練習する
MIDI(.mid)音楽制作ソフト(GarageBand など)や練習アプリで鳴らす
alphaTexyoutab が楽譜を作るときの、文字で書いた楽譜のデータ
印刷 / PDFブラウザの印刷から紙や PDF に
試した結果

演奏動画 1 本(1080p)で試した結果

同じ曲を人が手で書き起こした楽譜を正解として、小節ごとに比べました。

38
ページ(画面の切り替わり)
約 3 分
読み取りにかかった時間(4 つに分けて同時に読んだとき)
107/107
小節で、音と長さが手作業と一致
±1 秒
動画の時刻とのずれ(ほとんどの小節)

一致しなかったのは、パームミュートの付け方と、テンポ変化を書く位置が 1 拍ずれた所だけでした。それでも読み違いがありえるので、元の動画と照らして使ってください。

使い方

画面から使う・コマンドで使う

画面を使うときも、開くまでは下のコマンド(文字で打ち込む命令)を使います。Mac の「ターミナル」というアプリで、youtab のフォルダに移ってから入力します。最初の準備(ダウンロードとセットアップ)と入力のしかたは README(youtab の説明書きのページ)にあります。

# 画面を開く(ブラウザで http://127.0.0.1:8765/ 。あなたのパソコンの中だけで動き、ネットには公開されない)
uv run youtab serve

# 画面を使わずに、同じ流れを通しで
uv run youtab run 動画.mp4

# 読み取りのモデルと推論の強さを選ぶこともできる(画面でも選べる。選ばなければ普段の設定)
uv run youtab run 動画.mp4 --model opus --effort max

# 紙の楽譜(写真・PDF・ZIP・紙を撮った動画)。パートの選択待ちで止まるので、表示された名前で続ける
uv run youtab run 楽譜.pdf
uv run youtab run ID --part 'Guitar II'

# 段ごとに動かすこともできる(ID は、取り込んだときに表示される曲ごとの名前)
uv run youtab add 動画.mp4 / frames ID / strip ID / pages ID / check ID / build ID / verify ID

曲ごとの作業フォルダには、次のファイルができます。ふだんは開かなくて構いません(できあがった楽譜は画面から見られます)。

作業フォルダ work/<ID>/中身
video.*取り込んだ動画
frames/1 秒 1 枚の画像
pages/ページごとの拡大画像と一覧(index.md)
parts/AI の読み取り結果(分けて読んだまとまりごと)
resolve.jsonまとめ役の AI が解いた小節
readers/AI の報告と、ページごとの最初の小節の番号
job.json / job.log段ごとの進み具合と記録
<ID>.htmlできあがった楽譜

動画・画像・楽譜は、youtab のフォルダの中の work/ に保存されます。youtab の本体とは別に置かれ、どこかへ公開されることはありません(AI には、読み取りのときに画像を見せます)。要らなくなった曲は、画面の「この曲を消す」で作業フォルダごと消せます(元に戻せません)。

詳しい使い方は README と、画面の使い方・紙の楽譜から書き起こす・読み取りのモデルと推論の強さ・コマンド にあります。