背景

人前でギターの弾き語りをする機会が増えてきた。本番で欲しいのは、1曲全体のコードをひと目で見渡せる譜面だ。ところが練習で欲しいのは、メロディの五線譜とタブ譜と歌詞が並んだ譜面で、これがまるで別物。

AIと整理した結果、ひとつの道具で両方やるのはやめた。練習用は楽譜ソフトのMuseScoreに任せて、本番用だけ自分で作る。名前は「うたかた」にした。最初の候補はchordexだったが、読みが「コーデックス」でChatGPTのCodexとぶつかるので却下。ゆとり・めぐる・もやい、と続いてきたひらがなの並びにも合う。

1曲1ファイルで管理する

曲はChordPro形式というテキストで書く。歌詞の中に、載せたいコードを [C] のように書き込んでいく、コード譜の定番形式だ。1曲1ファイルなので、gitでそのまま履歴を管理できる。

画面はNext.jsで作った。表示は本番用に振り切っていて、セクションごとに2カラムへ詰めて1曲を俯瞰できるようにし、サビは色で強調。A4で2枚以内に収まる印刷用CSSも入れた。

覚えていないコードだけ図を出す

コードダイアグラム(押さえ方の図)は、出し方をひと工夫した。全部のコードに図を付けると邪魔なので、譜面に {define} と書いたコードだけ、ヘッダーに図が出る。つまり「自分がまだ覚えていないコードのメモ」として働く。

ほかにも舞台向けの小技をいくつか入れた。

  • A4に収める調整の自動化。1枚に収まるなら文字を最大120%まで拡大して見やすくし、収まらなければ2枚に分ける
  • カポ位置の提案。開放コードが多くなる位置を計算して上位3案を出し、ワンタップで適用できる
  • スマホで開いたときは画面が自動で消えないようにした(演奏の途中で画面が落ちると悲しい)

歌詞の権利とローカル運用

このアプリは公開していない。J-POPなど著作権のある曲の歌詞を入れたくなるはずで、歌詞入りのデータを外に置くわけにはいかないからだ。自分のMacの中だけで動かす。

収録はパブリックドメインの唱歌・童謡・トラッド21曲から始めた。コードは既存の譜面を写さず、AIと相談しながら独自に付けている。「J-POPをがんがん入れたいが、手で打ち込むのは面倒。法を守りながら省力化できるラインはどこか」が次の宿題になった。この続きは別の記事に書いた。

感想

本番でコードを一覧で見たい、というところからまず作った。本当はJ-POP系をがんがん入れたいが、打ち込むのはちょっと面倒そう。権利の問題もあるので、法を守りつつ簡単にできるラインを見つけたい。作詞・作曲にも活用していきたいが、そこは既存ツールの方がいいのかも。