「サクラ」でランダムに音を選ぶには(RandomSelect)
今日は
繰り返しのための新しい構文と、引数の中からランダムに選んだ値を返す
RandomSelect関数を試してみる。
昨日までは繰り返しの構文として
Forループを使ってみたが、もっと簡単な繰り返しのための構文がある。
[ ... ] の中を、n回繰り返し演奏
http://oto.chu.jp/doc/command/83.htm単純なループならこの書き方のほうが便利そうだ。
乱数関係の構文では、普通のRandom関数と、引数の中からランダムに選んだ値を返すRandomSelect関数がある。
RandomSelect
http://oto.chu.jp/doc/command/95.htm昨日までやった、128種類の音色で「ドレミファソラシド」と演奏するプログラムをちょっと手直しして、「ドレミファソラシド」の部分を「ドミファソシド」という5音階から8個の音をRandomに選んで演奏させてみる。
//---------- ここから ----------
Int Onkai; Int Vno=0
[128 Vno=Vno+1 @(Vno)
[8 Onkai=RandomSelect(60,64,65,67,71,72) n(Onkai)]
]
//---------- ここまで ----------

ちょっと復習なのだが、「サクラ」ではMIDI信号を、コントロールパネルで指定されたMIDIの既定のデバイスに出力する。
従って、この既定のデバイスを変えてやれば、外部のMIDI音源を鳴らしたり、MidiYokeなどの仮想MIDIドライバを使ってソフトシンセを鳴らしたりすることができる。
下の画像は、HexterというDX7互換のソフトシンセを使って上のプログラムを演奏させているところだ。
「サクラ」でBANK127の音色をチェックしてみる
昨日は、「
サクラ」で
MIDI音源の音色をチェックしてみたのだが、このチェックした音色というのは、
BANK0に入っている音色だ。
GM/GSの
SoundFontでは、
BNAK127に
MT-32などで使われていた、昔のGSの音色がセットされている。(この音色が結構いいのだ)
MT-32 Compatible Tones
http://www.b-sharp.com/midi/spec1/pdf/2-3-3.pdf
今日は、BANK0以外の音を鳴らすプログラムを書いてみる。GSの仕様では、バンクセレクトLSBを指定することでBANK0以外の音源マップの音色を選択することが可能になっている。
「サクラ」では、音色番号を指定するコマンドVoice(または記号の@)で、このLSBを指定することができる。
http://oto.chu.jp/doc/command/38.htm昨日のプログラムをちょっと修正して、
LSBに127を指定してみる。

sfzの方の画面をみればわかるのだが、確かにBANKナンバーが127と表示されている。

「サクラ」でGM音源の音色をチェックしてみる
今日は「
サクラ」で、
MIDI音源の
音色を変えるコマンドを試してみる。
現在一般的に使われている
GM規格の音源では、どの音源でも同じ楽器の音になるように音色番号(0~127)と楽器の対応が決められている。
GM規格 128音色に関する解説
http://shiontype.hp.infoseek.co.jp/music/DTM1.html
「サクラ」で、この音色番号を指定するコマンドがVoice(または記号の@)だ。
http://oto.chu.jp/doc/command/38.htm昨日使った、
Forループを使って、0~127の全ての音色に切り替えて音階を鳴らしてみる。「サクラ」では、音色番号が1~128のように指定するのでプログラムでは番号の値に1をプラスしている。

演奏モニターの鍵盤の所をクリックすると、鍵盤の表示が画像のような表示に変わり、チャネル毎の詳細なMDI情報を確認できる。@の所の数字がカウントアップされていくのがわかると思う。一番上の画像の音名一覧の数字は0から始まっているので、モニター画面に表示されている音色番号から-1した数字が、対応する音色名だ。
MIDI音源として、SoundFontを使えるソフトシンセ sfz を使っていれば、下の画像のように、PROGRAMの欄に現在演奏しているVoice番号と音色名が表示されるはずだ。

「サクラ」でピアノのスケールを弾いてみる
昨日は、
ノート番号を指定して発音する方法を試したのだが、せっかく方法がわかったので、今日はピアノのスケールを全部弾いてみることにする。
ノート番号は、
0~127まであるのだが、普通の
ピアノは88鍵(A-1からC7)だ。ノート番号では、
21から108までということになる。
「サクラ」はプログラミング言語なので、ループを作るための
Forコマンドが使える。コマンドの書式は一般的なForコマンドと同じだ
一番下の音から上の音まで16分音符で弾いていき、一番上の音まできたら、今度は上の音から一番下の音まで弾いてみる。
//---------- ここから ----------
For(Int Note=21; Note=<108; Note++){
n(Note)16;
}
For(Int Note=108; Note=>21; Note--){
n(Note)16;
}
//---------- ここまで ----------

