离线虚拟钢琴:电脑键盘、MIDI 与音频设置
把 Type Piano 设置为离线桌面钢琴:映射电脑按键,验证 MIDI 力度与延音,调整音频缓冲区,并核对采样库和安装包边界。
离线虚拟钢琴即使断网也应该像一件乐器那样工作,而不是一张留待以后打开的网页。安装完成后,正常演奏链路中的按键事件、MIDI 消息、采样读取、音频渲染和偏好设置都应该留在这台电脑上。它还应该明确呈现故障:没有音频设备导致的无声,与尚未选择 MIDI 输入导致的无声,并不是同一个问题。
Type Piano 是一台原生独立钢琴。电脑键盘、MIDI 控制器和屏幕上的 A0-C8 键盘这三种输入,共用同一套演奏状态与同一个实时音频引擎。功能完整的社区版免费提供。下面这些检查可以帮助你配置整套系统,并准确判断这里的“离线”究竟涵盖什么。
哪些功能可以离线使用,哪些不可以
安装正式发布的安装包后,演奏不需要账号,也不依赖云端演奏服务。随包提供的钢琴音色库从本机读取,音符在本机渲染,界面与设备偏好设置也保存在本机。Type Piano 不需要先上传你的演奏,才让你听见声音。
这个边界被刻意限定得很清楚:
| 任务 | Type Piano 的边界 |
|---|---|
| 使用电脑按键、MIDI 或屏幕键盘演奏 | 本地桌面链路 |
| 渲染随附的四种乐器 | 本地音频引擎与打包资源 |
| 保存界面、音色和设备偏好设置 | 本地设置 |
| 下载安装包、阅读在线帮助或访问源码仓库 | 需要这些外部任务通常所需的网络连接 |
| 录音、编曲、托管插件、显示乐谱或提供课程 | 不属于 Type Piano 的功能 |
将离线虚拟钢琴与浏览器钢琴比较时,这项区别非常重要。这里的“离线”描述的是安装后的演奏链路;它并不声称操作系统能够在没有网络的情况下安装缺失的音频或 MIDI 驱动程序。
添加硬件之前先映射电脑键盘
电脑键盘是最短的诊断链路,因为它把 MIDI 控制器、连接线和驱动程序都排除在外。Type Piano 把 29 个半音音符映射到两排熟悉的按键上:
- 下方一排是
Z S X D C V G B H N J M。 - 上方一排接着是
Q 2 W 3 E R 5 T 6 Y 7 U I 9 O 0 P。
在默认八度中,Z 是 C4,Q 是 C5,I 是 C6,P 是 E6。改变八度会移动这套映射,而屏幕上的完整 88 键 A0-C8 钢琴仍然作为参照。如果保存过的八度与默认值不同,请以界面显示的按键提示为准。
打字键盘无法报告按键力度,因此 Type Piano 会使用演奏控制区中选定的力度。按住 Space 会临时启用延音。屏幕会区分仍被物理按住的音符与松键后由延音保留的音符,而不是把两种状态显示成完全一样。
先运行这项首次发声检查:
- 打开 Type Piano,选择 Studio Grand;测试期间先把音频缓冲区保留在稳定的默认值。
- 选定一个电脑键盘力度,然后弹奏
Z、X和C。在默认八度中,这三个音组成 C 大三和弦。 - 按住 Space,松开三个音符键,确认界面从“按住”状态变为“延音保留”状态。
- 松开 Space,确认保留的音符随即清除。
- 移动一次八度并重复测试。如果可见音符发生移动却依然没有声音,应检查音频链路,而不是键位映射。
这项测试也会检查焦点处理。应用失去键盘焦点时,Type Piano 会释放电脑键盘这一输入源,而不会故意让这些音符继续保持按下状态。
不借助 DAW 验证 MIDI 键盘
Type Piano 是 MIDI 桌面钢琴软件,但不是 DAW,也不是插件。原生系统 MIDI 输入会把 note-on、note-off、音符力度和延音踏板 CC64 消息送进电脑键盘和指针输入所使用的同一套演奏模型。
请按照有明确证据的顺序进行设置:
- 连接控制器并打开电源,然后确认操作系统已把它列为 MIDI 输入。操作系统列表中不存在的设备,无法靠在应用里反复选择来修复。
- 打开 Type Piano,或刷新它的 MIDI 设备列表,然后选择该输入。
- 用轻、重两种力度弹奏同一个音。声音和界面上的力度响应都应该变化;这能区分真正的 MIDI 力度与打字按键所用的固定力度。
- 踩下延音踏板,松开一个音符,再抬起踏板。如果音符仍被保留,请检查控制器是否还在发送 CC64 按下状态。
- 在默认八度中,先按住 MIDI C4,再按下并松开
Z,最后松开 MIDI C4。共享归属模型应该让音符一直保持激活,直到最后一个输入源将它释放。
如果设备消失,请检查连接线、USB 端口、系统 MIDI 列表,以及是否有其他应用独占该设备。改变物理连接后,请刷新列表或重新连接。Type Piano 会呈现“已断开”“连接中”“已连接”和“需要处理”等状态;空设备列表或连接错误不能算作一次成功但无声的演奏会话。
调整音频链路,而不是追逐一个延迟数字
低延迟钢琴演奏不仅取决于应用代码。输出设备、操作系统驱动、采样率、缓冲区、其他争用音频的客户端和当前系统负载都会产生影响。因此,Type Piano 不宣传一个固定不变的延迟数字。
可用的缓冲区大小为 256、512、1024 和 2048 帧,新配置的默认值是 512 帧。较小的缓冲区可以缩短链路中的一部分延迟,却会减少完成每个音频块的时间;较大的缓冲区会给系统更多余量,代价是响应速度降低。引擎会跟随当前音频设备的采样率,因此仅凭帧数无法保证端到端延迟是多少毫秒。
使用下面这项可重复的音频检查:
- 选择计划使用的输出设备,并从 512 帧开始。
- 弹奏重复音符、一个持续和弦和一段短滑奏,同时观察音频与钢琴音色库状态。
- 依次切换 Studio Grand、Felt Room、Classic EP 和 Glass Piano。这会同时测试流式采样音色与合成音色。
- 如果链路稳定但感觉响应偏慢,尝试 256 帧并重复同一段演奏。
- 如果声音开始断裂,请恢复为 512 帧或提高缓冲区;先关闭其他争用音频的客户端,再改变其他设置。
同时改变多个变量会掩盖真正原因。比较缓冲区时,请保持音色、力度、输出设备和测试乐句不变。如果两个采样音色都失败,而合成音色可以演奏,应检查钢琴音色库是否就绪,而不是把问题归咎于 MIDI。
弄清钢琴声音来自哪里
Studio Grand 与 Felt Room 使用 Alexander Holm 录制、以 CC BY 3.0 授权的 Salamander Grand Piano V3 采样。Type Piano 打包了有来源证据支持的音色库,并保留其署名声明与法律文本。发行检查会固定归档文件的身份并验证暂存后的音色库,而不是仅凭文件名推断来源。
两种原声钢琴呈现方式会通过数量受控的声部,流式使用力度、释放、共鸣和踏板素材;应用不会在启动时把整套采样库复制进进程内存。它也不会在声称经过验证的钢琴音色库已经就绪时,悄悄换成一种无关的声音。
另外两种乐器使用不同的合成链路。Classic EP 是响应力度的 FM 合成音色,Glass Piano 使用加法合成。在相同力度和主音量下比较全部四种乐器,可以避免把单纯的音量差异误认为实现方式不同。
核对当前 Linux 与 Windows 发布边界
只有官方 Type Piano 下载页列出的文件才属于公开发布。当前公开渠道是 Linux x64 与 Windows x64:
- Linux 提供 AppImage、DEB 和 RPM 安装包。请选择与目标系统匹配的格式,并在安装前核对页面公布的校验和。
- Windows 提供 x64 NSIS 安装程序。它目前未签名,也没有目标主机验收报告。校验和只能验证下载到的字节;它不能证明某台具体电脑上的安装、音频、MIDI、界面或 Windows 安全机制已经通过验收。
- macOS 目前不是公开渠道。能够构建出一个文件,不等于已经发布了经过签名、公证、装订并在原生环境中验收通过的通用 DMG。
这样的发布说明是有意保持精确的。安装包存在、校验和一致、代码签名和原生运行验收,是彼此独立的证据。
一份实用的验收清单
打算在无网络环境中使用 Type Piano 之前,请先完整进行一次本地演练:
- 从官方下载页获取正确的安装包,并验证其校验和。
- 安装后断开网络连接。
- 确认电脑键盘和弦、Space 延音和八度移动均可正常工作。
- 如果使用 MIDI,请确认设备能被列出,轻弹与重弹会产生不同力度,并且抬起 CC64 踏板后延音会释放。
- 在稳定的缓冲区设置下测试选定的音频输出,并分别使用一种采样音色和一种合成音色。
- 关闭并重新打开应用,确认所需设置已经持久保存。
有关控制与故障排查的详细说明,请阅读 Type Piano 演奏指南。发行文件与校验和始终以下载页为准;问题报告和公开发行证据则位于 Type Piano 官方仓库。