探検


VST Plugins Development 5.1

■ このスレッドは過去ログ倉庫に格納されています
2016/05/11(水) 13:46:51.16ID:S/KqDQJs
VST開発者のためのスレッドです。


Steinberg
http://www.steinberg.net/en/company/developers.html
(VST 2.4 SDK の公開は終了しました)
JUCE
http://www.juce.com/


前スレ
VST Plugins Development 5.0
http://potato.2ch.net/test/read.cgi/dtm/1457068285/
2016/05/11(水) 13:47:14.42ID:S/KqDQJs
即死回避で20レス埋めます
2016/05/11(水) 13:47:19.93ID:S/KqDQJs
3
2016/05/11(水) 13:47:53.27ID:S/KqDQJs
4レス目
2016/05/11(水) 13:48:02.73ID:S/KqDQJs
5れす
2016/05/11(水) 13:48:10.67ID:S/KqDQJs
6れす目
2016/05/11(水) 13:48:25.01ID:S/KqDQJs
7レース
2016/05/11(水) 13:48:39.45ID:S/KqDQJs
8レッスゥ
2016/05/11(水) 13:48:46.15ID:S/KqDQJs
9レスレス
2016/05/11(水) 13:48:54.56ID:S/KqDQJs
10レレレス
2016/05/11(水) 13:49:05.10ID:S/KqDQJs
11れすれ
2016/05/11(水) 13:49:14.90ID:S/KqDQJs
12れすすす
2016/05/11(水) 13:49:21.57ID:S/KqDQJs
13スレスレ
2016/05/11(水) 13:49:28.32ID:S/KqDQJs
14レスかよ
2016/05/11(水) 13:49:34.37ID:S/KqDQJs
15レスやねん
2016/05/11(水) 13:49:41.04ID:S/KqDQJs
16レスでんがな
2016/05/11(水) 13:49:47.36ID:S/KqDQJs
17レスせやろ?
2016/05/11(水) 13:49:56.76ID:S/KqDQJs
18レスやなしかし
2016/05/11(水) 13:50:05.11ID:S/KqDQJs
19レスかーい!
2016/05/11(水) 13:50:12.78ID:S/KqDQJs
20レスってお前ww
2016/05/11(水) 20:49:22.24ID:LKgtYQJO
おつ
2016/05/25(水) 13:49:13.44ID:Ga7mNovc
みんなC#で作ってるのかい?
2016/05/26(木) 01:29:52.63ID:kYzVoAxW
C/C++で作ってる
2016/05/26(木) 03:26:02.13ID:AWngb05A
>>22
C#で作れるの?GUI作るの楽そうだな
2016/06/08(水) 00:19:21.42ID:27EUN5Tl
復活してたのか
とりあえず日本語の参考リンク

・VSTプラグイン
【2.4】
http://www.geocities.jp/daichi1969/index.html
http://www.g200kg.com/jp/docs/makingvst/
http://www39.atwiki.jp/vst_prog/
http://vstcpp.wpblog.jp/
http://bumpy.sblo.jp/
【3.x】
http://vstcpp.wpblog.jp/

・VSTホストアプリケーション
【2.4】
http://hwm.hatenablog.com/entry/2013/12/04/203216
【3.x】
http://hwm.hatenablog.com/entry/2014/12/01/233320
2016/06/09(木) 20:03:30.97ID:kjlvBHgx
「Steinberg VST License」ってどういうものなんだろう
27名無しサンプリング@48kHz
垢版 |
2016/06/11(土) 14:15:05.66ID:Cs/f1hmA
>>26
SDKのドキュメント内にある「VST Licensing Agreement」の内容のこと?
2016/06/11(土) 18:38:59.27ID:rC0DBQqU
ライセンスとしてはゆるいんだけど再配布禁止が足かせ。これがGPLと相容れない、らしい。
GPLはソース公開を拒否できないから、繋ぐと問題なんだとか。
VSTSDKのとこだけ空ファイルにしとけばいいんじゃないの?て思うんだけど、だめかな?

