はじめに
この記事はリンク情報システムが主催するイベント「Tech Connect! Autumn」のリレー記事です。
「Tech Connect! Autumn」は engineer.hanzomon のグループメンバによってリレーされます。
(リンク情報システムのFaceBookはこちらから)
4日目となります本日は「Sourcetree + gitでMIDI音楽制作のデータ管理は出来るか」という記事を@cassetteTapeが投稿いたします。
この記事を書くキッカケ
私は日頃、JazzPianoを弾いたり、DAWソフトで作曲をしたりすることがあります。仕事でSourcetreeを使っていたとき、この便利なソフトを音楽制作にも流用できないかな?と思ったのがキッカケです。
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)
## 作成する音楽
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のデータを完全に再現出来ない為です。)
### (3)branchを作成し、MIDIデータを修正して、データをcommitする。
Bassという名前のbranchを作成し、以後変更したデータはこのbranchへ
一旦保存することとしました。
Bassリポジトリには、ベースの演奏Takeを録音したデータを登録しました。
この時点では、ベースの演奏が混じったTakeとなっています。(下図)
### (4)Sourcetreeから、修正前のデータをチェックアウトして取り出す。
一旦、最初にコミットしたmasterリポジトリをチェックアウトしました。
Logicを再度開き直して、データを確認しました。
想定通り、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など、都度都度発生します。うっかり消してしまったら、打ち込みをした(データ入力した)時間がパーです。履歴で、どこまで作成したのかが視覚的にわかりやすいですから、このバージョンはどこまで何をつくったんだっけ?なんて悩むことも少なくなりそうです!