自分でピノを弾いても、こんなに上手くは弾けない。なんか、すっかりピアニスト気分だ。
「サクラ」のノート番号の指定方法
これから「
サクラ」でやろうとしていることは、
プログラミングによりコンピュータで音楽を作ることだ。
「サクラ」では、音程を記述するのに「ドレミファソ」を「cdefg」というようにMMLで書くことができるのだが、コンピュータで計算によって音を作ろうとする場合は、数字で音程を記述できたほうが便利だ。
MIDIの仕様では、
ノートナンバーというもので音程を表すことができる。ノートナンバーは、0~127の数字で、
中央ド(C3)が60になる。だから0~127で、C-2~G8までの音程を表すことができる。
http://www.b-sharp.com/midi/spec1/midi007.html「サクラ」でノートナンバーを指定する場合は、「
n番号」のように指定する。
下の例では、「ドレミファソ」が2回繰り返される。
//---------- ここから ----------
cdefg
n60 n62 n64 n65 n67
//---------- ここまで ----------

画像のように「n(番号)」のように記述することも可能だ。
「サクラ」のMML入力支援機能
今日は、昨日書いた「
サクラ」のエディタ機能にあるMML入力支援機能を試してみる。
「サクラ」のツールボタンに鍵盤入力と楽譜入力のボタンがある。このボタンを押すとそれぞれの入力モードになる。初期状態では
日本語MML(ストトン表記)で入力されるので、通常のMMLで入力する場合は、メニューの出力でMMLを選択すると良い。
鍵盤入力モードでは、表示される鍵盤を左クリックすると、その音に相当するMML文字が入力される。また、右クリックで音を確認する事が可能だ。

メニューにある貼り付けから所定の選択をすれば、
音量や
ゲートに関するMMLも入力することができる。
楽譜入力モードでは、表示される五線譜で所定の場所を左クリックすると、その音に相当するMML文字が入力される。こちらの方も、右クリックで音を確認する事が可能だ。

鍵盤入力機能とと楽譜入力機能はは、一見便利そうなのだが、やはりMMLをキーボードから入力した方が早いような気がする。MMLの主な命令は覚えてしまった方がよさそうだ。
「サクラ」のエディタ機能
「
サクラ」はプログラミング環境だから、当然プログラムを書くための便利な
エディタ機能が備わっている。
ところが、このエディタ機能、カスタマイズできる項目が半端じゃない。
サクラのエディターのお話
http://www.globetown.net/~dona/edit.html使用するフォントをはじめ、キーワードの強調表示など、まるで高機能なエディタの設定画面のようだ。

「サクラ」では、このエディタ画面に書いてあるMMLをコインパイルすることになるのだが、必ずしも編集エリアに手でMMLを入力しなければならないわけではない。ファイルからMMLのソースを読み込むこともできるし、他のエディタからCut&Pasteしてもよい。場合によっては、他のプログラムでMMLを作って、これを読み込むという方法だってある。
いずれにしても、エディタ画面での編集は少しは必要になるから、エディタ画面の使い方は熟知しておいた方がいい。また、入力支援機能として、鍵盤入力や楽譜入力、便利タブといった機能もある。
エディタの使い方
http://oto.chu.jp/doc/edit/index.htm
「サクラ」は日本語でMMLが書ける
「
サクラ」ではMMLを日本語で表記できる。「エディタに『ドレミ』と書けば、その通りに音楽を演奏することができる」というのが「サクラ」のウリになっているのだ。
試しに次のように書いて実行ボタンを押してみる。
//---------- ここから ----------
ド
//---------- ここまで ----------

確かに「ド」の音が出る。この音名を記述は平仮名でもよ良く、「どれみふぁそらし」なんて書いてもいいのだ。
http://oto.chu.jp/doc/command/523.htmこのMMLの表記方法は、「サクラ」では「ストトン表記」と呼んでいる。
http://oto.chu.jp/doc/command/index2.htm#cmd0確かに素人受けがしそうな気がするのだが、これに惑わされてはいけない。ちょっとは音楽をやったことがある人は、正統派のMMLで「cdefgab」と書いた方がはるかに入力も簡単だと思う。
ということで、このブログでは今後も正統派のMMLで書くことにします。
「サクラ」語はMMLの方言だということができます
日は、「
サクラ」でPrint命令などを使ってプログラムを作ってみたのだが、肝心の
音を出す命令はどうなっているのだろうか。
「サクラ」というのは、言ってみれば
MIDIコンパイラーだ。テキストで書いたプログラムをコンパイルして、MIDI仕様の楽器が演奏できるMIDIデータを作成する。
「サクラ」は、このMIDIデータを、Windowsのコントロールパネルの「サウンドとオーディオデバイスのプロパティー」で指定する「
MIDI音楽の再生の既定のデバイス 」へ出力する。
MIDIの再生を、Windowsに標準で入っている音源(Microsoft GS Wavetable SW Synth)でやってもいいのだが、せっかく
ソフトシンセを使えるようにしてあるので、ここはまず
SoundFontを使うことにする。
ということで、これから「サクラ」の説明をする時は、基本的にsfz.exeを立ち上げておいて、2gmgsmt.sf2のようなGS互換のSoundFontを読み込んであるという前提で説明する。
「サクラ」のエディタ画面に、試しにこう書いて再生ボタンを押してみる。
//---------- ここから ----------
c
//---------- ここまで ----------

