跳转到主要内容

使用MIDI控制SuperCollider合成器

项目描述

安装

您可以使用 easy_install 安装 midi2sc

$ easy_install midi2sc

但是,您还需要安装 pkaudio 及其依赖项。

用法

midi2sc 允许您将 MIDI 控制器分配给 SuperCollider SynthDefs

配置

示例配置

[SOSkick]
midi_channel = 01
001 = amp_mul=            AbsoluteControl(min=0.0, max=1.27, start_vel=100.0)
106 = mod_freq=           IDC(min=2.0, max=20.0, steps=50, value=2.0)
107 = mod_index=          IDC(min=2.0, max=20.0, steps=50, value=2.0)
108 = beater_noise_level= IDC(min=2.0, max=20.0, steps=50, value=18.0)
109 = decay=              IDC(min=0.05, max=1.0, steps=70, value=0.3)
noteon_args = out=18

此配置将创建并分配 7 个控件:1 个类型为 AbsoluteControl,4 个类型为 IDC(IncDecControl)。隐式创建的两个控件是 NoteOnControlNoteOffControl

001 MIDI 控制器通常是调制轮。在这里,它被绑定到 SOSkick SynthDef 的 amp_mul 参数。min 是当轮子在最低位置时发送到 SuperCollider Synth 的值,max 是当轮子在最高位置时的值。

106型MIDI控制器绑定到一个无限编码器,该编码器发送介于01到64之间的相对值用于增加,以及介于127到065之间的相对值用于减少。在最小值和最大值之间有50个步骤。起始值是2.0。这对应于M-Audio Axiom用户指南中所称的2的补码从0 / 相对(2的补码)

还有专门的音高弯曲和触后控制。

SuperCollider

下面是一个可能使用之前配置的SynthDef示例

SynthDef("SOSkick", {
  arg out = 0, freq = 50, mod_freq = 6.5, mod_index = 19.5,
  decay = 0.1, amp = 0.8, beater_noise_level = 0.001, amp_mul = 1.0;
  var x;

  // do stuff...
  Out.ar(out, x);
});

在开始使用midi2sc之前,请确保您的SuperCollider服务器已启动并且加载了SynthDefs。

启动midi2sc

在命令行中,midi2sc的运行方式如下

$ midi2sc

这假设您在当前工作目录中有一个midi2sc.ini配置文件。您也可以在命令行上提供此文件名作为选项。有关更多信息,请参阅内置的帮助。

$ midi2sc --help

midi2sc会询问您要绑定的MIDI端口,然后启动一个GUI,显示所有控制器的滑动条,最后将您放入一个交互式外壳,可以访问控制处理器字典和save_presetsload_presets函数。要从Python外壳中的文件保存预置(所有控制器的值)并在以后再次加载它们,您编写

>>> save_presets('presets1.pickle', midi_in)
>>> # ... time passes
>>> load_presets('presets0.pickle', midi_in)

您还可以加载一个新的midi2sc.ini配置文件

>>> handlers.update(configure.read('midi2sc2.ini'))

屏幕截图

左上方的窗口是midi2sc Python外壳。下方是midi2sc GUI,其中包含每个合成器的滑动条列。右侧是QJackCtl连接和Seq24

Screenshot of midi2sc

开发状态

midi2sc相对成熟,我在使用它。同时,它是一个很大的漏洞,可能不是线程安全的。

变更日志

0.1 - 2009-06-30

  • 第一个版本。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分发

midi2sc-0.1.tar.gz (12.2 kB 查看散列)

上传时间

由以下赞助商支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面