目次
MacのMIDI再生ソフト
最近のMac(QuickTime2.0以上)ではMIDI音源が無くても、MIDIファイルの再生が出来る様になりましたが、ピッチベンドが正しく再生されないソフトが多い様です。 (ベンドレンジを無視している)
シェアウェアのシーケンサMIDIGraphyは最近QT対応になり、
MIDI音源無しでも音を出せる様になりましたが、ピッチベンドも正しく再生
されます。 このシーケンサはシェアウェアとしては非常によく出来ている
ソフトで、Mac対応ではもちろん、Windows対応のものを含めても最高
だと思います。
Netscape(Ver.2以降)のPluginとしてヤマハのMIDPLUGがありますが、PowerPCにしか対応していないようです。68Kでも使えるものとしてはArnaud MassonのシェアウェアMIDIPluginや米ライフアップデート社のCrescendo!があります。
MIDPLUG入手先:
http://www.yamaha.co.jp/xg/
Crescendo! 入手先:
http://www.liveupdate.com/midi.html
Windows95ではマシンにサウンドカードさえ装備してあれば、メディアプレーヤーのデバイス、プロパティで内部音源を指定するだけでMIDIファイルの再生ができます。
また、コントロールパネル、マルチメディア、MIDIで同様に内部音源を設定すれば他のフリーウェアやシェアウェアの再生ソフト、一般のシーケンサでも再生できます。
ヤマハのMIDPLUGはPentium(75Hz以上)で使用可能です。
PerformerはVisionと並んでプロ用シーケンサーとして定番であり、さすがに優れたソフトで使いつけると他のソフトは使うのが億劫になります。(VisionはEZVisionのデモ判しか使ったことがないが)
しかし、いくつか問題点もあります。
以下に述べるのは、私の使用環境での問題点です。(Performer Version 5.02)
(注1)Micro Musician : MUSIC NETWORK社製PC9801用シーケンサ
(注2)エコロジー: MICRO DATA社製PC9801用メンテナンスツール
同様のファイルを、PC98,Windows,Macの色々なソフトで試してみたが、ハングアップするものは他になかった。
MIDI入門ワンポイント講座
1.チャンネルとトラックの設定
チャンネルとトラック、同じ様なもので、どちらか1つだけでいいと思われる様なものです。
実際、1〜16チャンネルに1〜16トラックを対応させてしまえば、全くトラック=チャンネル
と考えていいし、これで結構間に合います。
しかし、トラックとチャンネルを使いこなせば、色々便利なことがあります。
チャンネルは通常1〜16まで、音源によっては1〜32あります。
(16チャンネルの音源でも2台接続すれば32チャンネルになる)
このうち、10チャンネル目はドラムスとして使用します。
他のチャンネルは1つのチャンネルに対し1つの楽器を設定します。
(後に述べる様に、複数のチャンネルに1つの楽器を対応させてもかまいませんが)
トラックは使用するシーケンスソフトによって、16とか32とか無限大とかになります。
ピアノなどの音域が広く、同時発音数の多い楽器のデータを入力する場合、これを1つのトラック
に全て入力してしまうと、混みいったデータとなってしまい、後からデータを修正しようとすると、
非常にやっかいなものとなってしまいます。
これを、左手のパートと右手のパートをそれぞれ1トラックづつにわけて入力すると、すっきり
したデータとなります。
具体的には、1トラック目、2トラック目の両方ともチャンネル1に設定し、1トラックに右手パートの音譜、 2トラックに左手パートの音譜を入力します。
ここで注意しなければいけないことは、コントロールデータ(ボリューム、パンポット等)は1トラック、 2トラック別々に設定できないことです。これらのデータはチャンネル共通のデータとなりますので、 どちらのトラックにデータがあっても、両方のトラックに反映されます。
右手パートと左手パートのパンポットを変える(右手パートを右から、左手パートを左から聞こえる ようにする)には、1トラック目を1チャンネル、2トラック目を2チャンネルと設定しなければなりません。
逆に、メロディーパートの前半をギター、後半をサックスとする様な場合、1つのトラックだけで途中で パッチチェンジを入れておけばすみます。
音の強さをコントロールするには、ベロシティ、ボリウム、エクスプレッションの
3つの方法があります。
通常、各チャンネルのバランスをボリウムで、音譜1つ1つの強さをベロシティでコントロールします。
エクスプレッションは管弦楽器などのフェイドイン、フェイドアウトのような、音譜1つの中での強弱のコントロールに使うといいでしょう。
楽譜上での強弱記号とベロシティ値を機械的に割り振ると次の様になります。
強弱記号 | ベロシティ |
ppp | 16 |
pp | 32 |
p | 48 |
mp | 64 |
mf | 80 |
f | 96 |
ff | 112 |
fff | 127 |
クレッシェンド、デクレッシェンドもベロシティで表現します。
ボリウムで表現するように書いてある本もありますが、ボリウムコントロールを曲の途中で入れてしまうと、後でチャンネル間のバランスを変更しようとする時、曲の最初から終りまでのボリウムを探して変更しなければならなくなります。
曲の終りをフェイドアウトでエクスプレッションを0にしておくと、再生するシーケンサによっては次の曲を演奏するとエクスプレッション0のままで音が出ない場合があります。
曲の最後にエクスプレッションを127にしておくか、曲の頭で適当な値に設定しておくとよいでしょう。(私はやってない(^^;)
MIDIではどんな楽器の音でもC-1からG9まで(ヤマハの場合はC-2からG8に対応)データとして扱えます(但し音源はもっと狭い範囲にしか対応していない)。
しかし、実際の楽器では、それぞれ楽器ごとに出せる音域がきまっています。
MIDIデータを作成しているうちに、知らず知らず実際の楽器の音域をはずれた
音のデータを入力してしまう事があります。
(楽器による音域のリミターを設定するプログラミングなど簡単に出来ると思うけど、そんなシーケンサーはみたことがない)
そんな事は、気にしなければどうという事無いし、意識的にそういうデータを作成する事もありますが、各楽器の音域を把握しておくに越した事はありません。
以下の表は各楽器の一般的な音域です。
ヤマハ以外 | ヤマハ | |||||
Prog# | 楽器 | 最低音 | 最高音 | 最低音 | 最高音 | Trans Amt |
1 | ピアノ(88鍵) | A0 | C8 | A-1 | C7 | |
9 | セレスタ | C4 | C8 | C3 | C7 | |
13 | マリンバ | F2 | F7 | F1 | F6 | |
14 | シロフォン | C3 | E7 | C2 | E6 | |
16 | ダルシマ | D2 | E6 | D1 | E5 | |
22 | アコーディオン | F3 | A6 | F2 | A5 | |
22 | E.ギター | E2 | D6 | E1 | D5 | -12 |
33 | ウッドベース | E1 | G4 | E0 | G3 | -12 |
34 | E.ベース | D1 | C#4 | D0 | C#3 | -12 |
41 | バイオリン | G3 | E7 | G2 | E6 | |
42 | ビオラ | C3 | A6 | C2 | A5 | |
43 | チェロ | C2 | A5 | C1 | A4 | |
44 | コントラバス | E1 | G4 | E0 | G3 | -12 |
47 | ハープ | C1 | G7 | C1 | G6 | |
57 | トランペット | E3 | A#5 | E2 | A#4 | -2 |
58 | トロンボーン | E2 | B4 | E1 | B3 | |
59 | チューバ | F1 | F4 | F0 | F3 | |
61 | フレンチホルン | B1 | F5 | B0 | F4 | -7 |
バスサックス | G#1 | C#4 | G#0 | C#3 | -26 | |
68 | バリトンサックス | C#2 | G#4 | C#1 | G#3 | -21 |
67 | テナーサックス | G#2 | D#5 | G#1 | D#4 | -14 |
66 | アルトサックス | C#3 | G#5 | C#2 | G#4 | -9 |
65 | ソプラノサックス | G#3 | D#6 | G#2 | D#5 | -2 |
69 | オーボエ | A#3 | G6 | A#2 | G5 | |
70 | イングリッシュホルン | E3 | A#5 | E2 | A#4 | -7 |
71 | バスーン | A#1 | D#5 | A#0 | D#4 | |
72 | クラリネット | D3 | F6 | D2 | F5 | -2 |
73 | ピッコロ | D5 | B7 | D4 | B6 | 12 |
74 | フルート | C4 | C7 | C3 | C6 |
Trans Amt については次項で説明
楽譜の中には、実際の音と楽譜とに違いがあるものがあります。
ギター、ベースは1オクターブ高く記譜されます。
逆にピッコロは1オクターブ低く記譜されます。
ギターが1オクターブ高くInputされているMIDI Fileがよく見受けられます。
管楽器の多くは移調楽器と呼ばれ、トランペットでドの音を出すと、実際にはB♭の音がでます。
楽譜では、変ロ長調の曲のトランペットのパートはハ長調で書かれています。
これらの楽器のデータを入力するには、最初に楽譜通りのデータを入力し、前項のTrans Amount
の数値でトランスポーズしてやれば実音が出ます。
クラシックなどでは、Trombe.in F といった表示があります。これはF管(その楽器の調がF) であるという意味です。
ビブラートはControl No.1のモジュレーションで設定できます。
ただし、このコマンドは深さを設定するだけで、音の立ち上がりから最後まで一定の速さ、深さのビブラートがかかります。
長く伸ばす音の後半だけビブラートをかけるには、最初にContrl No.1を0としておき、ビブラートをかけるタイミングの所でControl No.1で適当な値をいれます。音が終わる所でControl No.1を0に戻します。
ビブラートのかかり方を細かく設定するには、ピッチベンド(次項参照)を使います。
ピッチベンドを使えば、(手間を惜しまなければ)1音毎にビブラートをかけるタイミング、深さ、速さを自由に設定することが出来ます。
XG音源の場合は、Control No.98,99のNon-Registered Parameterを使って設定出来ます。
(XG音源:ヤマハのXG規格対応音源)
具体的には以下のControl Dataを曲の頭に入れておきます。
ビブラート・レート | Control#98 | 08 |
Control#99 | 01 | |
Control#6 | 0〜127 | |
ビブラート・デプス | Control#98 | 09 |
Control#99 | 01 | |
Control#6 | 0〜127 | |
ビブラート・ディレイ | Control#98 | 10 |
Control#99 | 01 | |
Control#6 | 0〜127 |
ギターのチョーキング等、音程を連続的に変化させるには、ピッチベンドを使います。
ピッチベンドのデータは0から8191で、変化する音程は最大2オクターブです。 ピッチベンドの最大値8191が何度の音程に対応するかは、コントロールチェンジのRPN(レジスタード・パラメーター・ナンバー)100.101ののベンドレンジで最初に設定しておきます。
ベンドレンジの1オクターブ設定と2オクターブ設定、及びその時の音程の変化は次の様になります。
1オクターブ設定 | 2オクターブ設定 | ||||
Control# | 100 | 0 | Control# | 100 | 0 |
Control# | 101 | 0 | Control# | 101 | 0 |
Control# | 6 | 12 | Control# | 6 | 24 |
Pitch Bend | 1 oct. | 2 oct. | Pitch Bend | 1 oct. | 2 oct. | |
8191 | 12半音 | 24半音 | 4096 | 6半音 | 12半音 | |
7850 | 23半音 | 3754 | 11半音 | |||
7508 | 11半音 | 22半音 | 3413 | 5半音 | 10半音 | |
7167 | 21半音 | 3072 | 9半音 | |||
6826 | 10半音 | 20半音 | 2730 | 4半音 | 8半音 | |
6485 | 19半音 | 2389 | 7半音 | |||
6143 | 9半音 | 18半音 | 2048 | 3半音 | 6半音 | |
5802 | 17半音 | 1706 | 5半音 | |||
5461 | 8半音 | 16半音 | 1365 | 2半音 | 4半音 | |
5119 | 15半音 | 1024 | 3半音 | |||
4778 | 7半音 | 14半音 | 683 | 1半音 | 2半音 | |
4437 | 13半音 | 341 | 1半音 |
キーナンバーは音の高さを表す数値です。
一点ハの音(ピアノでは中央のC)を60として0から127までを各音に割り当てたものです。
88鍵のピアノの音域が21〜108、標準的な61鍵のキーボードの音域が36〜96です。
ノートナンバーはアルファベットの音名にオクターブを示す数値を組み合わせ、C3,C4,C5のようにあらわします。
キーナンバーとノートナンバーの対応は楽器メーカーにより採用する基準が違います。
ローランド、コルグ、カシオ、カワイはC4=60
ヤマハはC3=60です。
http://www.mars.dti.ne.jp/~mikio-n