SideWood
Title
banner

GarageBand テクニック

GarageBand のエフェクトや音源などの解説や、テクニックを紹介します。

midiO を使って、MIDI 音源を鳴らしてみよう。

RetroWare さんがリリースした midiO という小さなプラグイン。これを使うことで、GarageBand では今までできなかった MIDI 出力ができるようになり、外部音源や他のソフトシンセサイザーなどを鳴らすことができるようになります。
midiOのダウンロード

Read Me ファイルをざっと日本語訳したものをこちらからダウンロードできます。(RetroWare さんの許可をもらっています)
2004/05/22 : バージョン1.11の物に入れ替えました。
2010/05: retrowareのURLを修正

インストール

ダウンロードした .dmg をマウントすると、midiO 本体(midiO.component)と ReadMe ファイルが入っています。
この midiO.component は、AU プラグインですので、
ホームフォルダもしくは起動HD直下の Library/Audio/Plug-Ins/Components にコピーします。

基本的な使い方

midiO screen GarageBand でソフトウェア音源トラックを作ります。最初は音源は何でもいいです。
作ったトラックをダブルクリックして「トラック情報」ウィンドウを出し、「詳細」の▼をクリックし、 ジェネレータから「MIDI Out」を選びます。
鉛筆ボタンを押すと MIDI 出力先(Destination)や出力する MIDI チャンネルが選べます。
MIDI Destination の中の「midio」は、Mac 内部で MIDI 信号を流すためのバーチャル MIDI バスです。
「MIDI Loop detect」は MIDI のループ(一旦出た信号がまた戻ってきてしまうこと。音で言えばマイクのハウリング状態)を検出するためのもので、これを ON にすると midiO から NRPN LSB 119 メッセージが定期的に出力されます。 万一 MIDI ループが発生して midiO が戻ってきてしまったこのメッセージを見つけると midiO は MIDI 出力を停止する。という仕組みです。
設定した後は「音源を保存」ボタンで「MIDI Out」とか名前をつけて保存しておくと後で読み出す時に便利です。

注意すること
GarageBand は仕様上、外から入ってくる MIDI 信号は何でも受け付けてしまいます。
ですので、midiO の MIDI Destination で midio バスを選択している場合、再生中に上で作った MIDI Out のトラックを選択すると(グリーン色になる状態)MIDI Out から出力された MIDI 信号がまた戻ってきてしまい、MIDI がフィードバック状態になってしまいます。 これを防ぐために、再生中、もしくは外部の MIDI キーボードを弾くときなどは、MIDI Out のトラックの選択状態を解除しておきます。
ダミーでリアル音源トラックを一つ作っておいて、再生するはそこを選ぶようにするのが良いと思います。
また、MIDI Out トラックにエフェクトがかかっていると他のトラックにも影響する場合があるみたいですので、全てのエフェクトのチェックを外しておくのが無難なようです。(forum での mochintosh さんのご指摘より)

実際に使ってみる

ソフト音源編

とりあえず、何か MIDI 音源を鳴らしてみようってことで、REASON で試してみました。
reason preferences
MIDI 設定でmidiO バスを選びます。
(マルチトラックで使いたいのでここでは REASON で Advanced MIDI 設定の方を使っています。)
REASONに限らず、Core MIDI に対応しているアプリケーションでは同じように midiO という仮想 MIDI バスを選択することで使えるようになると思います。

REASON で適当なデバイスを作り、そこに MIDI 信号が来るように設定します。
screenshot
ここで、GarageBand に戻って、ループブラウザから MIDI ループ(グリーンのループ)をドラッグ&ドロップで入れてやります。
あとはプレイボタンを押すと・・・REASON が鳴ってくれました!

ただし、注意の所に書いたような制限のため、MIDI キーボードなどからレコーディングするには注意が必要です。
MIDI をレコーディングする時には midiO で使っているトラックをミュートしておかないと midiO から出た MIDI 信号がまた GarageBand のレコーディングしたいトラックに戻ってきて大変なことになってしまいます。
現在の所は、ある程度 GarageBand 内蔵のソフト音源を使ってトラックを作っておいてから、最終的にトラックを midiO にして音色を変えて使うのがいいんじゃないかと思います。

外部音源編

次は、外部の MIDI 音源を鳴らしてみます。

midiO ver.1.1以降は、midiOから直接外部 MIDI インターフェイスを動かすことができるようになりました。midiO の MIDI destinationで選ぶだけでOKです。
このおかげで、レコーディング中に midiO トラックを選べば外部音源を鳴らしながらレコーディングすることが可能になりました。

以下はver1.0の頃の仮想 MIDI バスを使った方法です。何かの参考になるかもしれませんので残しておきます。

外部 MIDI 音源を鳴らすには、MIDI インターフェイスを使うことになりますが(もしくは USB で Mac に直接させる物もありますが)、midiO からは仮想 MIDI バスへの出力となるため、直接は音源をコントロールできません。

そこで、pete.yandell.com さんの MIDI Patchbay などを使って、midiO の信号を外部音源に割り振ってやる必要があります。
使い方は非常に簡単で、「MIDI Input」に mimiO を、「MIDI Output」に使っている MIDI インターフェイスを選んでやればOKです。 patchbay

鳴らした音源を録音する

外部の MIDI 機器の場合の接続のイメージはこんな感じでしょうか。外部の MIDI 機器からオーディオインに入れ、リアル音源トラックを作って録音をスタートさせればOKです。

midiO で鳴らしたソフトシンセなどを GarageBand に録音する場合は、バーチャルオーディオバスのSoundflowerを利用してそのアプリからのアウトを GarageBand のオーディオトラックに録音してやればOKです。
ソフトシンセのオーディオアウトを Soundflower 2ch に、GarageBand の環境設定でオーディオ入力を同じく Soundflower 2ch に設定して GarageBand の録音ボタンを押せば録音できました。

ただ、例えば REASON など、ReWire 対応のアプリだと、そのまま GarageBand から音が出てくれるのですが、「iTunesに書き出し」メニューでのオーディオ書き出しには対応していません。
REASON だと、ReWire モードになってしまうとオーディオ出力が ReWire に固定されてしまうので、Soundflower も使えなくなってしまいます。
そこで考えられる方法としては

  • REASON のシーケンサーに GarageBand からの MIDI 出力を記録してしまって、REASON の再生には REASON 側のシーケンサーを使う
  • ReWire を使わないようにする・・・REASON を GarageBand より先に起動すれば、REASON は ReWire モードにならないので、オーディオ出力に Soundflower が使えるようになります。
  • といったところでしょうか。