iOS版GarageBand→LogicProX→「MIDIファイルとして書き出す」で、音(ノート)の長さ(ゲートタイム)が伸びたり縮んだりする
iOS版GarageBandで作成した曲をLogicProXに取り込み、「MIDIファイルとして書き出す」と音(ノート)の長さ(ゲートタイム)が伸びる場合があります。GarageBandで入力したノートの長さ通りに、MIDIファイルに書き出す方法を教えてください。
恐らく類似の質問です→https://discussionsjapan.apple.com/thread/250411108
【環境】
GarageBandの環境 : iPad Air 4(2020)+GarageBand 2.3.9
LogicProXの環境 : MacBook Air(2020 Coreiモデル)(Catarina)+LogicPro 10.5.1 TRIAL
【事象】
(1)iPad AirのGarageBandで作成した楽曲を保存し、プロジェクトをAirDropでMacBook Airに転送します。
(2)転送したGarageBandのプロジェクトファイルをLogicProXで開きます。(*.logicxに変換される)
(3)LogicProX上でトラック1のリージョンを選択し、マウス右クリックで「MIDIファイルとして書き出す」で保存します。(MIDIフォーマット1で書き出し)
(4)保存したMIDIファイルをトラック2にドラッグ&ドロップします。
(5)一部のノートの長さ(ゲートタイム)が伸びたり縮んだりしています。(下図のトラック2)
【調査結果1】
試行錯誤した結果、GarageBandでの入力方法(「鍵盤(オンスクリーンキーボード)で入力」と「ピアノロールで入力」)の違いによって、生成されるMIDIイベントが異なり、結果、LogicProXでのMIDIファイル書き出しでおかしなファイルが生成されてしまうようです。
「鍵盤で入力」・・・ノートが伸びない。正常。
「ピアノロールで入力」・・・ノートが伸びた。異常。
【調査結果2】
書き出したMIDIファイルをバイナリエディタで開き見比べてみると、MIDIイベントの出力のされ方に差がありました。
「鍵盤で入力」・・・MIDIファイルにノートオンの後、必ずノートオフのイベントが出力されている。
「ピアノロールで入力」・・・ノートオンの後ろに、次のノートオンのイベントが出力されていて、ノートオフのイベントがない。
シンプルな楽曲で検証した結果が下記画像です。
「鍵盤で入力(左)」は、ノートオン(青)とノートオフ(赤)が対になっていますが、「ピアノロールで入力(右)」は、ノートオン(青)しかありません。最初に2つの青赤は四分音符の「ド」と「レ」で、下の長い部分は二分音符の和音「ドミソ」です。
【検証結果3】
LogicProXで入力した曲は、この事象は発生しないようです。
【質問】
MIDIファイルを解析してノートオフを挿入するプログラム開発も検討しましたが、MIDIファイルに書き出された時点でノートの長さの情報が欠落してしまっているため、挿入は不可能との結論に至りました。
これが仕様なのか、バグなのか、設定の不備なのか判断つきません。
この事象の原因や解決方法がわかる方、ご教示ください。
この問題が解決すれば、LogicProXを購入予定です。(現在、TRIAL期間中)
みなさま、よろしくお願いいたします。
* タイトルを短縮しました。 Apple Inc.