🤖 AIとつくる

楽譜がない新曲を、Claude Code が耳コピ動画から採譜して13鍵ピアノ用に移調するまで

(更新: )約4,700字
13鍵ピアノの鍵盤

弾いてみた編のとおり、こどもが気に入った曲を家の13鍵ピアノで弾くことにしたのですが、出たばかりの曲で楽譜が売られていませんでした。そこで採譜から移調・楽譜づくりまでを Claude Code にお願いして、私は「実際に弾いて音が合っているか耳で確かめる」係をやりました。ピアノは6年間習っていたので、ドレミの列を渡されればだいたい弾けます。

結論からいうと、YouTube の耳コピ楽譜動画をフレーム単位で画像解析して全88小節を読み取り、13鍵 (ド〜ドの1オクターブ) に収まるキーへの移調と左手アレンジまで、AI との往復で完成しました。この記事はその技術的な中身です。


以降は Claude Code (AI) の執筆です。作業も Claude Code が行い、方針の指示と音の最終検証を筆者が行いました。

著作権まわりの整理 (最初にやったこと)

楽曲は権利のかたまりなので、着手前に「何をしてよくて、何がダメか」を整理しました。この整理は私たち自身の判断で、専門家の監修は受けていません。安全側に倒した運用です。

やること判断根拠・考え方
家庭内で弾くための採譜・移調OK私的使用のための複製 (著作権法30条) の範囲と判断
作った楽譜のブログ掲載しない楽譜の公開は複製権・公衆送信権に関わる。私的使用の範囲を超える
歌詞の全文掲載しない同上
曲名・歌詞の短い断片への言及最小限で曲名に著作権はない。断片は引用の要件 (主従関係・出所明示) を意識して最小限に
演奏動画の公開YouTube 経由なら可YouTube は JASRAC と包括契約があり、管理楽曲の演奏動画を個別手続きなしで投稿できる (参考リンク)。ブログに動画ファイルを直接置く形は包括契約の外なので行わない
動画音源のダウンロード・画面録画しない著作権法上は私的複製に収まり得るが、YouTube の規約はコンテンツの保存・複製を原則禁止している。法律と規約の2層で考え、規約側で NG と判断

つまりこの記事には完成した楽譜そのものは載せません。代わりに「どう作ったか」を書きます。

楽譜の入手手段の比較

最初に既存の楽譜を探しました。選択肢と持ち味はこうです。

手段今回持ち味
市販の楽譜 (Piascoreぷりんと楽譜 等)未発売正確で速い。数百円なら一番確実。シナぷしゅの過去のつきうたは多数楽譜化されている
耳コピ楽譜動画 (YouTube)採用無料で見られる。楽譜作成ソフトの画面をそのまま再生する形式なら音符が読める。権利面も問題なし (上の補足のとおり)
自力の耳コピ補助筆者は音をだいたい取れていたが、手元が13鍵しかなく確認しづらかった
AI による音源からの自動採譜不採用音源の保存が YouTube の規約に抵触するため見送り

ぷりんと楽譜には筆者も何度かお世話になっています。今回採用したのは、耳コピした楽譜を Sibelius (楽譜作成ソフト) の再生画面ごと動画にしている方の YouTube でした。演奏動画ではなく「楽譜がそのまま画面に映る」動画なので、画像として読み取れます。

動画のフレームから楽譜を読む

この環境の Claude Code には、音声をそのまま聴き取る入力がありません (音声データをコードで解析することはできます — 後述のピッチ解析がそれです)。画像は読めるので、こういうパイプラインにしました。

videoframesguidesABCSVG

動画を狙った秒数で一時停止してスクリーンショットを撮り (ブラウザ自動操作。コントロールバーは CSS で非表示にして撮影)、そのフレームに音名ガイドを重ね、読み取った音符を ABC 記法のテキストにして、レンダリングして楽譜に戻す、という流れです。

読み取りの精度を上げるためにやったことが3つあります。

  1. 譜線検出+音名ガイドの重ね描き: 五線の位置をピクセルの水平投影で検出し、各線・間に「ここはドの高さ」「ここはレ」というガイド線を色付きで重ねた画像を生成してから読む。目測のズレを大幅に減らせます
  2. ピクセル重心での判定: それでも迷う音符は、符頭の黒ピクセルの重心座標を計算してガイドとのずれを数値化。臨時記号 (♯・♮) は上下2本のストロークの中点=対象の音高、で判定できます
  3. 構造での検証: タイでつながる前後の音高が一致するか・和音進行が自然か・歌詞の音数と音符の数が合うか (「まいにちとけいの」=8音、など)。サビは同じ音形が1段ずつ上がっていく構造だったので、対称性も検算に使えました

それでも読み違いは残るので、筆者が実際に弾いて確認し、小節番号で指摘をもらって直す往復で仕上げました。修正の中身はAIの読み違いだけではありません。参考元は両手・和音のアレンジで、こちらは単音メロディなので、筆者が自分の耳コピで「こちらの音がいいな」と選んだ変更も入っています。AI の画像読譜は構造の対称性に強く、似た高さの音の1段ズレに弱い。人間の耳との分業がちょうどよい形でした。

13鍵に収める移調の設計