「ド」と音が出たと思う。つまり、c というのが「ド」の音を出す命令なのだ。cdefgab と書けば「ドレミファソラシ」という音が出る。
これらの一連の音を出す命令は、
MML(Music Macro Language)と呼ばれているものだ。要するに言語なのだ。
Music Macro Language
http://www.weblio.jp/content/Music+Macro+LanguageこのMMLは、パソコンで音が出せるようになった当時からずっと使われていて、BASICのPLAYコマンドなどにもパラメータとして使われてきたものだ。
MMLは、パソコンの進化と共にどんどん拡張がなされ、MIDIの規格ができてからは、
MIDI形式のデータを作るための言語としても使われている。
MMLの主なコマンド- CDEFGAB - ドレミファソラシの音符。後に#や+をつけて半音上げを、-をつけて半音下げを指定できる。その後に数字をつけて音の長さ(2=2分音符、4.=付点4分音符 など)を指定できる。
- O - オクターブ指定
- L - A~Gの後に数字をつけないときの音の長さを指定
- V - 音量(ボリューム)を指定
MMLの書き方の基本は、上のような感じでどのMMLもほとんど同じなのだが、実際はMML言語を使うシステムと同じぐらいの数の方言がある。つまり、処理系を作る人によって微妙に拡張が行われているのだ。
「サクラ」語の音を出す命令の部分の仕様はこんな感じになっている。
「サクラ」命令一覧(音符属性&音名)
http://oto.chu.jp/doc/command/index2.htm#cmd1というこことで、「サクラ」語(命令セット)は、MMLの一つの方言だと言うことができる。しかしこの方言、基本からはものすごい拡張が行われているのだ。
「サクラ」のプログラミング開発環境を実感する
「
サクラ」が
プログラミング開発環境だと言われても実感がわかない。ということで、今日はプログラムを動かしてみる。
下の部分を、Cut&Pasteで「サクラ」のエディター画面にコピーして欲しい。
//---------- ここから ----------
MsgBox({"サクラはプログラミング環境です"})
Int i
For(i=1; i=<10; i++){
Print(i,i*i);
}
//---------- ここまで ----------
そして、ツールバーにある実行ボタン(
再生ボタン)を押して欲しい。Print文の実行結果は画面の下の方にあるデバッグウィンドーに表示される。

どうだろうか。これは、りっぱなプログラミング開発環境になっている。
「サクラ」っていったいどんなソフトなの
今日は、MMLでMIDIを作れる環境を作るためのベースとして考えている「
サクラ」というソフトが、いったいどんなソフトなのかを少し説明してみる。
「サクラ」という名前からは、ちょっと想像できないのだが、このソフトは要するに「
プログラム開発環境」なのだ。ただし、MIDIを作るということに特化した「プログラム開発環境」だ。
「サクラ」は、テキスト音楽「サクラ」というのが正式名称になっている。テキストというのは、いわゆる文字のことなのだが、文字の中身は要はプログラムだ。
それでは、「プログラム開発環境」というものが、一般的にどういう機能が必要なのかを考えてみる。
・プログラムの編集機能
・プログラムのテスト機能
・プログラムのコンパイル機能
開発環境というからには、最低このぐらいの機能は必要だ。「サクラ」はまさにこういう機能を持ったソフトなのだ。
ということで、まずは「サクラ」をダウンロードしてセットアップだ。
ここから、テキスト音楽「サクラ」を選択して、sakura.zipというファイルをダウンロードする。
http://www.geocities.jp/kujira_soft/
適当な所に解凍すると、sakuraというセットアップ作業用のフォルダができる。その中のsetup.exeを実行する。標準では、"C:\ Program Files\sakura\"にプログラムがインストールされる。Sakura.exeを起動して、下のような画像が出ればインストール成功だ。
本格的なMIDIのプログラムが作れる環境を作る
昨日までは、
ソフトシンセ(VSTi)にMIDI信号を送って演奏させるということをやってみたのだが、実はこれには訳があるのだ。
前に、
ドリトルを使ってプログラムでMIDIの曲を作るというのをやってみたのだが、これが結構楽しい。しかし、ドリトルでもっと凝った曲を作ろうとするとなんか難しそうだ。
そこで、ちょっと
本格的にプログラミングで音楽ができるDTM環境を構築してみたいと思ったのだ。
そのためにはこんなツールが必要だ。
1.本格的なMIDIのプログラム(MMLを使う)が作れる環境
2.作ったMIDIをソフトシンセを使って演奏できる環境
3.演奏したデータをデジタル録音する環境
といったものだ。今風にいうと
DAWの環境を作ろうと思うのだ。
MML(Music Macro Language)
http://ja.wikipedia.org/wiki/Music_Macro_LanguageDAW(Digital Audio Workstation)
http://ja.wikipedia.org/wiki/DAWということで、今まで3と2についての環境を作ってきた。今日からは、1のMMLでMIDIを作れる環境を作ってみる。いろんなシステムが考えられると思うのだが、ここは迷わず「
サクラ」を使ってみたい。
http://oto.chu.jp/
GM/GSのSoundFontで組曲『惑星』を聴いてみる
現在、DTMで使われるMIDI音源は、Windowsに標準で入っている音源(Microsoft GS Wavetable SW Synth)も含め、ほとんどが
GM/GS 規格の音源だ。
http://ja.wikipedia.org/wiki/MIDIGM規格では、音源の
音色セットがプログラム・ナンバー(1~128)として決められている。
http://www.izmi.jp/sol/glossary/gsxg/gm.html今日は、こんなGM/GSの音色がセットになったSoundFontを聴いてみることにする。
まずは、2GMGSMT.SF2 というSoundFontをダウンロードする。
http://www.sf2midi.com/index.php?page=sdet&id=2555これを早速sfz.exeに読み込ませてみる。
このSoundFontは、サイズがたった
2MBしかないの膨大な量の音色が詰め込まれているので驚いてします。
まず、BANK=0 には、下の画像のようなGM配列の音色が入っている。

