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)