将Clavia Nord模块化G2修补程序转换为CSound代码。
pch2csd的Python项目详细描述
PCH2CSD-Clavia Nord模块化G2补丁转换器项目
本项目的目标是(重新)实施Clavia Nord模块化G2音响 引擎在csound,一个著名的声音和音乐计算系统。重要维基 页码:
- 支持的nord模块的完整列表:Module implementation status。
- nord模块移植指南:Making a new module。
安装
假设您有python 3.5和 pip已安装:
sudo pip3 install pch2csd
在项目变得更稳定之前,我们自动构建并上传 提交到存储库,因此您可能希望在 同时。使用较新的版本,您可能会获得新的功能和模块 可用,以及修复的错误。要更新工具,只需运行以下命令 命令:
sudo pip3 install -U pch2csd
用法
命令行选项:
$ pch2csd -h
usage: pch2csd [-h] [-d] [-p | -c | -v | -e] [arg]
convert Clavia Nord Modular G2 patches to the Csound code
positional arguments:
arg a pch2 file path or an UDO numerical ID
optional arguments:
-h, --help show this help message and exit
-d, --debug print a stack trace in case of error
-p, --print parse the patch file and print its content
-c, --check-udo validate the UDO template file (overrides '-p')
-v, --version show program's version number and exit
-e show the elephant and exit
要生成新的csound文件,只需将.pch2
文件路径作为参数传递。
新文件将与修补程序文件在同一目录中生成一个
示例:
pch2csd test_poly_mix2.pch2
选项-p
可用于打印修补程序中存在的模块和电缆。
模块ID
是修补程序中模块的唯一编号,模块Type
是
模块类型的数值表示(也用于查找
中的模板)。方括号中是原始MIDI
模块参数。Area
是模块或电缆所在的部分;它可以
要么是VOICE
,要么是FX
。在cable表符号In2(id=1, out=0) -> Mix41B(id=2, in=0)
中,表示该电缆连接模块的第0个输出
In2
(ID
1),使用模块Mix41b
(ID
2)的输入0。请注意
模块可以将输出(out-in
)连接到输入,也可以将输入连接到输入
(in-in
)。
$ pch2csd -p test_3osc.pch2
Patch file: test_3osc.pch2
Modules
Name ID Type Parameters Area
-------- ---- ------ ----------------------- ------
OscA 1 97 [64, 51, 1, 0, 2, 1, 0] VOICE
OscA 2 97 [64, 78, 1, 0, 2, 1, 0] VOICE
OscA 3 97 [64, 64, 1, 0, 2, 1, 0] VOICE
Mix41B 4 19 [100, 112, 91, 117, 1] VOICE
EnvD 6 55 [54, 0] VOICE
FltLP 5 87 [75, 34, 0, 1] VOICE
Out2 7 4 [2, 1, 0] VOICE
Keyboard 8 1 [] VOICE
FxIn 1 127 [0, 1, 1] FX
Clip 2 61 [0, 53, 1, 1] FX
Out2 3 4 [0, 1, 0] FX
Cables
From To Color Type Area
--------------------- -- ------------------ ------- ------ ------
OscA(id=1, out=0) -> Mix41B(id=4, in=1) red out-in VOICE
OscA(id=2, out=0) -> Mix41B(id=4, in=2) red out-in VOICE
OscA(id=3, out=0) -> Mix41B(id=4, in=3) red out-in VOICE
Mix41B(id=4, out=0) -> EnvD(id=6, in=2) red out-in VOICE
EnvD(id=6, out=1) -> FltLP(id=5, in=0) red out-in VOICE
EnvD(id=6, out=0) -> FltLP(id=5, in=1) blue out-in VOICE
FltLP(id=5, out=0) -> Out2(id=7, in=0) red out-in VOICE
Out2(id=7, in=0) -> Out2(id=7, in=1) red in-in VOICE
Keyboard(id=8, out=1) -> EnvD(id=6, in=0) yellow out-in VOICE
FxIn(id=1, out=0) -> Clip(id=2, in=0) red out-in FX
Clip(id=2, out=0) -> Out2(id=3, in=0) red out-in FX
Out2(id=3, in=0) -> Out2(id=3, in=1) red in-in FX
选项-c
允许您检查指定模块的UDO是否
已实现或在实现中有错误:
$ pch2csd -c 43
Checking UDO for the type ID 43
Found a module of this type: Constant
The UDO template seems to be correct
$ pch2csd -c 194
Checking UDO for the type ID 194
Found a module of this type: Mix21A
ERROR Unknown table 'CLAEXP'
$ pch2csd -c 100
Checking UDO for the type ID 100
Found a module of this type: Sw21
ERROR UdoTemplate(Sw21, 100.txt): no opcode 'args' annotations were found in the template
历史记录
我们在2015年夏天开始了我们的项目该项目的主要目标是 使用Csound语言模拟传奇的Clavia Nord模块化G2合成器这个 该项目首次在第三届国际Csound会议上提出 (10月2日至4日,俄罗斯圣彼得堡)。
如何贡献
请阅读 CONTRIBUTION.md 文件
你为什么需要它?
如果你是一个诺德模块化风扇,这个软件可以让你有你最喜欢的 在声音语言的殿堂里为永生而设计的装置你也是 可以提高模型的精度,使用全世界的csound 与克拉维亚一起的可能性。
如果你是一个健全的人,这是我们旅程的一个新分支。这太好了 在csound上运行一些硬件数字合成器。一旦转换 项目完成后,您可以使用数百个有趣的clavia的g2补丁 在CSound上搜索。
如果你发现了模块化合成和算法合成的世界, 系统提供了一种很好的描述Clavia图形补丁的方法
如果您是替代Clavia Nord模块化G2编辑器的开发人员,您可以 将图形编辑器软件与系统合并以生成声音。