そして、BANK=127 には、GMに先行する規格だったGS(ローランド)の音色が入っている。

さらい、BNAK=128 には、各種のパーカッションの音色セットが入っている。
それでは、このSoundFontを楽しむためのMIDIファイルを用意しよう。
下記のページに、ホルストの組曲『惑星』のMIDIファイルがアップされている。
http://www.geocities.jp/nasu_fantasia/download.htmlダウンロードして、IrfanView でこのMIDIファイルを再生してみる。

すばらしいオーケストラの音が響き渡る。ちょっと感動的だ。
バロックオルガンのSoundFontを聴いてみる
今日は有名な
オルガンのSoundFontを聴いてみることにする。
まずは、下記のページにあるdownloaded from the HammerSound pagesのリンクからSoundFont(jeux14.rar)をダウンロードする。
Download the JEUX SoundFont
http://members.aol.com/realmac/download.htmこのファイルは、
.rar形式でパックされているので解凍する必要がある。解凍のためのソフト(
WinRAR)は、下記からダウンロードできる。
http://www.forest.impress.co.jp/lib/arc/archive/archiver/winrar.htmlWinRARを使って解凍すると、Jeux14.SF2というファイルができる。

これを早速sfz.exeに読み込ませてみる。

sfzの画面のPROGRAMボタンを押すと、このSoundFont(Jeux14.SF2)パッチデータの一覧がでる。これが、どんな内容なのかは下記のページに詳しく説明が書いてある。こんな感じで一つのBANKに128の音色をセットできるのだ。ちなみに、これ以上に音色を増やす場合はBANK(0~127)にセットする。Jeux14.SF2では、BANK1にも音色がセットされてる。
JEUX A Pipe Organ SoundFont
http://members.aol.com/qhrecorder/grenade1.htm
さて、ではMIDIデータを演奏させて見よう。オルガンのMIDIデータは、下記のページにたくさんアップされている。
organ music realizations for the JEUX soundfont
http://members.aol.com/measly2mb/jeux2.htm下記のファイルをダウンロードして解凍すれば、cmparishフォルダに21曲が展開される。
Franc,ois Couperin, Mass for the Parishes
http://members.aol.com/measly2mb/cmparish.zip後は、このフォルダをWindows Media Playerにドラッグすれば、曲が順番に演奏される。

こんな感じで、様々なオルガンの音色を楽しむことができるのだ。
SoundFontでmidiファイルを鳴らしてみる
昨日ダウンロードして作った
sfz.exeは、このままでは当然音が鳴らない。
SoundFontを読み込ませないといけないのだ。
ということで、今日はSoundFontをダウンロードしてみる。まずは、
ピアノ音源のSoundFontを使ってみる。
http://www.ts-central.com/dere.php上記のサイトから、
Roland64VoicePiano.sfpack をダウンロードして欲しい。SoundFontは、このファイルのように
sfpack形式でパックされているものが多いので、解凍するソフトが必要だ。
ここから解凍ソフト(sfpack)をダウンロードしてインストールする。
http://timidity.s11.xrea.com/soundfonts/sfpack.zip
上の画像は、sfpackでRoland64VoicePianoを解凍しているところ。
Go!ボタンで解凍が実行される。解凍すると、Roland64VoicePiano.sf2 という拡張子が.sf2のファイルができる。これがSoundFontだ。
sfz.exeを起動して、画面のFILEの欄にこのSoundFontファイルをドラッグする。そして、メニューの Device→MIDI の設定画面で、
Input Port を「
MIDI Yoke Junction: 1」に指定する。
そして、昨日やった方法でWindows Media Playerを起動してピアノ曲のMIDIファイルを再生してみる。

