Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
CLAPオーディオプラグイン is 何?
Search
Atsushi Eno
May 26, 2022
Technology
1
1.4k
CLAPオーディオプラグイン is 何?
at MusicLT vol.2 (2022/5/26)
Atsushi Eno
May 26, 2022
Tweet
Share
More Decks by Atsushi Eno
See All by Atsushi Eno
Some Music Libraries for Kotlin (with some .NET -> Kotlin migration stories)
atsushieno
0
120
Building App Extensions equivalents on Android (maybe?)
atsushieno
1
320
Taking trends in music app development into the future mobile ecosystem
atsushieno
0
270
DTM entry level hands-on
atsushieno
0
390
[COSCUP2024] Catching up Trends in Audio App Development
atsushieno
0
820
Building Kotlin Multiplatform Libraries in 2024
atsushieno
0
4k
Kotlin Multiplatformで MIDI 1.0/2.0 ライブラリを作っている話
atsushieno
1
760
building_audio_plugin_ecosystem_on_Android.pdf
atsushieno
0
1.2k
get updated to the latest realtime audio processings knowledge base (2023) (再履修: 2023年までの リアルタイムオーディオ処理)
atsushieno
1
1.2k
Other Decks in Technology
See All in Technology
「規約、知識、オペレーション」から考える中規模以上の開発組織のCursorルールの 考え方・育て方 / Cursor Rules for Coding Styles, Domain Knowledges and Operations
yuitosato
6
1.9k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
49
29k
ユーザーのプロフィールデータを活用した推薦精度向上の取り組み
yudai00
0
420
"SaaS is Dead" は本当か!? 生成AI時代の医療 Vertical SaaS のリアル
kakehashi
PRO
3
240
SFTPコンテナからファイルをダウンロードする
dip
0
420
マルチテナント+マルチプロダクト SaaS への AI Agent の組み込み方
kworkdev
PRO
2
370
活きてなかったデータを活かしてみた話 / Shirokane Kougyou vol 19
sansan_randd
1
370
開発効率と信頼性を両立する Ubieのプラットフォームエンジニアリング
teru0x1
0
150
CSS、JSをHTMLテンプレートにまとめるフロントエンド戦略
d120145
0
120
DenoとJSRで実現する最速MCPサーバー開発記 / Building MCP Servers at Lightning Speed with Deno and JSR
yamanoku
1
120
IAMのマニアックな話 2025を執筆して、 見えてきたAWSアカウント管理の現在
nrinetcom
PRO
4
610
AWS アーキテクチャ作図入門/aws-architecture-diagram-101
ma2shita
24
8.8k
Featured
See All Featured
Art, The Web, and Tiny UX
lynnandtonic
299
21k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.7k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
20k
Building a Modern Day E-commerce SEO Strategy
aleyda
41
7.3k
Why Our Code Smells
bkeepers
PRO
337
57k
Raft: Consensus for Rubyists
vanstee
140
7k
How GitHub (no longer) Works
holman
314
140k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Automating Front-end Workflow
addyosmani
1370
200k
Adopting Sorbet at Scale
ufuk
77
9.4k
Transcript
CLAPオーディオプラグイン is 何? atsushieno
CLAPとは 2021年末にu-heとBitwigがKVRでサポート表明して話題になった、 新しいオープンソースのオーディオプラグインフォーマット
オーディオプラグインフォーマットとは 「任意のDAW」と「任意の楽器やエフェクター」の任意の組み合わせでお互いが問題なく 動作する仕組み(API、ライブラリ、フレームワーク) Steinberg VST, Apple AudioUnit (AU), LV2 (LADSPA
v2), DirectX plugin (DX/DXi)など source
u-he? Bitwig? KVR? u-he : オーディオプラグインベンダーのひとつ (Zebra, Hive, etc.)
Bitwig : Bitwig Studio DAWの開発元 KVR : 音楽系ポータルサイト(新製品の告知などを自分で出せる)
新し…新しくない? 実は昔からあった Post
プラグインAPIってどんなやつ? プラグインはこういうやつを実装する(free-audio/clap-plugins のC++コード)
CLAPの特徴 (1) MITライセンス • 誰にも許諾を得ること無く商用プラグインをリリースできる • VST3はライブラリなのにGPLv3 = 実質商用ライセンス or
自由ソフトウェア ◦ JUCEとかもそう
CLAPの特徴 (2) C API 他言語でバインディングを作りやすい(ただRT audioの制約は厳しい) 実際にプラグインを作るときはC++等でいい
CLAPの特徴 (3) パフォーマンスが良い? プラグインリストの取得が高速 (LV2もそう) スレッドの生成をホストから指示できる (LV2もそう) プラグインのリソースを分離しており、ホストで共有できる (KVR)
CLAPの特徴 (4) シンプルで誤解の余地が小さい? Cヘッダコメントが想定される挙動を 細かく説明している (ドキュメントはほとんどない) events.h
CLAPでできること 全部拡張機能として作り込まれている
LV2でもよかったんじゃないの? (ISC, C API, cross-plat...) u-he「詳しくないんだけど、移植してもらったら投げ出されたことがあって…」 (LV2はわりと難解なのでまあわかる)
CLAP対応プラグイン u-he ※READMEのリンク先が死んでて見つけられず SurgeXT OSSのシンセサイザー メイン開発者がCLAPにも少しコミットしている nightly buildには含まれている(らしい) ※現状ほとんどない(free-audio/clap-plugins などはある)
CLAP対応DAW Bitwig Studio 4.2 beta1以降で隠しオプションを有効にすれば利用できるが古い 現在 = 2022/5/26 時点でのCLAPバージョンなら4.3beta ※現状ほとんどない(free-audio/clap-hostなどはある)
新しいオーディオプラグインフォーマットの課題 DAW「新しいプラグインフォーマットに対応するのは大変…」 プラグイン「新しいプラグインフォーマットに対応するのは大変…」 …でもC++の閉鎖空間とSteinberg(とApple)の独占状況は何とかなったほうがいい
展望: 対応プラグインは増えるのか…? マルチプラグインSDKを使う • JUCE + clap-juce-extension JUCEが想定しているプラグイン機能の全てに対応しているわけではないが、基本部分は使える • Avendish
CLAP export DSPなども作れる新手のメディア系 C++20ライブラリ(動作未確認) プラグインラッパーを作る • どのプラグイン規格も概ね同じなので、他の規格のプラグインを包み込むプラグインにする ◦ lv2vst (LV2をVSTとして使う) ◦ LinVst, yabridge (Windows VSTをwine経由で使う) →そこそこ楽観視してもいいのではないか
Resources 資料・コミュニティ https://github.com/free-audio/clap https://www.kvraudio.com/forum/viewtopic.php?t=574861 https://www.theaudioprogrammer.com/ のDiscord server (#clap)