LMMSについてる VeSTige だっけ?は互換ライブラリらしいんだけど
見たら aeffect 相当のすごい素朴なソースだったわ
2016/06/26(日) 08:10:40.04ID:BoOR9tsG
a
2016/07/23(土) 23:26:09.07ID:FZFicFBe
GPLと相性悪いのはそうかもしれないけど、ぶっちゃけなんも困らんな。
どうせVC++で作るし、GPL縛りのソフト使う場面が無い
2016/07/26(火) 01:23:30.15ID:V/rhbgKE
どっかのソフトの人は地味に困ってたのこの辺で
自分が使わないから問題ない人もいるってだけじゃないかな
2016/07/26(火) 01:52:57.95ID:YqFTTobn
そうか、困ってる人もいるのか
SDKのAPI部分の仕様を完璧に模倣して自作したら
再配布可なんじゃね?
2016/07/30(土) 15:15:14.44ID:lxnBlmHD
ど初心です
audio unitのエフェクターを作ろうと思い立ち、調べ始めているのですが、audiounitを作る場合なにを勉強していけばいいでしょうか

プログラミングもベーシックとフォートランしかありません

audiounitは開発者スレも見つけられずこちらに書き込んでしまいましたスレチでしたらすいません
2016/07/31(日) 03:25:55.04ID:V47VYPKR
MACとAudioUnitはほとんど知らないけど…

開発するならXCode使うと思うからC++の勉強する必要があると思う。
AudioUnitプログラムを作る場合はXCodeにSDKの導入とかも必要だろうから
XCode自体の使い方も必要だと思う。

参考になるかどうかわからないけど↓のリンク見つけた
 https://blog.codecamp.jp/xcode_install
 http://muk99.hateblo.jp/entry/2015/04/04/202407

あとは音声についてとかエフェクターの仕組みとかじゃないかな?
このあたりはここで聞けるかも。
2016/07/31(日) 04:23:43.55ID:N4rhsE1D
iOSだとSwiftだけどMacは普通にC++なのかな?
2016/07/31(日) 04:53:19.20ID:+qzc0wuV
基本Macはswiftかobjective-cでしょ
3734
垢版 |
2016/07/31(日) 10:57:02.78ID:V47VYPKR
swiftかobjective-cだったか…
2016/07/31(日) 14:00:51.34ID:w+7wrdI7
ありがとうございます

まずhallo worldからです(>人<;)
半年後ぐらいをめどに自作コーラスを作れたらなと思います
xcodeとswiftから調べてきます
2016/09/03(土) 15:15:07.37ID:I5ueQte2
テンポ同期のディレイ作ってるんだけど、
例えば10BPMみたいな超低BPMを想定すると、リングバッファーのサイズが膨大になって動作不具合起こしそうなんだけど
これ他の人はどうしてるんだろ。
極端な話、サンプリングレート48000KHzで1BPMで1/1の設定だと
用意するリングバッファーは288万バッファ?

1BPMなんて極端な環境だったら、先に他のプラグインが不具合起こしそうだから別にいいんだろうか
2016/09/03(土) 16:58:49.86ID:UmmeRrDy
>>39
48kHzにfloatでステレオで持ったとして
48000×2×4=384000(1秒)
BPM1として1分だけバッファ持てば良いなら×60で23040000
バイト単位で書くとなんかでかそうに見えるけど/1024/1024すると約22
つまりたった22Mだ。
今時22Mのバッファに文句言われるわけもなく、全然問題なく見えるが
2016/09/03(土) 17:39:55.05ID:UmmeRrDy
違うか、ディレイだからタップ数分増えるのか。
でも例えば1G使ったとしても今時のプラグインだと許されそうな気もする。
ewのPlayとかもっと行ってそうだし。
2016/09/03(土) 17:46:01.43ID:n8ZTAf19
高々ディレイにそんなに食うのはアウトじゃないか?
ディレイ作ったこと無いから分からないが
43名無しサンプリング@48kHz
垢版 |
2016/09/03(土) 20:09:41.84ID:BlYyhXtc
やってみりゃいいじゃん
2016/10/23(日) 22:51:40.00ID:khs6ISnZ
誰かVSTホスト作っている人でRoVeeというVSTを扱えている人いますか?
32bit環境のC++でVSTオーディオエフェクト1本用ホストを作っていて、
GUIの表示やSH-1 Graphic EQなどはエフェクトがかけられるところまでできました。
ですが、RoVee1.21はGUIは出せますがprocessReplacingを呼ぶと
無音(±1程度)の波形が返されてうまくいかないのです。

