コード進行に悩む僕の、はじめてのツール開発
1. はじめに
こんにちは、RaitaKruです。
学生時代から音楽が好きで、バンド活動やDTMで曲を作ってきました。今でも鍵盤楽器中心に、気ままに演奏や作曲を続けています。
近頃おしゃれなコード進行や展開のある曲がたくさんあって、つい「自分の曲、ちょっとマンネリかも…」と感じてしまうことがあります。手癖の進行に頼りがちなのも、気になっていました。
一方で、最近SEとして働くようになってから、日々の仕事でなかなかクリエイティブな活動ができていないことにもモヤモヤしていました。
そんな思いが重なって、「音楽の幅を広げつつ、自分のスキルも活かせるような作曲補助ツールを作ってみよう」と考え始めました。
この記事では、その構想や今後の進め方について、現時点での思いをまとめてみます。
2. なぜ作るのか?(課題意識と狙い)
2.1 作曲中に感じるコード進行の悩み
作曲をしていると、気づけば似たようなコード進行の曲ばかりになってしまうことがあります。
“またこのパターンか…”と思いながらも、しっくりくる選択肢が他に浮かばず、そのまま採用してしまう。そんな経験、ありませんか?
僕自身もよくこの「手癖コード進行ループ」にハマります。
もっと違う展開や響きに挑戦したい。でも、理論書を開くのはなんだか面倒。
理論をちゃんと勉強すれば、もっと選択肢が広がるのは分かっているけれど、
「まぁ今回はこれでいいか、かっこいいし」という気持ちが勝って、結局そのまま仕上げてしまうことが多いです。
2.2 手癖を抜ける「提案」がほしい
コード進行ジェネレータのようなツールも存在していますが、個人的にはあまり使ったことがありません。完全に自動生成されると「これ、自分で作ってることになる?」と感じてしまうからです。
僕がほしいのは、「次にどんなコードが来ると自然か」「今の流れに“なじむ”コードは何か?」といった、文脈に沿ったアシストです。
さらに、その提案が「なぜ?」という理論的な理由とセットで示されれば、納得感もあり、学びにもつながる気がします。
また、あるコードの流れのうちの「一部分」を選んで、そこだけを別のコードに置き換える――いわゆる局所的なリハーモナイズ支援のような機能も、作曲中に役立ちそうです。
(例えば二番のAメロの一部だけ急にオシャレなコードにしてみたくなることって、ありますよね。)
3. ツールの構想(理想の相棒へ)
3.1 文脈になじむコードを提案する
理想の形は、“今作っている進行の流れ”を読み取り、その文脈に合ったコードを提示してくれるツールです。
最初はシンプルなルールベースの実装からスタートしつつ、将来的にはジャンルごとの傾向や過去の進行パターンを学習したモデルによる提案にも挑戦できたらなと考えています。
ルールベースの実装の過程で僕自身も音楽理論を学び直しながら、コード進行の裏側にある“よくある動き”をデータとして整理し、組み合わせのパターンを見つけていく――そんな作業も、開発と同時に進めていければと思っています。
3.2 入力方法の柔軟性(MIDIやVST展開も視野に)
コードを入力する方法も工夫したいところです。
最初はテキストベースでコードを入力したり、UIで選んだりという形が想定されますが、将来的には以下のような拡張も視野に入れています:
- MIDIからコードネームを推定して解析
- DAW上で使えるVSTプラグイン化
- 自分の演奏からコードを拾って、そのままレコメンド
自分の演奏スタイルや制作フローに合った形で使えるように、柔軟な入力/出力手段も今後のポイントになりそうです。
3.3 今後の展望:遊びながら学べるツールへ
最終的には「使っていて楽しい」「触っているだけで勉強になる」ようなツールに育てていけたらと思っています。
コードの選択に悩むタイミングで、“なるほど、こういう手があるのか”と発見が得られるような設計にして、遊び感覚で音楽理論にも触れられるものを目指します。
4. おわりに(まとめと次の一歩)
こうして構想を書いてみると、自分が音楽に対して何を求めていたのかが少し見えてきた気がします。
また僕自身、プログラミングは興味から始めたわけではなく、どちらかといえば「必要に迫られて覚えた」タイプです。でも、こうして“自分の好きなことに活かせる形”で取り組めるのは、とても前向きな経験になりそうです。
今後は、AIやコード生成を活用しながら、少しずつこのツールを形にしていこうと思います。
また、その過程で学んだことやつまずいたことなども記事として発信していくつもりです。
読んでいただきありがとうございました!
よければ、X(@raitakru)やZennのフォローもよろしくお願いします。
Discussion