hex_music

jazzとかdtmとかcsoundとか

Csoundを使ったプラグイン開発について

商用のプラグインを作りたい、というモチベーションがある以上、自分の書いたプラグインのソースは隠したいものです。Cabbageで制作されたプラグインはそれ自体では動かず、csdファイル(=ソースファイル)が必要です。それを隠す方法がないかなぁと色々調べていましたが、Cabbageを使う以上、ライセンスの問題が引っかかるみたいでした。結果として、Cabbageを使うのを諦めるのが一番良さそうかなぁと思いました。

 

 

1. Csound

CsoundLGPLライセンスであるため、Csoundそのもののソースを求められた場合は、公開しなくてはなりませんが、Csoundを呼び出して使う限りは、プラグインのコードを公開する必要はありません。Csoundそのもののソースの公開は、Cabbageのフォーラム情報によれば、リンクを公開すればそれで済むようです。

 

2. SDK

VSTSDKは、プラグインGPLで公開しない限り、おそらく有償ライセンスが必要です。

Aunio UnitsはそもそもMac OSなら組み込まれているため、必要ない模様。

 

3. Cabbage

CabbageはJUCEの枠組みを用いて、プラグインを生成しているため、GPL、すなわちオープンソースにしなくてはなりません。(後述するPersonal licenseを越えたJUCEの利用)

これは、Cabbageのユーザーが直接JUCEを利用してプラグインを作っているのではなく、Cabbageを通じて、JUCEの枠組みにアクセスしているため生じる問題です。

現在、Cabbageの開発者はソースファイルを隠すことができる、プロユースのCabbageを既に用意しているようで、もし利用したい場合は、Cabbageの開発者まで連絡をすれば、購入できるようです。(どのような枠組みで実現したかは分かりませんが、グレーに思えます。)

 

4. JUCE

JUCEはJUCE5以前は無償版ではクローズドソースのプラグインの作成をすることが出来ませんでしたが、現在は、Personal licenceの無償利用プランでも条件付きで、クローズドソースのプラグインの作成を行うことができます。ただし、その条件以外の方法でJUCEを利用する場合は、ソースコードをオープンにしなくてはなりません。(これがCabbageのケース)

 

5.まとめと方針

とりあえずは、Cabbageを諦め、JUCEを使おうかなぁと思います。元々、Cabbageには限界があるなぁと思っていたところ(Factory nameがCabbage Audioから変更できないなど)で、CabbageのソースコードをいじるよりはJUCEを勉強した方が自分のためになりそうです。VSTに関しては、とりあえずまだ調べ途中なので、調べつつ、、、という感じですかね。Csoundで書かれたコードを、JUCEのPersonal licenceの範囲内で、Audio Unitsにする際は、クローズド&商用、どちらも問題なさそうです。

 

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

この記事はCabbageとCabbageの開発者の方を批判するものではありません。

Cabbageはコードをオープンソースのままにしなくてはいけない、という枠組上の欠点があるだけで、Cabbage自体はとても便利で素晴らしいものです。

加えて、フォーラムでの開発者の方の対応もとても誠実です。

 

この記事は、以下のフォーラムのスレッドをかなり参考にしています。古いスレッドですが、ライセンスの理解に有用でした。開発者の方の対応の誠実さが、わかるかと。

https://forum.cabbageaudio.com/t/discussion-about-licenses-commercial-use-of-cabbage/83