美しく、グランドピアノの音が響きわたっただろうか。
SoundFontが使えるVSTi(sfz)
現在、DTMで使われるMIDI音源は、Windowsに標準で入っている音源(Microsoft GS Wavetable SW Synth)も含め、ほとんどが
WaveTable方式のシンセサイザだ。
WaveTable方式というのは、デジタル録音(サンプリング)した音(WaveTableデータ)をそのまま再生する方式の音源で、
GM/GSといった規格により、プログラム番号(1~128)毎に何の楽器の音色にするかが決まっている。
SoundFontというのは、このWaveTableのいわばデータにあたるもので、GM/GSといった規格に準拠したものでもいいし、まったく別の音色を割り当ててもよい。文字フォントが、同じコード番号でもフォント(ファイル)を切り替えることでまったく違った文字を出せるように、SoundFontを変えれば別の音が出せるようにする仕組みなのだ。
ところで、こんなSoundFontのデータ(
拡張子が.sf2)を読み込んでMIDI音源として動作させるフリーのVSTiがある。
rec:audioの
sfzというSample Playerだ。
http://www.rgcaudio.com/sfz.htm上記のサイトからセットアップファイル(sfz197.exe)をダウンロードして、これを実行する。
C:\Program Files\Vstpluginsフォルダにsfz.dllというフィルができる。このフォルダにsfz.exeという実行ファイルがあるので、これを削除するか別の名前にリネームしておく。そしてこのフォルダに、savihost.exeをコピーして、名前を
sfz.exeに変更する。
ダブルクリックして、下の画像のようになればとりあえずインストールは成功だ。
Windows Media Playerでピアノ音源を鳴らしてみる
有名なピアノ音源のVSTiに、
4Front Piano Module VSTi というのがある。
http://www.yohng.com/piano.html上記のサイトから、Download (x86,7MB) をダウンロードしてセットアップして欲しい。
標準では、C:\Program Files\Steinberg\VSTPlugins にインストールされる。このフォルダに、savihost.exe をコピーして、名前を、
4Front Piano Module.exe に変更する。
起動して、下記のような画面になればインストール成功だ。

次に、ピアノ用のmidiファイルを用意する。下記のページにフランス近代音楽のピアノ曲のmidiファイルがたくさんアップされている。
http://homepage3.nifty.com/principe_de_plaisir/music.htmここから好きな曲を何曲かダウンロードしてください。
今日は、これを
Windows Media Playerを使って演奏させてみる。
まずは、4Front Piano Module.exe を起動しておく。そして、メニューの Device→MIDI の設定画面で、Input Port を「MIDI Yoke Junction: 1」に指定する。
次に、Windows Media Playerを起動して、ここにmidiファイルをドラッグする。

上の画像は、クロード・ドビュッシーの「沈める寺」を、4Front Piano Moduleで演奏させているところだ。やっぱり、内蔵のMIDI音源とはちょっと違った次元の音がする。
Synth1のスタンドアローン版を作る
国産のフリーウェアで「
Synth1」という有名なソフトシンセがある。
国産のVSTi/DXi対応フリーソフトシンセ Synth1の実力
http://allabout.co.jp/entertainment/dtm/closeup/CU20030125/index.htm
Software Synthesizer Synth1のサイト
http://www.geocities.jp/daichi1969/softsynth/このページに「Synth1」を使って作った、YMOのRydeenがデモ曲としてあるので、ぜひ聴いてみよう。ちょっとびっくりする。
http://www.geocities.jp/daichi1969/softsynth/rydeen.mp3Synth1 Project のサイトには、「synth1」のみで作られたアルバム[S1] の全曲を聴くことができる。
Synth1 Project [S1]
http://www.h5.dion.ne.jp/~yukke/s1/s1.htmということで、この「Synth1」をスタンドアロンのソフトシンセとして使えるようにしておこう。
下記の、公式サイトから最新版(synth1v107.zip)をダウンロードしてセットアップする。
http://www.geocities.jp/daichi1969/softsynth/#down標準では、"C:\Program Files\Synth1"にインストールされるので、ここにsavihost.exeをコピーして、Synth1 VST.exeに名前を変更する。
起動して、下のような画面が出れば成功だ。

パッチデータ(Synth1ExtraBanksPackage.zip)もダウンロードしてセットアップしておこう。これでバンク1~9までのパッチデータが全てセットされる。
IrfanViewでソフトシンセを鳴らしてみる
今日は、
ソフトシンセにmidiファイルを演奏させることにチャレンジする。midiファイルを演奏させるためには、DTMのソフトやmidiプレーヤーが必要なのだが、前にやったように
IrfanViewでもmidiファイルを読み込んで再生することができる。
まず、最初にコントロールパネルの「サウンドとオーディオデバイスのプロパティー」のダイアログボックスで、
MIDI音楽の再生の
規定のデバイスの設定を「MIDI Yoke Junction: 1」に設定しておく。

次に、ソフトシンセを用意しよう。今日は前にやったパイプオルガンのソフトシンセ、「
Pipe Organ」を使うことにする。Pipe Organ.exeをダブルクリックして起動し、メニューの Device→MIDI の設定画面で、
Input Port を「MIDI Yoke Junction: 1」に指定する。
次に、midiファイルを用意する。下記のサイトに「きよしこの夜」のmidiデータがあるので、これをダウンロードしておく。
http://www.ylw.mmtr.or.jp/~johnkoji/hymn/xmas/Holynit.midさて、準備は整った。IrfanViewを起動して、midiファイル(Holynit.mid)をIrfanViewにドラッグする。

