DTMプログラミング言語探訪

## はじめに

DTMのソフトウェアに組み込まれているプログラミング言語について実際に使ってみて調べてみる企画です。

最近のDTMソフトウェアには、テキストのプログラミング言語で操作できる機能が搭載されているものがいくつか存在します。しかしながら、DTMソフトウェアの知識とプログラミングスキルの両方が必要になるため、使いこなしている例はあまり多くないようです。
また、信号処理用の言語[^1]と異なり学術研究の対象にもなりにくい存在です。そのため、これらの言語を網羅的に調査して比較した情報もほとんどありません。

ここで扱う言語はベンダー独自仕様の言語や汎用プログラミング言語、プログラミング言語とは呼べない設定ファイルのようなものなど様々ですが、それぞれの言語の違いと、主な用途、できることできないこと、実際に使用するための手順を明確にしたいと考えています。

## DTMプログラミング言語

- [NI KONTAKT KSP](https://qiita.com/aike@github/items/35f7d85d4c0e61cfabf7)
- [NI KONTAKT KSP Multi Script](https://qiita.com/aike@github/items/acb655d7091953ea027b)
- [NI KONTAKT CREATOR TOOLS](https://qiita.com/aike@github/items/7675d9db1864c1fed417)
- [Apple Logic Pro Scripter](https://qiita.com/aike@github/items/93427c4b3daceb9dc80d)
- [UVI Falcon UVI Script](https://qiita.com/aike@github/items/71ef2275b9b8c8e71873)
- [SFZ](https://qiita.com/aike@github/items/318ec1e9c652d9668edb)
- [dspreset](https://qiita.com/aike@github/items/b463b012329c403b3ad0)
- [u-he Hive UHM](https://qiita.com/aike@github/items/b05d220d38873785098e)
- [Blue Cat's Plug'n Script](https://qiita.com/aike@github/items/40bdd748c43da1a52f1e)
- [Steinberg HALion Script](https://qiita.com/aike@github/items/2311bdac551f69db7067)
- [HISE HiseScript](https://qiita.com/aike@github/items/ddb7892573e19b6d3ea0)
- [SOUND FORGE Pro Script](https://qiita.com/aike@github/items/1b6438e2bea6afb14461)
- [Audacity Script](https://qiita.com/aike@github/items/413d614d358450026d98)
- [Adobe Audition Script](https://qiita.com/aike@github/items/4f6a66de1b34f5f1f209)
- [FL Studio Edison Script](https://qiita.com/aike@github/items/a2582628634ad4db46bd)
- [Cakewalk Application Language (CAL)](https://qiita.com/aike@github/items/2979c75e5944a96b029e)


## 分類

|カテゴリ|言語|
|--------|----|
|NoteOnイベント処理言語|[KSP](https://qiita.com/aike@github/items/35f7d85d4c0e61cfabf7)、[UVI Script](https://qiita.com/aike@github/items/71ef2275b9b8c8e71873)、[HALion Script](https://qiita.com/aike@github/items/2311bdac551f69db7067)、[HiseScript](https://qiita.com/aike@github/items/ddb7892573e19b6d3ea0)|
|MIDIメッセージ処理言語|[KSP Multi Script](https://qiita.com/aike@github/items/acb655d7091953ea027b)、[Scripter](https://qiita.com/aike@github/items/93427c4b3daceb9dc80d)、[HiseScript](https://qiita.com/aike@github/items/ddb7892573e19b6d3ea0)|
|サンプラー定義ファイル|[SFZ](https://qiita.com/aike@github/items/318ec1e9c652d9668edb)、[dspreset](https://qiita.com/aike@github/items/b463b012329c403b3ad0)|
|サンプラーライブラリ作成自動化言語|[CREATOR TOOLS](https://qiita.com/aike@github/items/7675d9db1864c1fed417)|
|波形定義言語|[UHM](https://qiita.com/aike@github/items/b05d220d38873785098e)|
|信号処理言語|[Blue Cat's Plug'n Script](https://qiita.com/aike@github/items/40bdd748c43da1a52f1e)、[HiseScript](https://qiita.com/aike@github/items/ddb7892573e19b6d3ea0)|
|波形編集自動化言語|[SOUND FORGE Script](https://qiita.com/aike@github/items/1b6438e2bea6afb14461)、[Audacity Script](https://qiita.com/aike@github/items/413d614d358450026d98)、[Audition Script](https://qiita.com/aike@github/items/4f6a66de1b34f5f1f209)、[Edison Script](https://qiita.com/aike@github/items/a2582628634ad4db46bd)|
|DAW操作自動化言語|[CAL](https://qiita.com/aike@github/items/2979c75e5944a96b029e)|


## 番外編

サンプラーまわりの言語が多いので、その背景について記事を書きました。

[バーチャル楽器を支える技術](https://qiita.com/aike@github/items/0d478e47de44a570dd8e)


## 履歴

2023/05/20 Cakewalk Application Language (CAL)追加
2021/09/05 Edison Script追加
2021/08/31 Audition追加
2021/08/30 SOUND FORGE、Audacity追加
2021/08/01 HiseScript追加
2021/07/28 番外編追加
2021/07/27 HALion Script追加
2021/07/22 Blue Cat's Plug'n Script追加
2021/07/21 Hive UHM追加
2021/07/19 SFZ、dspreset追加
2021/07/18 UVI Falcon追加
2021/07/17 最初のバージョン。KONTAKTとLogic Pro Scripter
(まだまだ続く予定)


[^1]: 信号処理用言語については[オーディオプログラミング言語 Advent Calendar 2020](https://qiita.com/advent-calendar/2020/audiolang)として以前まとめました