読者です 読者をやめる 読者になる 読者になる

オルトプラスエンジニアの日常をお伝えします!

0から作るVSTプラグイン制作 vol.1

AdventCalendar

※この記事はAltPlus Advent Calendar 2016の20日目の記事です。

お疲れ様です。新卒の山端です。会社ではクライアント側のプログラムを担当させていただいてます。本日は『0から作るVSTプラグイン制作 vol.1』というタイトルで、記事を書かせていただきます。vol.1 ではVST Pluginがどういったものか〜制作環境のインストールまでについてまとめさせていただきます。

 

0.はじめに

今回の記事ですが、VSTプラグイン制作未経験者である筆者が、できるだけ楽な道を選んでVSTプラグインを作っていくという内容になります。そのため誤った内容が多数あるかと思います、お気づきの方はコメントなどでご指摘いただけますと幸いです。


1.VSTプラグインって何?

それではまず初めに今回製作しようとしているVSTプラグインについて説明をさせていただきます。波形編集を行ったことがる方にはなじみがあるかと思いますが

VST(Steinberg's Virtual Studio Technology)はシンセサイザーやエフェクター・プラグインと波形編集ソフトウェアやDAW(統合型の音楽制作環境)間のリアルタイムなデータ受け渡しを担い、波形編集するプログラムを『プラグイン』として提供するための標準的な規格の一つとなります。

つまり、VSTプラグインとは、VSTと言う規格で【波形編集ソフト】や【楽曲制作環境】と連携して波形を入出力できるソフトウェアのことを言います。

f:id:kazuha-yamahata:20161220192854p:plain

VSTプラグイン 『Harmor』


2.VSTプラグインを使うと何ができるの?

VSTプラグインを使うと、VST形式に対応した音声編集環境間で波形を入出力することが可能です。
つまり、VSTプラグインを作ると『VST形式に対応した音楽制作環境』で『自分の書いたコードによって処理をした音』を出力することができます。

f:id:kazuha-yamahata:20161220192822p:plain

VSTを使用する音楽制作環境 『FLStudio』


3.VST制作の方法

VSTプラグインの制作方法は様々ですが一番メジャーな方法は、C++とSDKを使っての作成方法となります。一般で市販されているVSTプラグインもほとんどがこの方法で制作されているかと思います。ですが、C++を使っているため波形処理・GUIの作成等もすべてコードを記述して実装せねばならず、0から始めるにはハードルがとても高いです。(その分、動作速度や細かいチューニングが可能です。)そのため、今回は別の方法をとることにしました。それが次に説明するPureDataを使った方法です。


4.PureDataについて

PureDataはオープンソースのマルチメディア作成用ビジュアルプログラミング言語で、
演算機能をもつオブジェクト同士を視覚的に接続していくことでフローを作成し、データを処理します。PureDataは信号処理ソフトウェアとして44100 サンプル毎秒のサンプリング周波数と64サンプル毎に1ブロックの制御レートを実現しており、波形処理に関する様々な機能を持っているため、複雑な波形処理をオブジェクト1つを接続することで簡単に実現することができます。

このPureDataで作成した波形編集を行うパッチをpdvstPD Pulpを使うことで各種VSTホストに接続できるようにすることで、今回はVSTプラグインを実装していきます。

f:id:kazuha-yamahata:20161220200418p:plain

PureDataによるパッチ


5.PureDataのインストール

Puredataはこちらからダウンロードしてインストールを行います。リンク先より自分の環境にあったインストーラーを選択します。(自分はWindowsのインストーラーを選択しました。)

インストール設定は基本的に初期設定のままで問題ありません。『追加タスクの選択』画面でCreate a desktop iconを選択するとデスクトップ画面にショートカットが作成されるため、選択しておくといいかもしれません。

f:id:kazuha-yamahata:20161220192846j:plainf:id:kazuha-yamahata:20161220192849j:plain

PureDataのインストーラ

 

インストール完了後にデスクトップにできているアイコンを実行するとPureDataの実行画面が開きます。これでPureDataの開発環境は整いました。あとは実際にコードを書いていくのみとなります。そんな所で、今回の記事は以上となります。 

f:id:kazuha-yamahata:20161220192851p:plain

PureDataの実行画面

 

次回の記事では実際にPureDataを使って音声波形を編集するところまでまとめさせていただこうと思います!最後までお読みいただきありがとうございました。