重厚なオルガンの音で、「きよしこの夜」が鳴り響いたら成功だ。
midiKeyでソフトシンセをコントロールしてみる
今日は、MIDIYokeを使って、パソコンのソフト同士でMIDI信号の送受信ができるかどうかを確認してみる。方法はこうだ。
前にやった、パソコンのキーボードで内蔵のMIDI音源を鳴らせる、
midiKeyというソフトと、ソフトシンセ(
MinimogueVA)を繋いでみる。これがうまくいけば、midiKeyの方でキーボード操作した結果をMIDI信号として出力し、この信号をソフトシンセの方の入力にしてソフトシンセの方の音が出せるはずだ。
まずは、両方のソフトの
MIDIポートを合わせる(線を繋げる)ことにする。
midiKeyのソフトを立ち上げ、メニューの
ツール→設定 で下記のように、MIDIデバイスの指定を「MIDI Yoke Junction: 1」に設定する。

次に、MinimogueVAの方を立ち上げ、メニューの
Device→MIDI の設定画面で、Input Port を「MIDI Yoke Junction: 1」に指定する。

要するに、midiKeyの出力とMinimogueVAの入力を「MIDI Yoke Junction: 1」で繋ぐという操作をするわけだ。
設定が終わったら、midiKeyの方でキーボードをたたいてみて欲しい。MinimogueVAの方の音が鳴ったら成功だ。

midiKeyの方で、楽器の種類を変更すれば、MinimogueVAの方のプログラム番号も変わって、プリセットされている対応するパッチの音色に変わるのがわかる。その他、VolやPichのスライダーの変更もMinimogueVAの方に反映されることが確認できるはずだ。
ソフトシンセにMIDI信号を送る方法
ミニモーグのような鍵盤が付いているシンセサイザーは、もちろんピアノのように手で弾くことができるのだが、コンピュータなどからMIDI信号を送って鳴らすこともできる。鍵盤がないMIDI音源などは、もっぱらこの方法で鳴らすことになるのだ。
この場合、コンピュータとシンセサイザーの間でMIDI信号をやりとりするために、シンセサイザーとコンピュータをMIDIケーブルというもので接続する。昔はモデムなどを繋いだシリアルコネクタで接続したのだが、最近はもっぱらUSBで接続する。この接続のために、MIDI機器毎に専用のMIDIドライバーが用意されていて、これをパソコンにインストールして接続するのだ。
ところで、いわばパソコンのプログラムであるソフトシンセには、物理的なケーブルを繋ぐことができない。だから、普通の方法ではこのソフトシンセにMIDI信号を送ることができない。
これでは、パソコンのソフトからMIDI信号を送ってソフトシンセを鳴らすことができない。MIDIをやりとりするソフトの間でMIDIケーブルのようなものを繋げればいいのだが、そんなことはできそうにもないのだ。
ところが、このMIDIケーブルの結線を、パソコンソフトの間で仮想的に行ってくれる夢のようなソフトがあるのだ。これが仮想MIDIドライバ「
MIDI Yoke」だ。
下記のサイトの「MIDI YOKE」Downloadページに、OS毎のインストールファイルがあるので、まずはダウンロードしてセットアップだ。
http://www.midiox.com/index.htm
セットアップが完了したらパソコンを再起動する。そして、コントロールパネルの「サウンドとマルチメディア」のダイアログボックスを開く。

上の画像のように「MIDI Yoke Junction: 1」と表示されれば、インストールは成功だ。
MinimogueVAのパッチデータを使ってみる
市販のソフトウエア・シンセサイザー、ミニモーグVは、500以上のプリセット音色を収録しているのもウリだ。
http://www.idecs.co.jp/musicsoftware/minimoogv/index.phpあれだけのつまみを回して音作りをするのは本当に大変だから、シンセサイザーの音作りを専門にしているエンジニアもいるのだ。
こうやって作った(プログラムした)音のいくつかはプリセットデータとして本体に内蔵されていたりした。
ところで、このプリセットされたデータは、プログラム番号を指定して呼び出すのだが、このプログラム番号はmidiの楽器の音色を指定するコントロールチェンジ番号に対応している。だから、このプログラム番号は0~127の128種類しか指定できない。
これでは、数が足りないので、バンクという概念を作って、複数のバンクに各々128種類の音色(プリセット)を入れられるようにしている。だから、バンクを切り替えると、また別の128種類の音色を指定できることになる。
パソコンのソフトシンセは、このプリセットデータもファイルとして保存している。バンク毎(128種類)の音色を保存しているファイル(拡張子が.fxb)とプログラム番号毎(1種類)の音色を保存しているファイル(拡張子が.fxp)がある。これらの音色(要はつまみやスライダーの値だ)のデータは、パッチデータと言われている。
VSTのパッチデータファイルの拡張子
.fxb Effect Bank File
.fxp Effect Program File
ところで、ソフトシンセではこのプリセット音色(パッチデータ)をファイルから読み込んだり、自分でプログラムした音色をファイルに保存できるようになっている。そして、これらの音色データは実はネット上にたくさん公開されている。
といいうことで、今日はネット上に公開されているMinimogueVAの音色データをダウンロードしてこれを使ってみることにする。
ファイルを読み込んでパッチデータを変更してしまうと、現在の設定が消えるので、まず現在のデータを保存すことにする。
MinimogueVAのメニューから、Effect→Save As で名前を付けて保存する。拡張子は.fxbにする。保存先はMinimogueVAと同じフォルダにすると良い。
次に、ネットからパッチデータをダウンロードしてみる。
下記のサイトにパッチデータがアップされている。
http://home.no/gunnare/downloads.htm
ここからは、次のようなパッチデータがダウンロードできる。
・MellowMoogBass.fxp
・1resominibass6.fxp
・extra sounds6.fxb
・frank_minimogue.fxb
・Scotty doodles.fxb
ダウンロードして解凍したパッチデータは、MinimogueVAと同じフォルダに入れておくと良いと思う。
さて、ではこのパッチデータを読み込んでみる。
拡張子が.fxbの場合 Effect→Load
拡張子が.fxpの場合 Effect→Load Program
(最初にプリセットされていたパッチデータ)

