[第2章]iOS版GarageBandでメモった曲を、StudioOneで仕上げる(再現編)
こんにちは、MaruCoo(まる)です。
前回に引き続き、「iOS版GarageBandでメモった曲を、StudioOneで仕上げる」について書いていきます。
「その1」で紹介した「方法③:LogicProXを使って変換する」を試したのですが、どうしても上手くいかず、ややパニクってます。
なので、ここは、システムエンジニアらしく、
事象再現 → 原因調査(直接原因と根本原因) → 対策検討(暫定対処、恒久対処) → 対処 → 結果確認
という流れで、ひとつひとつ整理しながら、解決していこうと思います。ちなみに、現時点で解決には至ってません。。。
①iPad AirのGarageBandで楽曲を制作
この楽曲は、実際に出張(名古屋〜博多間の新幹線の中)で打ち込んだものです。GarageBandの鍵盤でざっくりリアルタイム入力し、ピアノロールでクオンタイズかけたり、ノートを追加したりしてます。
②楽曲をMacBook Airに転送
GarageBandからStudioOneに直接データを持っていけないので、「その1」で検討した方法③の通り、LogicProXを経由して持っていきます。
iPad AirのGarageBandで作成した楽曲を保存し、プロジェクト名を長押しして「共有」を選択すると、下記画面が表示されます。ここで「プロジェクト」を選択すると共有先を選べるので、AirDropを選択して、MacBook Airに転送します。
③MacBook AirのLogicProXで開く
MacBook AirのLogicProX(トライアル版)を起動し、AirDropしたGarageBandのファイル「いつまでも.band」を開きます。この時、LogicProX用に変換されるためか「いつまでも.logicx」というファイル名で保存し直しさせられますので、適当な場所に保存します。
ファイルを開くと↓こんな感じ。iOS版GarageBandと同じレイアウトですね。この辺りの連動性はさすがアップル製品です。
④LogicProXでMIDIファイルを書き出す
まず、MIDIファイル書き出しの準備をします。
最初に、書き出すMIDIファイルのフォーマットを指定します。フォーマット0で書き出すと、なぜかStudioOneに取り込めない(これはStudioOne側の問題?)ので、「フォーマット1」を使います。今時はフォーマット1が主流のようです。(MIDIファイルのフォーマットのお話は、次回以降で解説します。)
LogicProXの環境設定の一般タブで、「”MIDIファイルを書き出す...”で1つのMIDIリージョンをフォーマット0で保存」のチェックを外すと、フォーマット1で書き出されるようになります。
次に、各トラックのリージョンを結合します。リージョンが分かれたまま書き出すと、各リージョンが別々のトラックに分かれて出力されてしまうのです。(かなりバラバラに書き出されます。この仕様、誰トクなんでしょうね・・・)
全リージョンを選択して、右クリックメニューの「トラックごとに結合」を選択すると、一括でリージョンを結合できます。
結合できたら、試しにメロディラインのトラック1をMIDIファイルに書き出してみましょう。右クリックメニューの「MIDIファイルとして書き出す...」を選択すると「いつまでも.mid」を生成できます。
⑤MIDIファイルを取り込んでみると、、、
書き出したMIDIファイルを、トラック3に取り込んでみます。取り込みは、Finderから「ひとりでも.mid」ファイルをドラッグ&ドロップするだけです。
が、、、、ちょっと様子がおかしいですね・・・。トラック1とトラック3のサムネイルが全然違います。
リージョンをダブルクリックしてピアノロールでみてみましょう。なんじゃこりゃ〜〜〜〜〜!!
試しに、StudioOne4.6にも取り込んでみますが、同じ感じです。。。一部のノートが長く伸びてしまってます。
念のため、MuseScoreにも読み込んでみましたが、結果は同じ・・・。
原因調査しなくては・・・
このままでは一部の音が鳴り止まなかったりするので、なんとかしなければいけません。もしこれが解決できない場合は、LogicProXを買う意味が無いし、そもそも、iPadでメモってStudioOneに持っていく手間を解消できないことになります。。。
この時点で、犯人はLogicProXだと思ってましたが、後の調査で、真犯人はiOS版GarageBandっぽいことが分かってきます。詳細は次回に回しますが、何が決め手なのか書いておきますね。
原因は「iOS版GarageBandでの打ち込み方法」っぽい
先ほど、iPad上で楽曲を作る際、
鍵盤でざっくりリアルタイム入力し、ピアノロールでクオンタイズかけたり、ノートを追加したり
と書きましたね。
どうやら、「鍵盤での入力」と「ピアノロールでの入力」の違いによって、MIDIイベントの生成のされ方が異なり、結果、LogicProXでのMIDIファイル書き出しでおかしなファイルが生成されてしまうようです。
実際に、iOS版GarageBandの「鍵盤のみで入力」「ピアノロールのみで入力」の2パターンで楽曲を作成し、書き出したMIDIファイルをバイナリレベルで比較してみたところ、「鍵盤」はOK、「ピアノロール」はNGという結果が出ています。
なぜそのような仕様なのか?は不明ですが、なんとなく改善出来なさそうなので、LogicProXで書き出したMIDIファイルを正しい形に直すプログラム(言語はPython)を検討・検証しはじめてます。(これもなかなか先行き不透明ですが)
ちなみに、本件をググってみたのだけど、なんと、見つかった記事は1つのみ。イマドキ、1つって・・・。しかも、Appleの公式サポートサイトなのに未解決。
https://support.apple.com/ja-jp/guide/logicpro/lgcp31f1a05a/mac
まとめ
いや、全然まとまらないので、次回へ続きます・・・。
それほどニッチなニーズではないと思うのだけど、みんなはまってないのでしょうか?ココナラで「GarageBand→LogicProX変換やります!」って言われている方もいますが、「iOS版のGarageBandは対象外です」的な条件を見た記憶があります。それは、これが利用なのでしょうかね?
以上、MaruCoo(まる)でした。
記事を読んでいただき、ありがとうございます‼️ 少しでも皆様のお役に立つことが出来たら嬉しく思います☺️