CLAPオーディオプラグイン is 何?
by
Atsushi Eno
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
CLAPオーディオプラグイン is 何? atsushieno
Slide 2
Slide 2 text
CLAPとは 2021年末にu-heとBitwigがKVRでサポート表明して話題になった、 新しいオープンソースのオーディオプラグインフォーマット
Slide 3
Slide 3 text
オーディオプラグインフォーマットとは 「任意のDAW」と「任意の楽器やエフェクター」の任意の組み合わせでお互いが問題なく 動作する仕組み(API、ライブラリ、フレームワーク) Steinberg VST, Apple AudioUnit (AU), LV2 (LADSPA v2), DirectX plugin (DX/DXi)など source
Slide 4
Slide 4 text
u-he? Bitwig? KVR? u-he : オーディオプラグインベンダーのひとつ (Zebra, Hive, etc.) Bitwig : Bitwig Studio DAWの開発元 KVR : 音楽系ポータルサイト(新製品の告知などを自分で出せる)
Slide 5
Slide 5 text
新し…新しくない? 実は昔からあった Post
Slide 6
Slide 6 text
プラグインAPIってどんなやつ? プラグインはこういうやつを実装する(free-audio/clap-plugins のC++コード)
Slide 7
Slide 7 text
CLAPの特徴 (1) MITライセンス ● 誰にも許諾を得ること無く商用プラグインをリリースできる ● VST3はライブラリなのにGPLv3 = 実質商用ライセンス or 自由ソフトウェア ○ JUCEとかもそう
Slide 8
Slide 8 text
CLAPの特徴 (2) C API 他言語でバインディングを作りやすい(ただRT audioの制約は厳しい) 実際にプラグインを作るときはC++等でいい
Slide 9
Slide 9 text
CLAPの特徴 (3) パフォーマンスが良い? プラグインリストの取得が高速 (LV2もそう) スレッドの生成をホストから指示できる (LV2もそう) プラグインのリソースを分離しており、ホストで共有できる (KVR)
Slide 10
Slide 10 text
CLAPの特徴 (4) シンプルで誤解の余地が小さい? Cヘッダコメントが想定される挙動を 細かく説明している (ドキュメントはほとんどない) events.h
Slide 11
Slide 11 text
CLAPでできること 全部拡張機能として作り込まれている
Slide 12
Slide 12 text
LV2でもよかったんじゃないの? (ISC, C API, cross-plat...) u-he「詳しくないんだけど、移植してもらったら投げ出されたことがあって…」 (LV2はわりと難解なのでまあわかる)
Slide 13
Slide 13 text
CLAP対応プラグイン u-he ※READMEのリンク先が死んでて見つけられず SurgeXT OSSのシンセサイザー メイン開発者がCLAPにも少しコミットしている nightly buildには含まれている(らしい) ※現状ほとんどない(free-audio/clap-plugins などはある)
Slide 14
Slide 14 text
CLAP対応DAW Bitwig Studio 4.2 beta1以降で隠しオプションを有効にすれば利用できるが古い 現在 = 2022/5/26 時点でのCLAPバージョンなら4.3beta ※現状ほとんどない(free-audio/clap-hostなどはある)
Slide 15
Slide 15 text
新しいオーディオプラグインフォーマットの課題 DAW「新しいプラグインフォーマットに対応するのは大変…」 プラグイン「新しいプラグインフォーマットに対応するのは大変…」 …でもC++の閉鎖空間とSteinberg(とApple)の独占状況は何とかなったほうがいい
Slide 16
Slide 16 text
展望: 対応プラグインは増えるのか…? マルチプラグインSDKを使う ● JUCE + clap-juce-extension JUCEが想定しているプラグイン機能の全てに対応しているわけではないが、基本部分は使える ● Avendish CLAP export DSPなども作れる新手のメディア系 C++20ライブラリ(動作未確認) プラグインラッパーを作る ● どのプラグイン規格も概ね同じなので、他の規格のプラグインを包み込むプラグインにする ○ lv2vst (LV2をVSTとして使う) ○ LinVst, yabridge (Windows VSTをwine経由で使う) →そこそこ楽観視してもいいのではないか
Slide 17
Slide 17 text
Resources 資料・コミュニティ https://github.com/free-audio/clap https://www.kvraudio.com/forum/viewtopic.php?t=574861 https://www.theaudioprogrammer.com/ のDiscord server (#clap)