(extra sounds6.fxbのパッチデータ)
本物のminimoogとフリーのMinimogueVAを聞き比べてみた
昨日紹介したminimoogそっくりのフリーVSTi「
MinimogueVA」の音は実はかなりのレベルだ。今日は、MinimogueVAと本物のminimoogとの聞き比べができるサイトを紹介する。
モーグ博士設計の最後の作品に minimoog Voyager Performer Edition とうのがある。値段は60万円近くする。
minimoog Voyager
http://web2.moridaira.com/Moog/mvoyager.htmこんな Minimoog Voyager Performer と フリーの MinimogueVA の音を比較できるページがこれだ。)
http://home.no/gunnare/sound.htm
聞き比べてみたが、全く遜色がないので驚いてしまう。
このサイトからは、「MinimogueVA」の機能強化版(
The LUXUS-version )をダウンロードすることもできる。
http://home.no/gunnare/MinimogueLUXUS.zipVSTiの本体は、MinimogueLUXUS.dll になってる。このバージョンにはスタンドアロン版が入っていないので、SAVIHostをコピーしてスタンドアロン版を作ってみた。

つまみの数がVA版に比べ増えている。なんかすごいな。
あのminimoogクローンのVSTiがフリーで使える
シンセサイザーの父ロバート・モーグ博士が、去年亡くなった。モーグ博士は電子楽器テルミンをもとにして1964年に
モーグ・シンセサイザーを発明したのだという。そして、日本で最初のにモーグ・シンセサイザーを買ったのは、あの冨田勲さんだ。
http://www.rock-cd.info/history/1964moog.htmlモーグ・シンセサイザーは、巨大な楽器でとてもステージで演奏できるようなものではなかった。そんなことで、彼はより小型化されたシンセサイザー"
minimoog"をアナウンスしたのだった。
http://www.teknobo.com/gallery/moog_minimoog.htmlこのシンセサイザーがどんな音がするかは、ここで聞くことができる。
http://www.rittor-music.co.jp/seminar/km/moog/default.htmところで、「
MinimogueVA」という、このminimoogそっくりのフリー
VSTiがある。しかも、5音ポリモードと、16ステップでシーケンス可能なアルペジエイターが搭載されているというちょっと本格的なソフトシンセなのだ。
本物のminimoogは、数十万円はしたはずだ。市販されているソフトシンセだって3万円ぐらいはする。
http://www.idecs.co.jp/onlinestore/software_synthesizer/minimoogv.phpということで、このフリーのVSTi「MinimogueVA」をダウンロードしてみる。
http://glenstegner.com/MinimogueVA.zip解凍すると「MinimogueVA」のフォルダできる。この中を見ると、なんと
SAVIHostでスタンドアロン化した
MinimogueVA.exeというファイルが入っている。
早速ダブルクリックしてみる。

確かにこれはminimoogの音だ。
スタンドアロンVSTiのプリセットデータを聞く
昨日は、Pipe Organ をキーボードで弾いてみたのだが、今日はもう一つ別のVSTiをダウンロードしてみる。
http://www.uncutplugins.ca/vsti.html昨日と同じ上記のサイトから、Orch Strings をダウンロードして解凍して欲しい。Orch Strings というフォルダができるはずだ。この中に、Orch Strings.dll というファイルがある。これがソフトシンセ(VSTi)の本体だ。
前と同じように次の手順を実行する。
(1) savihost.exe を Orch Strings.dll のあるフォルダにコピーする。
↓
(2) savihost.exe を Orch Strings.exe に名前を変更する。
↓
(3) Orch Strings.exe をダブルクリック。
下の画像のような画面がでる。かなりシンセサイザーっぽい画面だ。

今日はこのソフトシンセにプリセットされている音を聞いてみる。
ソフトシンセは、この画像のようなかっこいいGUI画面のつまみを回したりして、自分で音を作るのが醍醐味なのだが、これだけつまみの数が多いとこれは少々難しい。そこで、大抵のソフトシンセには、予めいくつかのプリセットが用意されている。これには0からの番号が付いている。(Program番号)
ツールバーに左右の矢印があるので、これを押してみる。すると、つまみやスライダーの位置が変化したと思う。こういう風に簡単にプリセットデータを呼び出せるのだ。今、どのプリセットを使っているかは、メニューバーにプログラム番号とプリセット名が表示されるはずだ。このプリセットの選択は、ツールバーの左右の矢印の右隣にある、Select Programボタンを使えば、一覧表示の中から選択することもできる。

