Repository navigation
UltraPads v0.2.0
即刻出声、触摸滑动触发、一首歌多组音色,演奏页精简。
Linux 系统要求变化:0.2.0 起 Linux 版使用 PipeWire 原生音频通路,需要 PipeWire ≥ 0.3.65 与 glibc ≥ 2.36
(Debian 12+、Ubuntu 23.04+、Fedora 38+、Arch 等)。不再支持 Ubuntu 22.04。安装脚本会自动补装缺少的运行库。
改进
- 按下即刻出声(Linux):音频改走 PipeWire 原生通路(cpal
pipewire),不再经过 ALSA 兼容层的插件缓冲与线程交接;
流线程经 rtkit 提为实时优先级(cpalrealtime-dbus,SCHED_RR)。实测指令 → 发声约 3.8 ms(0.1.0 约 10–18 ms),
高负载下欠载由数百次降到 0。没有 PipeWire 时自动回退 ALSA。 - Android 独占音频通路:输出流请求 AAudio
EXCLUSIVE(MMAP)模式,支持的设备上绕过系统混音器、延迟最低;
不支持时自动回落到共享模式(cpal 补丁版,见third_party/cpal/ULTRAPADS_PATCH.md)。 - 触摸到即触发:按下或手指滑进 pad 都立即发声(每次触碰都重触发),滑出 / 抬起时松开;在空 pad 上按下再滑进有声音的 pad 同样触发。
- pad 按下当帧即全亮(不再等动画控制器下一帧起步)。
新增
- 一首歌多组音色:每首歌 1–7 组(A–G,每组 12 个 pad),演奏页功能行的切换条一键切换,已在播放的声音(包括 Loop)不中断;
键盘 Tab 依次切组。编辑器可新增、左右移动、删除音色组(实时生效,删除有声音的组需确认)。
Kit 格式layout.padCount支持 12 的倍数(最多 84)、banks支持 A–G;1–2 组的 Kit 读写逐字节不变。 - 引擎:pad 混音并入采样器节点,音频图端口数不再随 pad 数增长(音频线程仍零分配)。
变更
- 演奏页顶栏直接显示歌名(去掉「音色包 / KIT」前缀),右上角改为设置入口(原视频教程按钮);⋮ 展开行不再重复放设置。
- 移除「学习演奏」(教程模式、时间轴判定、速度框)与视频教程链接;引擎与 FFI 的教程能力保留。
- 发布版 Linux 包改在 Debian 12 容器中构建;安装脚本的依赖自动安装加入 PipeWire / D-Bus 运行库,
root 下不经 sudo、GTK 依赖链归入 GTK 包、装后复查、失败重试一次(Ubuntu 24.04 / Debian 12 / Fedora 41 / Arch 容器实测)。 - up-cli 容器镜像加入 PipeWire / D-Bus 运行库。
Linux:curl -fsSL https://ultrapads.plutokeating.beer/install | bash(再次运行即更新;应用内也会提示新版本)
Android:下载对应 ABI 的 APK(大多数手机选 arm64-v8a),或访问 https://ultrapads.plutokeating.beer