SoftStep 开源软件栈:编辑器构建、Live 控制面脚本与 CC 避坑
项目信息:
- SoftStep Editor:https://github.com/Muse-Kinetics/softstep_editor
- modeStep:https://github.com/kmontag/modeStep
- SoftStep 产品页:https://www.musekinetics.com/softstep/
- Muse Kinetics 下载页:https://www.musekinetics.com/downloads/
- 原 Keith McMillen Instruments 页面:https://www.keithmcmillen.com/products/softstep/
硬件与两种编辑器界面
SoftStep 是 Muse Kinetics(原 Keith McMillen Instruments)的 MIDI 脚踏控制器,每个 pad 用传感器检测 3D 压力,可映射 X/Y/Z 到 CC。SoftStep3 使用 USB-C(MIDI over USB-C)、TRS MIDI Out (type A)、2 路 CV 输出,取消了 MIDI Expander 口与串行 MIDI In,只能经 USB 收 MIDI。
编辑器有两个界面:
- Basic:10 预设,每键单功能,不支持 CV。
- Advanced:16 预设,每键多动作、可定制 LED、更多传感器响应参数。
当前版本 Editor 3.0.7 / Firmware 2.0.7。系统要求 Qt 6.3.2+(推荐 6.9.2)、C++17、Windows 10+、macOS 10.15+、Linux ALSA。编辑器功能包括 MIDI CC 映射/通道/力度曲线、预设管理、固件更新、硬件测试 pad 灵敏度与脚踏开关,模板库含主流 DAW。
softstep_editor 是跨平台 Qt6 应用套装,许可证 MPL-2.0,Qt 使用 LGPLv3,动态链接。代码来自 KMI Music, Inc. 2025。
hosted / standalone 与 MIDI CC
hosted 模式下,编辑器把传感器数据转成 MIDI,经虚拟端口 SoftStep Share 输出;standalone 模式下,硬件直接经 SoftStep Control Surface 端口输出。
固件更新采用分包(chunk-safe)传输,shared/ 下有 firmware .syx。Windows 上,Windows MIDI Services (WMS) 可用时优先,缺失时自动回退 WinMM。支持 Windows/macOS(Intel+Apple Silicon)/可能 Linux。
从源码构建
git clone --recursive
cd SoftStep
cd standalone/ezpz && qmake softstepezpz.pro && make
cd standalone/advanced && qmake SoftStepAdvanced.pro && make
目录结构:
standalone/ezpzstandalone/advancedshared/:KMI_MDM、rtmidi、sendsysex、firmware .syxContent/:Documentation、Presets、Templateswin-deploy/Signing and Notarization/
贡献需真机测试 macOS+Windows。
Windows 打包与 macOS 签名公证
Windows 打包由 .vscode/make-installer.ps1 驱动,通过 VS Code 任务执行;.pro 没有部署目标。需要 Windows SDK(signtool)、QtIFW、代码签名证书。
make-installer.ps1 会从 SoftStepAdvanced.pro 的 VERSION 同步版本到 win-deploy/config/config.xml 与 package meta,复制可执行文件并签名、执行 windeployqt、拷贝 OpenSSL DLL,最后用 binarycreator.exe 生成并签名安装包。安装器会检测已装版本,并可先卸载。
macOS 签名与公证:
export DEVELOPER_ID=...
export APPLE_KEYCHAIN_PROFILE=...
export APPLE_TEAM_ID=...
export APPLE_ID=...
export APPLE_APP_PASSWORD=...
cd "Signing and Notarization"
./SoftStep\ -\ build\ sign\ package\ mac\ qt6\ universal.sh
产出 universal binary、签名、DMG、公证。
Ableton Live 12 控制面脚本 modeStep
modeStep 是面向 SoftStep 2 的 Ableton Live 12 控制面脚本(Python)。
安装:把仓库放到 Live User Library 的 Remote Scripts/ 下,目录名需为合法 python 模块名,如 modeStep。重启 Live → Preferences 的 Link, Tempo & MIDI → 选择 modeStep 作为 control surface,输入输出都选 SoftStep 主端口(一般是 SoftStep (Control Surface) 或 SoftStep)。
Track/Sync/Remote/MPE 勾选框:一般全关;若用 standalone 预设,则输入端口需打开 Remote,其余全关。SoftStep 侧无需预设,固件需 v2.0.3+,脚本会把控制器置于 hosted 模式。
模式包括:Transport、Utility(长按)、Device Parameters Y Increment、Expression Pedal Map(映射到号码对应的参数 slot)、Device Parameters Pressure / Pressure Latch、XY Position、Device Bank、Track Controls(keys 1-5,默认 8 轨单参数,clip launch 为 2x4,key 5 为 session record)。
user.py 与按 Set 覆盖
在该目录建 user.py:
from .control_surface.configuration import Configuration, override_nav
Configuration(
initial_mode="track_controls_5",
key_safety_strategy="single_key",
override_elements={...}
)
可 override_track_controls、override_modes。
按 Set 覆盖:在 session view 建一个名为 ms={"initial_mode": "device_parameters_pressure"} 或 ms<{...} 的 clip。ms= 完全覆盖 user.py,ms< 保留 user.py 只覆盖指定字段。只在打开 set 时加载,需保存后重开。
现场编辑 track controls:长按 Mode Select 的 1-5 键选择上下排控制,上下不同 = 4 轨双控制,相同 = 8 轨;key 5 动作可在编辑界面按 5 再按 1-9 指定(长按取 Utility 布局);编辑时按住 key 0 可禁用该模式,并关掉模式选择屏对应 LED。
Standalone 预设:
override_modes={5: ("standalone_1", "standalone_2")}
按下即进入 standalone、发送 program change 1 并交出 LED/显示控制;回到 modeStep 需在预设里把按钮绑定 Foot On = CC 80 (channel 1),推荐 key 0。standalone 期间其它 MIDI 消息被忽略。
要避开的 CC 区间
避免 CCs 40-86 (channel 1):hosted 模式下 SoftStep 用它们传传感器数据。
避免 CCs 20-29、40-42、50-53、110-119(任意通道),否则 Live 的反馈会干扰踏板 LED 与显示。
切换 in/out standalone 时 LED 被覆盖的坑:在配置里设置 background_program。
Implicit Arm 与 Push 等其他 control surface 可能冲突。
本文基于上述公开 README 整理;硬件实际响应、不同 Live 版本差异等未实测部分,以 README 描述为准。