最近、VSTプラグインなるものを開発しております。何かというと、まあソフトシンセの一種なんですが、単体で動作するわけではなくてホストアプリに組み込まれて動作するタイプのモジュールです。VSTというのはもともとドイツのSteinberg社が提唱した規格ですが、本家のCubaseをはじめ、SONARなど大多数のDAW(MIDIとオーディオを統合した音楽制作アプリケーション)が対応しています。いわばDAW界のデファクトスタンダードみたいなものですね。
これを使うと何が便利かというと、外部のシンセとまったく同じように扱えるということなのですね。VSTのVとはVirtual(仮想の)という意味であり、シーケンサー上に仮想のシンセを自由に組み合わせて演奏させることができるわけです。最近のPCの能力からすると完全にハードのシンセを上回っており、もはやソフトシンセだけですべてを賄えるようになってしまいました。ハードと違って場所を取らないので良いことづくめです。これじゃ電子楽器メーカーも苦しいでしょうなぁ・・(^_^;
そのVSTプラグインは普通市販されているものを購入したり、フリーで出回っているものも多数ありますが、それを自分で作っちゃおうということで開発が始まったわけです。一応SteinbergからSDKという形で規格が公開されているので、それに従えば自作することも可能なわけです。とは言っても、最初はそんなに簡単ではありませんでした。サンプルのソースはビルドできても、いざ自分で作ろうとするとわけのわからないコンパイルエラーがいっぱい出てきて二日くらい悩みました。リファレンスはあっても手順書みたいなものがまったくないので、何から始めればいいのかさっぱりわからないんですよね。おまけにこの手の情報はすべて英語と来ています。英文を読むのを嫌がっていては何にも進みません。
それは結局ソースをじっくり読んでいるうちに解決していったわけですが、プラグインを作ること自体はそんなに難しくありません。要するに波形を生成する部分だけ作ってやれば、あとはホスト側が音声出力処理をやってくれるのでとっても簡単です。MIDIの演奏もホスト側がやってくれるので、最小限の労力で実用になるシンセができます。
いきなりサンプラーなんかを作ってしまいましたが、拍子抜けするほど簡単でした。だって読み込んだ波形をそのまま鳴らすだけですから普通のシンセよりむしろ簡単です。ただそれだけでは音楽にならないので、音程ごとに周波数を変えてやる必要があります。これは結構難しいと思ってましたが、やってみるととても簡単にできることがわかりました。周波数を変えるには波形を引き伸ばしたり縮めたりする必要があるのかなと思ってましたが、発想をまったく変えて、波形テーブルを読み出す速さを変えればいいだけのことです。要するにテープを早回ししたり遅回ししたりするのと同じことですね。実際には元の音程からあまり離れると全然違う音になってしまうので、実用的には音域ごとにマルチサンプルにする必要がありますが、そういううるさいことを言わなければ原理は非常に簡単です。
ピアノの波形を入れてやれば、当たり前ですがちゃんとピアノの音が鳴ります。一応和音も出せるようにしてみました。自宅のキーボードで弾くとちゃんとリアルタイムで演奏できるではありませんか。ちょっとプチ感動です。(笑)
とは言うものの、これで売り物になるかというと話は別です。市販ソフトは言うまでもなく、フリーで配布されているものであっても非常にレベルの高いものがゴロゴロしています。わざわざ自分で作る必然性など何もありません。こんなオモチャみたいなものでは逆立ちしても金を取ることはできません。しょせんは自分で作ってみました・・・という自己満足のレベルなんですよね。自分の作ったシンセで自分の曲を作るというのが究極の自己満足か・・(笑)
ちゃんと実用に耐えるものを作るにはまだまだやらなければならないことがいっぱいあるわけで、そんなに簡単な話ではありません。なんかあちこち「さわり」の部分だけつまみ食い的に手を出して、「完成品」を一つも作れないのは非常に消化不良な気分ですな。一つでいいから「売り物」になるものを作ってみたいと思ってるんですが・・
そして今度はついにホストの方まで作り始めました。(^_^; ホスト側は音声の出力処理をやらなければいけないのでプラグインよりかなり面倒ですが、まあこの辺はすでにノウハウが蓄積されているのでそんなに苦労せずにできちゃいましたが・・。確かにプラグインだけ作ってもホストがなければ何の役にも立たないわけで、デモ用みたいなものですが、こんな超低機能なホストなんか作っても意味あるんでしょうかねえ?(^_^; 市販のホストは買えば高いですが、フリーのホストも存在してますし、ちょっと試すくらいなら十分実用になります。これぞまさに究極の自己満足ですな・・(笑)
ホストとプラグインを両方作るということは、結局スタンドアロンのシンセを作るのと何も変わりません。VSTを使ったからと言って簡単になるわけでも何でもなく、すべてを自分で作らなければならないのは同じです。ここまで来ればスタンドアロンのシンセを作るノウハウはすべて身に付いてしまいました。あとは時間さえあれば「製品化」することも夢じゃないのか・・・
これを使うと何が便利かというと、外部のシンセとまったく同じように扱えるということなのですね。VSTのVとはVirtual(仮想の)という意味であり、シーケンサー上に仮想のシンセを自由に組み合わせて演奏させることができるわけです。最近のPCの能力からすると完全にハードのシンセを上回っており、もはやソフトシンセだけですべてを賄えるようになってしまいました。ハードと違って場所を取らないので良いことづくめです。これじゃ電子楽器メーカーも苦しいでしょうなぁ・・(^_^;
そのVSTプラグインは普通市販されているものを購入したり、フリーで出回っているものも多数ありますが、それを自分で作っちゃおうということで開発が始まったわけです。一応SteinbergからSDKという形で規格が公開されているので、それに従えば自作することも可能なわけです。とは言っても、最初はそんなに簡単ではありませんでした。サンプルのソースはビルドできても、いざ自分で作ろうとするとわけのわからないコンパイルエラーがいっぱい出てきて二日くらい悩みました。リファレンスはあっても手順書みたいなものがまったくないので、何から始めればいいのかさっぱりわからないんですよね。おまけにこの手の情報はすべて英語と来ています。英文を読むのを嫌がっていては何にも進みません。
それは結局ソースをじっくり読んでいるうちに解決していったわけですが、プラグインを作ること自体はそんなに難しくありません。要するに波形を生成する部分だけ作ってやれば、あとはホスト側が音声出力処理をやってくれるのでとっても簡単です。MIDIの演奏もホスト側がやってくれるので、最小限の労力で実用になるシンセができます。
いきなりサンプラーなんかを作ってしまいましたが、拍子抜けするほど簡単でした。だって読み込んだ波形をそのまま鳴らすだけですから普通のシンセよりむしろ簡単です。ただそれだけでは音楽にならないので、音程ごとに周波数を変えてやる必要があります。これは結構難しいと思ってましたが、やってみるととても簡単にできることがわかりました。周波数を変えるには波形を引き伸ばしたり縮めたりする必要があるのかなと思ってましたが、発想をまったく変えて、波形テーブルを読み出す速さを変えればいいだけのことです。要するにテープを早回ししたり遅回ししたりするのと同じことですね。実際には元の音程からあまり離れると全然違う音になってしまうので、実用的には音域ごとにマルチサンプルにする必要がありますが、そういううるさいことを言わなければ原理は非常に簡単です。
ピアノの波形を入れてやれば、当たり前ですがちゃんとピアノの音が鳴ります。一応和音も出せるようにしてみました。自宅のキーボードで弾くとちゃんとリアルタイムで演奏できるではありませんか。ちょっとプチ感動です。(笑)
とは言うものの、これで売り物になるかというと話は別です。市販ソフトは言うまでもなく、フリーで配布されているものであっても非常にレベルの高いものがゴロゴロしています。わざわざ自分で作る必然性など何もありません。こんなオモチャみたいなものでは逆立ちしても金を取ることはできません。しょせんは自分で作ってみました・・・という自己満足のレベルなんですよね。自分の作ったシンセで自分の曲を作るというのが究極の自己満足か・・(笑)
ちゃんと実用に耐えるものを作るにはまだまだやらなければならないことがいっぱいあるわけで、そんなに簡単な話ではありません。なんかあちこち「さわり」の部分だけつまみ食い的に手を出して、「完成品」を一つも作れないのは非常に消化不良な気分ですな。一つでいいから「売り物」になるものを作ってみたいと思ってるんですが・・
そして今度はついにホストの方まで作り始めました。(^_^; ホスト側は音声の出力処理をやらなければいけないのでプラグインよりかなり面倒ですが、まあこの辺はすでにノウハウが蓄積されているのでそんなに苦労せずにできちゃいましたが・・。確かにプラグインだけ作ってもホストがなければ何の役にも立たないわけで、デモ用みたいなものですが、こんな超低機能なホストなんか作っても意味あるんでしょうかねえ?(^_^; 市販のホストは買えば高いですが、フリーのホストも存在してますし、ちょっと試すくらいなら十分実用になります。これぞまさに究極の自己満足ですな・・(笑)
ホストとプラグインを両方作るということは、結局スタンドアロンのシンセを作るのと何も変わりません。VSTを使ったからと言って簡単になるわけでも何でもなく、すべてを自分で作らなければならないのは同じです。ここまで来ればスタンドアロンのシンセを作るノウハウはすべて身に付いてしまいました。あとは時間さえあれば「製品化」することも夢じゃないのか・・・
トラックバックURL↓
http://wadati.blog10.fc2.com/tb.php/715-a5df5de7

