C++でVST作り内検索 / 「vst gui91」で検索した結果

検索 :
  • vst gui91
    ...ude "vstcontrols.h"  // ============================================================================================// 設計情報の記入// ============================================================================================#define MY_VST_VENDOR "test vendor" //作者(ベンダー)名#define MY_VST_VERSION 1 //このVSTバージョン#define MY_VST_PRODUCT_NA...
  • vst gui94
    ...ude "vstcontrols.h"  // ============================================================================================// 設計情報の記入// ============================================================================================#define MY_VST_VENDOR "test vendor" //作者(ベンダー)名#define MY_VST_VERSION 1 //このVSTバージョン#define MY_VST_PRODUCT_NA...
  • vst gui93
    ...ude "vstcontrols.h"  // ============================================================================================// 設計情報の記入// ============================================================================================#define MY_VST_VENDOR "test vendor" //作者(ベンダー)名#define MY_VST_VERSION 1 //このVSTバージョン#define MY_VST_PRODUCT_NA...
  • vst gui90
    ....2」参照) vstcontrols.cpp vstgui.cpp aeffguieditor.cpp (vstsdk2.4\vstgui.sf\vstgui 配下に保存されている。) つまみを追加したサンプルはここ つまみをスライダーに変更したサンプルはここ サンプルコード全体 #define _CRT_SECURE_NO_DEPRECATE 1 #include stdio.h #include stdlib.h #include string.h #include math.h #include windows.h  #include "audioeffectx.h"#include "vstcontrols.h"  // =====================...
  • vst gui92
    ...ude "vstcontrols.h"  // ============================================================================================// 設計情報の記入// ============================================================================================#define MY_VST_VENDOR "test vendor" //作者(ベンダー)名#define MY_VST_VERSION 1 //このVSTバージョン#define MY_VST_PRODUCT_NA...
  • トップページ
    ...するに当たって必要なvstplug.defファイルを作成する No.4 VSTを作成するに当たって必要なコンパイラ、リンカ設定を追加する No.5 VSTをコンパイルするの際の注意事項 最小構成のVST No.1 最小構成のVSTに必要な関数等について No.2 VSTの必須初期化項目について No.3 VSTの音声処理関数について No.4 最小構成のVSTのサンプルソースコード全体 MIDIメッセージ処理 No.1 MIDIメッセージを処理するVSTについて No.2 VSTの初期化とMIDIメッセージ処理関連の変数の初期化 No.3 ホストアプリケーションからMIDIメッセージを受け取る方法 No.4 MIDIメッセージをprocessReplacing()関数中で処理する方法 No.5 MIDIメッセージ処理No.1~No.5で作成したVSTのサンプルソース...
  • VST SDK04
    ...定する) C \vstsdk2.4 同様の手順で以下2つのフォルダを追加する。 C \vstsdk2.4\vstpublic.sdk\sorce\vst2.x C \vstsdk2.4\pluginterface\vst2.x C \vstsdk2.4\vstgui.sf\vstgui 合計: - 今日: - 昨日: -
  • リンク
    リンク VST開発 Daichi Laboratory Synth1作者様のページ。シンセプログラミングやVSTiシンセのサンプルソースがある g200kg Music Software Volvox、KnobMan、SkinMan等の作者様のページ。KnobMan、SkinManはVSTのGUIを作るうえで欠かせないツール。 オリジナルVST製作奮闘記 (2007年末より更新停止?) Sam s Hard Soft DIY (C++BuilderでのVST Plugin作成法。更新停止?) VST開発 - Myun2Wiki (更新停止?) aikeの日記 (時々VST関連の話題がある) CommentOut? (時々VST関連の話題がある) エフェクタアルゴリズム、仕組み等 シンセサイザーの仕組み アナログシンセサイザー WIKI 文系...
  • vst midi03
    トップページ MIDIメッセージをホストアプリケーションから受け取る関数 MIDIメッセージをホストアプリケーションから受け取るにはprocessEvents()関数を利用する。 processEvents()関数 VstInt32 processEvents (VstEvents* events) 戻り値と引数については以下のとおりである。 戻り値(型) 説明 VstInt32 戻り値についてはホストアプリケーションで無視される。ただし、念のため1を返すようにするとよい。 引数 説明 VstEvents* events イベントを保持しているVstEvents型変数(後述)へのポインタ processEvents()関数はMIDIメッセージだけを受け取る関数ではなく、VSTに関するホストアプリケーションからのイベントをすべて受け取る関数となってい...
  • vst minimum04
    VST Tips(準備中) 最小構成のVST 最小構成のVSTのサンプルである。 エフェクターとしてロード可能で、入力をそのまま出力する。 サンプルコード全体 ソースコードのダウンロード→ここをクリック // ============================================================================================// インクルードファイル// ============================================================================================#include "audioeffectx.h" // ==========================================...
  • vst midi05
    トップページ MIDIメッセージ処理 MIDIメッセージにあわせて動作するVSTのサンプルである。 下記VSTはSynthとしてロードされ、常にノイズを発生させる。実行時は音量に注意してほしい。 ノイズのボリュームをMIDI CC7でコントロールできる。 サンプルコード全体 ソースコードのダウンロード→ここをクリック // ============================================================================================// インクルードファイル// ============================================================================================#include stdlib.h #include...
  • vst midi07
    トップページ CMidiMsgクラスの実装 ここでは前項で定義したCMidiMsgクラスについて説明する。 CMidiMsgクラスの実装 CMidiMsgクラスではコンストラクタでclearMidiMsg()関数を呼び出し初期化している。 clearMidiMsg()関数はメンバー変数に初期値を代入している。終了処理はないため、デストラクタでは何もしていない。 CMidiMsg CMidiMsg(void){clearMidiMsg();}  CMidiMsg ~CMidiMsg(void){} void CMidiMsg clearMidiMsg(){// メンバー変数を初期化するcur=0;num=0;memset&...
  • vst synth05
    VST Tips(準備中) MySynthSampleVSTクラスの実装 ここでは音源に必要なクラスの定義で定義したMySynthSampleVSTクラスについて説明する。 MySynthSampleVSTの初期化 MySynthSampleVSTの初期化では初期化ルールに従い初期化を行っている。 MySynthSampleVST MySynthSampleVST (audioMasterCallback audioMaster) AudioEffectX (audioMaster, MY_VST_PRESET_NUM, MY_VST_PARAMETER_NUM){//VSTの初期化を行う。 //以下の関数を呼び出して入力数、出力数等の情報を設定する。//必ず呼び出さなければならない。setNumInputs ...
  • VST EFFECTOR SAMPLE14
    VST(エフェクター)作成例 音声処理 音声の処理 入力音声信号を加工して出力する関数を作成する。 processReplacing関数について 入力音声信号の加工と出力はprocessReplacing関数で行われる。 processReplacing関数の引数は3つあり、以下のようになっている。 引数 説明 float** inputs 入力音声信号のバッファ。2次元配列で渡される。1次元目の大きさはVSTの初期化時にsetNumInputsで指定したサイズ。2次元目の大きさは後述のsampleFramesとなる。書き込まれている音声信号は-1.0~+1.0の範囲 float** outputs 出力音声信号のバッファ。2次元配列で渡される。1次元目の大きさはVSTの初期化時にsetNumOutputsで指定したサイズ。2次元目の大きさは後述のsampleFram...
  • vst minimum03
    VST Tips(準備中) 音声処理を行う関数 ここでは最初で定義したMyMinimumVSTの以下2つの関数のうち、残りの音声処理を行うprocessReplacing()関数について詳細を記載する。 コンストラクタ void processReplacing() processReplacing()関数 AudioEffectXクラスを継承して作った自作クラスは必ずprocessReplacing()関数を継承しなくてはならない。 processReplacing()関数 void processReplacing (float** inputs, float** outputs, VstInt32 sampleFrames); processReplacing()関数の引数については以下のようになっている。 引数 説明 float** inpu...
  • vst synth99
    VST Tips(準備中) 簡単な音源(VSTi)の作成(暫定版) (2011/4/14更新) 【注意】 本サンプルはSynthesizerの基本的な処理を追いやすくするために書かれたコードです。以下の点が大きなバグとして残っておりますのでご注意ください。(小さなバグも多数あります) ノートOFF時に振幅が急激に変化するため、不快なノイズが入ります。(基本的には問題ないと思いますが大きな音量の場合、耳やスピーカーを痛める可能性があります。) なお、本サンプル利用を使用したことによって生じたすべての障害・損害・不具合等に関しては、一切の責任を負いません。各自の責任においてご使用ください。 サンプルコード全体 ソースコードのダウンロード→ ここをクリック (dllファイルも同梱しております。dllファイルのウィルスチェックはしておりませんのでdllフ...
  • VST EFFECTOR SAMPLE16
    ...orStrLenは「vstsdk2.4\pluginterfaces\vst2.x\aeffect.h」に//定義されている。(kVstMaxVendorStrLen = 64)vst_strncpy (text, MY_VST_VENDOR, kVstMaxVendorStrLen);return true;} VstInt32 MyTremoloVST getVendorVersion (){//バージョン(整数)を返す。return MY_VST_VERSION;} bool MyTremoloVST getProductString (char* text){//製品名をtextに格納してtrueを返す。//kVstMaxProductStrLenは「vstsdk2...
  • vst midi01
    トップページ MIDIメッセージを処理するVSTについて ここでは最小構成のVSTで作成したVSTを基にMIDIメッセージにあわせて動作するVSTを作成する。 作成するVSTはロードされると常にノイズを発生させる(音量注意)。このノイズのボリュームをMIDI CC7でコントロールできるVSTを作成する。 最小構成のVSTのソースコード全体はここにある。 MIDIメッセージを処理するに当たって最小構成のVSTに以下の追加を行う。 受け取ったMIDIメッセージを確保するための変数の追加 ホストアプリケーション(Cubase,Sonar等)からのMIDIメッセージを上記変数に保存するprocessEvents()関数の追加 processReplacing()関数内に受け取ったMIDIメッセージを処理するコードの追加 なお、ここに記載している内容についてはMIDIメッセ...
  • effector delay04
    Effector Tips VSTでのシンプルなディレイの作成 前回のリングバッファを用いてVSTでディレイを作成する。 作成するディレイは「ディレイとは」にあるディレイ(下図)とする なお、説明については要点のみ説明する。サンプルコード全体は以下よりダウンロードしてほしい。 ダウンロード ディレイのパラメーター 今回作成するディレイは以下のパラメーターを持つ 1. Delay Level 遅延した音の音量。0%~100%の間で指定する。 2. Delay Time 遅延させる時間。100ミリ秒~1000ミリ秒の間で指定する。 作成するクラスの定義 作成するクラスのメンバー変数として、リングバッファクラスのインスタンスを定義する。(左右のチャンネル分) また、パラメータ用の変数も定義する。 class MyDela...
  • vst midi04
    トップページ MIDIメッセージをprocessReplacing()関数中で処理する方法 前項でprocessEvents()関数によってホストアプリケーションから受け取ったMIDIメッセージをprocessReplacing()関数で処理する方法を記載する。 サンプルコード サンプルコードではロードするとノイズを生成、出力するVSTとなっている。 MIDIのコントロールチェンジメッセージ 7番(ボリュームコントロール)によって出力されるノイズのボリュームを調整している。 void MyMidiSampleVST processReplacing (float** inputs, float** outputs, VstInt32 sampleFrames){//入力、出力は2次元配列で渡される。//入力は-1.0f~1.0fの間で渡される...
  • vst midi06
    トップページ MIDIメッセージを処理するVSTについて2 MIDIメッセージ処理 No1~No5で作成したVSTのMIDI処理については、どんなVSTでもほぼ共通の処理となる。 コードを再利用しやすいように、ここではシステムエクスクルーシブを除くMIDIメッセージに関する処理をクラスとしてひとまとめにする。 MIDIメッセージを処理するクラスは自作VSTクラスで下記のように継承できるように作成する。 class MyMidiSampleVST2 public AudioEffectX , public CMidiMsg // CMidiMsgが今回作成するクラス{: // 以下省略:}; ここで作成するVSTサンプルのソースコード全体はここにある。 MIDIメッセージ処理用クラス定義 MIDIメッセージ処理用クラスは以下のように定...
  • vst synth03
    VST Tips(準備中) 音源に必要なクラスの定義 ここでは前項を実装するため以下2つのクラスを定義している。 VSTiの基本となるMySynthSampleVSTクラス(AudioEffectXから継承するクラス) 波形を生成するCVoiceクラス VSTiのクラス定義 まず、VSTiの基本となるクラスを定義する。 クラスを定義する際はMIDIの処理ができるよう、AudioEffectXに加え、CMidiMsgも同時に継承する #define MAX_OSCILLATORS 8 // オシレータの数(最大発音数) class MySynthSampleVST public AudioEffectX , public CMidiMsg{protected CVoice cvoice[MAX_OSCILLATORS];pub...
  • effector delay05
    Effector Tips シンプルなディレイの改良 前回作成のディレイにフィードバックを追加する フィードバックとは、バッファから読み出したデータを再度バッファに書き込む経路である。 説明については要点のみ。サンプルコード全体は以下よりダウンロードしてほしい。 ダウンロード ディレイのパラメーター 今回作成するディレイは前回作成のディレイにフィードバックの音量を調整するパラメーターを追加する 1. Delay Level 遅延した音の音量。0%~100%の間で指定する。 2. Delay Time 遅延させる時間。100ミリ秒~1000ミリ秒の間で指定する。 3. Feedback Level フィードバックの音量。0%~100%の間で指定する。 processReplacing()関数 ディレイの経路図に従って、pr...
  • vst midi08
    トップページ MIDIメッセージ処理(改良版) MIDIメッセージにあわせて動作するVSTのサンプルの改良版である。 下記VSTはSynthとしてロードされ、常にノイズを発生させる。実行時は音量に注意してほしい。 ノイズのボリュームをMIDI CC7でコントロールできる。 サンプルコード全体 【CMidiMsg.h】 #pragma once#include string.h #include "audioeffectx.h" // ============================================================================================// MIDI処理用の定義// =============================================...
  • effector delay03
    Effector Tips リングバッファに必要な機能 ディレイを実現するに当たり以下の機能を持ったリングバッファを実装する必要がある。 読み出し位置からデータを読み出す機能 読み出し位置を進める機能 書き込み位置にデータを書き込む機能 書き込み位置を進める機能 読み出し位置、書き込み位置の距離を変更する機能 リングバッファの実装例 上記の機能を持ったリングバッファを作成する。 なお、説明については要点のみ説明する。サンプルコード全体は ここ からダウンロードしてほしい。 ディレイ用リングバッファクラスクラスの定義 #define RINGBUFFER_SIZE_DEFAULT 88200   class CRingBuffer { protected float *buffer; int buffersize; int read_p...
  • @wiki全体から「vst gui91」で調べる

更新順にページ一覧表示 | 作成順にページ一覧表示 | ページ名順にページ一覧表示 | wiki内検索