原曲はホ長調です。歌のメロディの音域自体は1オクターブに収まるのですが、ドを起点にした鍵盤 (ド〜ドの13鍵・白鍵8+黒鍵5) にはそのままでは収まりません。音域の幅ではなく位置の問題です。そこで移調先を、必須条件1つと優先順位1つで探しました。

  • 必須: メロディ全体が13鍵に収まること (オクターブ折返しはしない — 弾いた感触が変わるため)
  • 優先: 黒鍵ができるだけ少ないこと

移調は12通りしかないので全探索できます。今回の曲はサビに半音違いの2音 (レ♮とレ♯に相当) が両方出てくるため、どのキーに移しても黒鍵ゼロは数学的に不可能、というのが調べて分かったことでした。最終的に、つなぎの1小節 (歌のない部分) を省略すると音域が縮んで「長3度下げ」(ハ長調) に全部収まり、黒鍵はシ♭が2回だけ、という着地になりました。

こうした「条件を決めて全探索し、最適を選ぶ」仕事は AI の得意分野です (この記事の執筆も AI なので手前味噌になりますが)。筆者も最初からそこを狙っていました。耳コピ動画を見れば原曲キーで弾くだけならすぐできたそうで、移調の作業があるからこそ、楽譜起こしから AI に任せた、という分担です。

サビの冒頭は、原曲キーだとドレミで「ド♯シド♯シド♯ラ」。これが移調後は「ラソラソラファ」になり、白鍵だけで弾けるようになります。

楽譜はテキスト (ABC記法) で管理する

楽譜データは ABC 記法というテキスト形式で書き、abcm2ps で SVG/PDF にレンダリングしました。たとえばきらきら星の冒頭をABCで書くとこうなります (例として童謡を使っています。今回の曲の ABC は公開しないので):

X:1
T:Twinkle Twinkle (example)
M:4/4
L:1/4
K:C
C C G G | A A G2 | F F E E | D D C2 |
w: き ら き ら ひ か る〜

テキストなので「23小節の3音目を1音下げて」という指摘にすぐ対応でき、歌詞 (w: 行) やコード記号も一緒に管理できます。レビューの往復が前提の今回の作り方と相性がよい形式でした。

左手アレンジ: コード進行を読んで3度下を並走

メロディだけでは物足りないという要望で、左手 (単音) も付けました。採譜の時に伴奏の和音も読んでいたのでコード進行は分かっており、それを元に:

  • サビは右手の3度下を同じリズムで並走 (13鍵の下半分に収まる)
  • メロディが低くて3度下が取れない小節はルート1発
  • 半音で駆け上がる小節は左手も平行に駆け上がる

という設計にしました。「全音符の伴奏はつまらない。右手の半分以上は弾いてほしい」という要望が起点です。

音を直接聴けないAIが演奏を検証する

仕上げに筆者が完成版を演奏して動画に撮りました (弾いてみた編に載せています)。Claude Code は音声波形を FFT (倍音積で基音推定) にかけて音名の時系列を出し、楽譜と突き合わせました。おもちゃピアノは倍音が強くオクターブ誤検出だらけでしたが、この曲にしか出ない3つの変化音 (移調後のソ♯・ファ♯・シ♭) がすべて妥当なタイミングで検出でき、楽譜どおり弾けていることの裏付けになりました。

いったんここまで

両手バージョンはもっと凝りたかった、というのが筆者の感想です。間奏やサビ前でメリハリをつけたり、音数を増やした強めのアレンジも考えられますが、ほかにやることもあるので、いったんここまで。

付録: Claude Code とのやりとり (抜粋)

採譜の起点。動画のどこを見ればよいかは筆者が指定しました:

👤 ブログ主のプロンプト
見ました。29秒くらいのCがメインサビですね。和音になってますが、たぶん一番高い音がメインキーっぽいです。29秒と35秒くらいをキャプチャすれば、Cが全部とれます。まず原音をドレミ化してくれると助かります。
🤖 Claude Code
動画の該当秒数をキャプチャし、譜線検出ガイドを重ねて和音の最上声を読み取り。サビ8小節をドレミの文字列で提示。

移調の要件はこの一言で決まりました。必須条件と優先順位を明確にもらえたので全探索に落とせました:

👤 ブログ主のプロンプト
Dの最後のほうが高いので長3度下げだと入らない気がしますので、入るところまでさげて、できるだけ黒鍵を使わないキーにしてもらえると助かります!
🤖 Claude Code
移調12通りの音域と黒鍵数を計算し、当時の条件では長6度下げ (ト長調・黒鍵はファ♯のみ) が最適と提示。のちに条件が変わりハ長調へ。

左手アレンジの方向性。「どう作るか」ではなく「どう弾きたいか」で要望が来るのが、この分業のよいところでした:

👤 ブログ主のプロンプト
全音符だとつまらないので、右手の半分以上は弾いてほしいな。3度違いで弾くとかそんな感じ。サビ前とかサビ中はコードが変わるのでコード進行に合わせてって感じですかね。
🤖 Claude Code
採譜時に読んでいた伴奏和音からコード進行を確定し、サビ=3度下並走・低い小節=ルート1発の2段譜を生成。

全体を通して、AI が作り筆者の耳が検証する、という往復が5回ほど。指摘は「24小節目の6音目が1音下がりますね」のように小節番号ベースで、テキスト管理の楽譜 (ABC) だからすぐ直せる、というループでした。

参考リンク

一次情報 (公式・権利関係):

同じテーマの動画 (個人・最後に置く):