プリセットには、名前が付けてあるから、なんとなく出てくる音の雰囲気は推測することができるかもしれない。とりあえず、全部のプリセット音を聞いてくみてださい。
スタンドアロンVSTiをキーボードで弾いてみる
SAVIHostというプログラムは、Standalone Application Vst Instrument Host ということだと思う。まさに、VSTi run like a standalone application なのだ。これを使って
VSTiをスタンドアロンのソフトシンセとして使うことができる。
今日は、昨日作ったスタンドアロンVSTi(Pipe Organ.exe)をパソコンの
キーボードを使って弾いてみる。
まず、Pipe Organ.exeをダブルクリックして起動する。Pipe Organ.exeはsavihost.exeをリネームしたものなので、その
実体はSAVIHostだ。
それでは、
SAVIHostの操作方法に入る。
まず、
パソコンのキーボードを鍵盤の代わりに使うことができる。キー配列は初期設定では下のようになっている。

シフトキーを押しながら弾くと音程が2オクターブ上下する。左のシフトキーが2オクターブ下げる、右のシフトキーが2オクターブ上げるだ。
その他、下のようなキー操作で、キーボードのオクターブの変更や、キーボードの左側にあるwheelの操作も可能だ。
Ins, Del = increment/decrement pitch wheel data
Home, End = increment/decrement modulation wheel
PgUp, PgDn = increment/decrement key velocity
Left, Right = decrement/increment upper keyboard octave
Down, Up = decrement/increment lower keyboard octave
ツールバーの?ボタンの左側にある
Configure Keyboard Bar ボタンを押すと下のようなダイアログボックスが出る。この設定画面で、
Octave Indicators にチェックを入れておくとわかりやすい。
VSTiをスタンドアロンのソフトシンセとして使う
昨日書いたように、ソフトシンセにはスタンドアロンのアプリケーションとして動くものと、他のソフト(例えばDAW)のプラグインとして動くものの二つがある。
VSTiは、後者の方なので、これを使うためには
VSTiの親になるプログラム(
ホストプログラム)が必要なのだ。この親になるプログラムは、CubaseとかSonarといったDAWのソフトであることが多いのだが、これはちょっと高い。
ところが、このVSTiをまるで
スタンドアローンのソフトシンセのように変えてしまう、魔法のソフトがあるのだ。しかもフリーだ。今日は、このソフトのテストをしてみる。
まず、下のファイルをダウンロードして解凍する。
http://www.hermannseib.com/programs/savihost.zipそうすると
savihost.exe というファイルができる。これが、ホストになるプログラムだ。でもこのままでは使えない。
次に、ソフトシンセ(VSTi)の方は用意する。
http://www.uncutplugins.ca/vsti.htmlこのサイトの一番下にある、Pipe Organ をダウンロードして解凍して欲しい。Pipe Organ というフォルダができるはずだ。この中に、
Pipe Organ.dll というファイルがある。これがソフトシンセ(VSTi)の本体だ。名前からわかるように他のプログラムから呼び出す形式(Dynamic Link Libraly)になっている。
では、このVSTiをまるでスタンドアローンのソフトシンセの使う方法を説明する。手順通りにやってください。
(1) savihost.exe を Pipe Organ.dll のあるフォルダにコピーする。
↓
(2) savihost.exe を Pipe Organ.exe に名前を変更する。
↓
(3) Pipe Organ.exe をダブルクリック。
これで、下のような画面だ出れば成功だ。

さっそく、鍵盤をマウスでクリックしてみよう。重厚なパイプオルガンの音が出ただろうか。
ソフトシンセを使ってみよう
昨日までは、
VSTプラグインを使って、音楽に
エフェクトをかけることにチャレンジしてみたのだが、今日はVSTの楽器版
VSTiについてちょっと説明する。
コンピュータ・ミュージックと言えば何と言ってもシンセサイザーは欠かせない。
今のようなシンセサイザーの原型ができたのは1960年代で、超有名なのが
Moogというアナログシンセサイザーだ。
その後、シンセサイザーはコンピュータの発展と共に進化し、アナログからデジタルに変わった1980年代には、MIDIでコントロールできる楽器になった。
シンセサイザーの歴史
http://maniacsound.net/synth.htmlシンセサイザーがデジタルになったということは、シンセサイザーの中身はいわばコンピュータだ。だから、このシンセサイザーは、高性能になった今のパソコンでほとんど同じものを再現することができるのだ。
こういうパソコン上で動くシンセサイザーは、ソフトウェアでできたシンセサイザーということで、ソフトシンセなんて言っている。
このソフトシンセにも2種類あって、パソコンのスタンドアロンのアプリケーションとして動くものと、他のソフト(例えばDAW)のプラグインとして動くものがある。
DAW(Digital Audio Workstation)
http://ja.wikipedia.org/wiki/DAWプラグインとして動くシンセサイザーの仕様は、VSTというものにほぼ統一されており、この仕様に沿って作られたソフトシンセは、
VSTi(Virtual Studio Technology Instrument)といわれている。

VSTプラグインって何?
http://allabout.co.jp/entertainment/dtm/closeup/CU20030222/明日からは、このVSTiをパソコンで使える環境を作ることにチャレンジしてみる。