Cubaseや猿ちぃ04だと正しくエフェクトかかるのですが、
このVSTはオーディオ部分以外の初期化も必要なのでしょうか。
4544
垢版 |
2016/10/24(月) 21:53:46.22ID:NmrVH84/
自己解決しました。
入出力バッファの正規化が抜けていたようです。。ああぁぁ
46名無しサンプリング@48kHz
垢版 |
2016/11/17(木) 01:35:48.29ID:NoanAcQE
VST3の開発で質問なんだけど
カスタムビューとサブコントローラってどういう意味なの?
だれかおしえてくだちい
2016/11/17(木) 20:44:11.86ID:rdzKJh04
カスタムビューはたぶん自分で作ったUIのことだと思う。
サブコントローラはわかんない。

VST SDKのドキュメントになさそうだけど何かの本かな?
前後の文脈が分かればなにかこたえれるかも。
48名無しサンプリング@48kHz
垢版 |
2016/11/19(土) 21:39:42.64ID:AZa6Y+EB
>>47
返信サンキューです
カスタムビューとサブコントローラはVSTのドキュメントの
VSTGUI4.3のNew Inline UI Editor for VST3 (WYSIWYG) の下のほうに
書いてあるんだよ ただいきなり出てきたから意味が分からなくて…

ちなみに俺がやりたいのはGUI上のボタンを押したときにGUIの表示を
切り替えたい 
そのヒントになるかと思って質問した次第です
2016/11/21(月) 23:10:06.55ID:1/BMkUZx
確かにサブコントローラの記述あるね。

作成したViewの微調整が必要な時などに使われるって書かれてるから
ある同じパラメータを操作するための別のコントロールって感じがする。

「GUI上のボタンを押したときにGUIの表示を切り替えたい」っていうのとは
ちょっと関係ないかも。
英語苦手だから間違えてたらごめんよ。

このWYSIWYGツール使ったことないからよくわからないけど
ノブとかスライダー見たいなコントロール貼り付けて見た目設定してパラメータと
関連付けるだけっぽい気がする。

このツールだけだとやりたいことはちょっと無理かも…?
2016/11/21(月) 23:11:12.07ID:1/BMkUZx
コード書いてGUI作るならCTabView使えば似たようなこと出来そうと思った。
ボタンの位置とか挙動がちょっと要望に合わなさそうだけど…

ちなみにノブとかスライダーの見た目(背景とかハンドル画像)を変えたいだけなら
各コントロールのsetBackground()とかsetHandleBitmap()呼び出した後に
setDirty()呼び出せばいいよ。

回答になってなくてごめんよ
2016/11/23(水) 20:37:49.09ID:SA96HqOL
VST3作ってるけど、下のケースでパラメータ保存をどうすればよいかわからない。

DAW上での操作
1: プラグインをdisabledにする
2: プラグインのパラメータを変更する
3: プラグインを保存する (IAudioProcessor::getStateが呼ばれるが、disabled状態だとパラメータ変更後にたぶんprocessが呼ばれないので古いパラメータしか保存できない)

IEditController側はプラグインがdisabledのときでもパラメータ変更を知っているから、
パラメータ保存はIEditController::setStateで行うのが正しい?

みんなどうしてる?
2016/11/23(水) 21:02:42.40ID:SA96HqOL
少し調査結果
AGainサンプルはこの問題を対処できていない。

