Upgrade to Pro — share decks privately, control downloads, hide ads and more …

CLAPオーディオプラグイン is 何?

CLAPオーディオプラグイン is 何?

at MusicLT vol.2 (2022/5/26)

Atsushi Eno

May 26, 2022
Tweet

More Decks by Atsushi Eno

Other Decks in Technology

Transcript

  1. CLAPオーディオプラグイン
    is 何?
    atsushieno

    View Slide

  2. CLAPとは
    2021年末にu-heとBitwigがKVRでサポート表明して話題になった、
    新しいオープンソースのオーディオプラグインフォーマット

    View Slide

  3. オーディオプラグインフォーマットとは
    「任意のDAW」と「任意の楽器やエフェクター」の任意の組み合わせでお互いが問題なく
    動作する仕組み(API、ライブラリ、フレームワーク)
    Steinberg VST, Apple AudioUnit (AU), LV2 (LADSPA v2), DirectX plugin (DX/DXi)など
    source

    View Slide

  4. u-he? Bitwig? KVR?
    u-he : オーディオプラグインベンダーのひとつ (Zebra, Hive, etc.) 󰎲
    Bitwig : Bitwig Studio DAWの開発元󰎲
    KVR : 音楽系ポータルサイト(新製品の告知などを自分で出せる)

    View Slide

  5. 新し…新しくない?
    実は昔からあった
    Post

    View Slide

  6. プラグインAPIってどんなやつ?
    プラグインはこういうやつを実装する(free-audio/clap-plugins のC++コード)

    View Slide

  7. CLAPの特徴 (1) MITライセンス
    ● 誰にも許諾を得ること無く商用プラグインをリリースできる
    ● VST3はライブラリなのにGPLv3 = 実質商用ライセンス or 自由ソフトウェア
    ○ JUCEとかもそう

    View Slide

  8. CLAPの特徴 (2) C API
    他言語でバインディングを作りやすい(ただRT audioの制約は厳しい)
    実際にプラグインを作るときはC++等でいい

    View Slide

  9. CLAPの特徴 (3) パフォーマンスが良い?
    プラグインリストの取得が高速 (LV2もそう)
    スレッドの生成をホストから指示できる (LV2もそう)
    プラグインのリソースを分離しており、ホストで共有できる
    (KVR)

    View Slide

  10. CLAPの特徴 (4) シンプルで誤解の余地が小さい?
    Cヘッダコメントが想定される挙動を
    細かく説明している
    (ドキュメントはほとんどない)
    events.h

    View Slide

  11. CLAPでできること
    全部拡張機能として作り込まれている

    View Slide

  12. LV2でもよかったんじゃないの? (ISC, C API, cross-plat...)
    u-he「詳しくないんだけど、移植してもらったら投げ出されたことがあって…」
    (LV2はわりと難解なのでまあわかる)

    View Slide

  13. CLAP対応プラグイン
    u-he
     ※READMEのリンク先が死んでて見つけられず
    SurgeXT
     OSSのシンセサイザー
     メイン開発者がCLAPにも少しコミットしている
     nightly buildには含まれている(らしい)
    ※現状ほとんどない(free-audio/clap-plugins などはある)

    View Slide

  14. CLAP対応DAW
    Bitwig Studio 4.2 beta1以降で隠しオプションを有効にすれば利用できるが古い
    現在 = 2022/5/26 時点でのCLAPバージョンなら4.3beta
    ※現状ほとんどない(free-audio/clap-hostなどはある)

    View Slide

  15. 新しいオーディオプラグインフォーマットの課題
    DAW「新しいプラグインフォーマットに対応するのは大変…」
    プラグイン「新しいプラグインフォーマットに対応するのは大変…」
    …でもC++の閉鎖空間とSteinberg(とApple)の独占状況は何とかなったほうがいい

    View Slide

  16. 展望: 対応プラグインは増えるのか…?
    マルチプラグインSDKを使う
    ● JUCE + clap-juce-extension
    JUCEが想定しているプラグイン機能の全てに対応しているわけではないが、基本部分は使える
    ● Avendish CLAP export
    DSPなども作れる新手のメディア系 C++20ライブラリ(動作未確認)
    プラグインラッパーを作る
    ● どのプラグイン規格も概ね同じなので、他の規格のプラグインを包み込むプラグインにする
    ○ lv2vst (LV2をVSTとして使う)
    ○ LinVst, yabridge (Windows VSTをwine経由で使う)
    →そこそこ楽観視してもいいのではないか

    View Slide

  17. Resources
    資料・コミュニティ
    https://github.com/free-audio/clap
    https://www.kvraudio.com/forum/viewtopic.php?t=574861
    https://www.theaudioprogrammer.com/ のDiscord server (#clap)

    View Slide