Edited at

Sourcetree + gitでMIDI音楽制作のデータ管理は出来るか

More than 1 year has passed since last update.


はじめに

 この記事はリンク情報システムが主催するイベント「Tech Connect! Autumn」のリレー記事です。

 「Tech Connect! Autumn」は engineer.hanzomon のグループメンバによってリレーされます。

(リンク情報システムのFaceBookはこちらから

 4日目となります本日は「Sourcetree + gitでMIDI音楽制作のデータ管理は出来るか」という記事を@cassetteTapeが投稿いたします。


この記事を書くキッカケ

 私は日頃、JazzPianoを弾いたり、DAWソフトで作曲をしたりすることがあります。仕事でSourcetreeを使っていたとき、この便利なソフトを音楽制作にも流用できないかな?と思ったのがキッカケです。

39514919_1825375327550299_3923552560195043328_o.jpg


Sourcetree + gitを使って音楽制作時のバージョン管理

 音楽制作ソフト(Logic pro Xや、GarageBand)等を使って、楽曲を制作するとき、こんなことはありませんでしたか?

 一旦、ここで保存しておいて、次のTake(録音)を仮で試してみたい。

 あるいは、1曲は、AABC構成だけれども、もう1曲は、AABCD構成で、なんという微妙なバージョン違いなどの曲を複数アレンジしたい場合など、複数のバージョンを管理したいことがあると仮定します。

 プログラムのソースコードと同じで、何をどこまで制作し、どこから分岐したのか?視覚的にも管理しやすいSourceTreeとgitの組み合わせで、楽曲の制作過程を管理することが可能なのかを試してみました。


 使用機材

     ●MacBook Pro

       Retina, 15-inch, Mid 2015

       2.2 GHz Intel Core i7

       16 GB 1600 MHz DDR3


 使用ソフトウェア

     Sourcetree(Version 2.6.3)

     git(Version 2.15.2)

     Logic pro X (Version 10.4.1)

スクリーンショット 2018-09-09 20.00.00.png


 作成する音楽

     MIDIデータで構成されるオリジナルソング(筆者作)


 実験手順

* (1)MIDIデータを作成する。

* (2)Sourcetreeに、データをcommitする。

* (3)branchを作成し、MIDIデータを修正して、データをcommitする。

* (4)Sourcetreeから、修正前のデータをチェックアウトして取り出す。

* (5)曲を再生する。


 実験結果


 (1)MIDIデータを作成する。

    Logic Pro Xを利用して、Jazzっぽいコードを意識した、

    ワルツの曲を作成しました。

    ただし、Swingするようなデータにはしてはいないです!

    この時点では、ソロピアノの演奏となっています。


 (2)Sourcetreeに、データをcommitする。

    リポジトリに保存した音楽制作ソフトのデータ(midiデータ)

    をコミットしました。

    (筆者は最終的にはLogicが使用する全てのファイルをcommitしました。

    midiデータは、Logicから出力した場合に作成されますが、

    midiデータからだけではLogicのデータを完全に再現出来ない為です。)

スクリーンショット 2018-09-08 22.57.02.png


 (3)branchを作成し、MIDIデータを修正して、データをcommitする。

    Bassという名前のbranchを作成し、以後変更したデータはこのbranchへ

    一旦保存することとしました。

スクリーンショット 2018-09-08 23.05.36.png

    Bassリポジトリには、ベースの演奏Takeを録音したデータを登録しました。

    この時点では、ベースの演奏が混じったTakeとなっています。(下図)

スクリーンショット 2018-09-09 18.04.36.png


 (4)Sourcetreeから、修正前のデータをチェックアウトして取り出す。

    一旦、最初にコミットしたmasterリポジトリをチェックアウトしました。

    Logicを再度開き直して、データを確認しました。

    スクリーンショット 2018-09-09 18.06.27.png

    想定通り、branchで保存したベースの演奏は、あたかも消えてしまったかのよう。

    最初のピアノソロの曲となっています!!


 (5)曲を再生する。

     Pianoのソロバージョンの演奏が聞けました!(パチパチパチ)


最後に

 最初は、「Sourcetree + gitでMIDI音楽制作のデータ管理は出来るか」というテーマではなく、「Sourcetree + gitHubでMIDI音楽制作のデータ管理は出来るか」というテーマでした。しかし、チャレンジしてみたところ、gitHubへのPUSHが、認証のエラーとなり、2−3日調査をして、あれこれ試したのですが、うまく解決できませんでした。

 そもそも、gitHubは、プログラマのためのものですから、MIDIデータを置くのは使い方が間違っていると思っています。しかし、無料でMIDIデータを世界中の人がUPし、登録し、さらに編曲などするとなると、(作者の権利は守られませんが)多くの人が手軽に音楽を楽しめるようになるのではないかと、つい妄想をしてしまいました。

 最近ではWebブラウザで、MIDIデータを再生するJavascriptのコード(MIDI.js を使った MIDI(SMF) 再生)もある様子です。手軽に音楽データを入手したり、改造したり、再生することが可能になるのかもしれません。

 個人的には、ローカルリポジトリでこのように音楽データを保存できるのは、魅力を感じました。ちょっととっておきたいTakeなど、都度都度発生します。うっかり消してしまったら、打ち込みをした(データ入力した)時間がパーです。履歴で、どこまで作成したのかが視覚的にわかりやすいですから、このバージョンはどこまで何をつくったんだっけ?なんて悩むことも少なくなりそうです!