はじめに
卒業研究で自動作曲システムを作ったので、応用してブラウザで動くアプリを作ろうと思いました。
目次
アプリの概要
キーを選択し、ダウンロードボタンをクリックすると、MIDIファイルが入ったZIPファイルがダウンロードされます。
ZIPファイルを解凍するといくつかのMIDIファイルが入っています。
この中からchord.midとmelody.midを選んで、DAWソフトで適当なピアノ音源を付けてみます。
URL: https://on.soundcloud.com/reEthioEcfb3i8TR8
ドラムを付けるとこんな感じ
URL: https://on.soundcloud.com/Cc9TzK16oT8qPmH79
フロントエンド
Reactで書きました。
キーを選択してダウンロードボタンを押すと、バックエンドにキー情報のパラメータを持ったリクエストが送られるようになっています。
バックエンド
Goで書きました。
フロントエンドから送られたリクエストのパラメータから、音楽(MIDIファイル)を作ります。
キーに合わせて、コード、メロディ、ドラムのMIDIファイルを生成し、ZIPファイルにしてクライアントに送信します。
コード進行を生成する際は、和音の情報を持つデータベース(SQLite)を使用します。
ソースコード
Dockerを使用してローカル環境で使えるようになっています。
AWSのEC2上にもデプロイしています。
URL: http://35.200.71.243:3000/
今後やりたいこと
・曲調のパラメータを増やす
・ブラウザ上で音楽を流せるようにする
・変更してすぐにデプロイできる環境を構築する