少なくともReadper, VST3PluginTestHost, FL Studioでは
IAudioProcessor::setState
IEditController::setComponentState
IEditController::setState
の順番で呼ばれるから。強引にIEditControllerでも同じパラメータをgetState, setStateしておけば
IAudioProcessor単独の場合でも、IAudioProcessorとIEditControllerが両方使われる場合でも対応できそう

他のDAWでどうなんだろう?
53名無しサンプリング@48kHz
垢版 |
2016/11/26(土) 22:33:27.86ID:uTVTYKPh
>>49
うへー やっぱり無理かぁ
俺もいまいろいろやってみたけどできなさそうだった
コード書いてGUI作っていくしかなさそうだ
2016/11/30(水) 20:09:43.12ID:ikZILQt5
>>51,52
手元にあったSequel 3と付属のプラグインで試してみたけど
Disable状態にしてパラメーターいじって保存したら反映されなかった。

ちなみにSDK付属のマニュアルにあるFAQ「Q: How does persistence work?」を見ると
コンポーネント側(IAudioProcessor側)と同期するためにsetComponentState()が
呼ばれるって書いてる。

AGainサンプル見るとコントローラ側(IEditController側)は
コントローラ固有の状態のみ保存してるっぽい。
なのでなんとなくコンポーネント側のgetState()だけで保存するのがよさそう。

まぁ動くならそれでいいんじゃないかな?という気もするけど。
2016/12/06(火) 01:21:38.17ID:gTRO+z2P
JUCEのフォーラム見たら、GPL版はソースでの配布を前提としている
例えソースコードが別途提供されていたとしても
バイナリ化したものの配布はVSTSDKと合わさってライセンス違反になる
的な事を開発者が言ってたんだけど、これどうしようもないのかな?
56名無しサンプリング@48kHz
垢版 |
2016/12/11(日) 00:46:28.53ID:TV+DR5So
素人はJUCEはやめといたほうがいいぞw
2016/12/11(日) 08:12:26.80ID:3H/N+037
JUCEはGPLだからなぁ
多分どうしようもない
2016/12/13(火) 23:33:04.66ID:KfOkpDpC
そうか、ありがと。WDL-OL使って作り直した。
2016/12/16(金) 18:17:43.69ID:rAr7gzbP
クローズドソースでやりたかったら1000ドル払えって商品だからなぁw
Juceって
2016/12/16(金) 21:22:09.79ID:t6G7iowD
クローズドでなくてソース公開してもいいんだけど
バイナリでも配布したいんだよね。

そういう人は多いはず。
2017/03/04(土) 14:54:11.73ID:l/vZGxHG
保守あげ
2017/03/09(木) 18:47:59.28ID:KFV8KmuW
おい VST SDK がGPLでもOKになったみたいだぞ
元ネタはKVRなんだがURL長すぎ
Steinberg VST 3.6.7 SDK Released (build 352) - Linux support and new licensing model
て記事

GitHub ttps://github.com/steinbergmedia/vst3sdk
License https://sdk.steinberg.net/viewtopic.php?f=4&;t=282
2017/03/09(木) 21:23:47.55ID:xeWd5g23
dual-license化おめ

KVRの記事はこれですな
ttp://www.kvraudio.com/news/36524
2017/03/13(月) 21:12:31.51ID:PXxoFn4w
朗報やな
2017/03/13(月) 21:15:22.68ID:PXxoFn4w
あー某オープンソースソフトが最近VST対応しだしたのってこれのおかげなんかな
66名無しサンプリング@48kHz
垢版 |
2017/05/03(水) 01:46:14.83ID:oSPBN82s
自作エフェクトがコマンドラインだと使いにくいのでVST化したいのですが、処理するPCMデータとは別に
モノラルトラック2本分の数値データを処理している箇所に同期して取得することは出来るのでしょうか?

最初はNyquist(+Audacity)で作ろうと調べたのですが処理するPCMデータとは別にモノラルトラック2本分の
データを同時に得る方法が判らなくてコマンドラインツールになった経緯があります
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況