音乐键盘娱乐

在线钢琴:用电脑键盘就能弹,8 种乐器

想弹点什么的时候,从「打开一个网页」到「发出第一个音」之间不该有超过三秒的距离。这个虚拟键盘把电脑键盘变成琴键,钢琴用的是真实采样,另有七种合成乐器,键位可以按自己的习惯改。

打开完整版 →桌面版下载

用电脑键盘弹奏,8 种乐器,钢琴为真实采样

在网页里直接试用

点击试用区后,按电脑键盘即可弹奏(需要先点一下,键盘事件才会传进去)。

关于音色来源,值得说明白

钢琴音色用的是 Salamander Grand Piano(由 Alexander Holm 录制,以 Creative Commons 署名 3.0 协议授权)。这是一套被广泛使用的开源钢琴采样 —— 相比软件合成出来的「像钢琴的声音」,它的每一个音都是真实钢琴录下来的。

具体到本站的实现:构建时把 30 个采样点(覆盖 A0 到 C8 全部音域)下载到本站自托管,运行时从同源地址读取。这意味着两件事:

  • 不依赖第三方服务器。 采样打包在本站,不会因为别的站点关停而失效。
  • 有缓存,只下载一次。 全部采样约 2 MB,浏览器缓存后不再重复下载。如果采样未能加载,钢琴会自动回退到合成音色 —— 功能不至于不可用。

其余七种乐器是 WebAudio 实时合成的,不加载任何音频文件,切换即时完成。合成音色和采样音色的差别,用一句话说:采样是「录音回放」,合成是「按物理模型或波形算出来」。前者更真实,后者更轻、更灵活。

电脑键盘弹琴的两条硬限制

用电脑键盘弹琴的体验瓶颈不在软件,而在键盘本身。有两个限制值得提前知道,免得以为是工具的问题:

第一,没有力度感应。 钢琴键盘(以及 MIDI 键盘)每个键都能感知你按下多用力的,因此能弹出强弱变化 —— 这是钢琴表现力的主要来源之一。电脑键盘只有通断两种状态,所以每个音的音量完全相同。用电脑键盘弹出来的旋律在「音高和节奏」上是对的,但缺少层次。

第二,同时按键的数量有限制。 这涉及一个叫「按键冲突」的问题:普通薄膜键盘的电路设计只能同时正确识别大约 6 个按键(6KRO),再多就会出现部分按键被忽略。单音旋律完全没问题,但插上双手弹和弦(尤其是需要 7、8 个音同时按下的和弦)时就会丢音。带全键无冲(NKRO)的机械键盘没有这个限制。

知道这两点之后,使用预期就清楚了:它适合随时弹一段旋律、记一下想到的调子、或者不在琴边时过过手瘾;不适合用来练习需要力度控制的曲目。

几个能让它更好用的做法

改成你顺手的键位。 默认键位是通用方案,但每个人的手型和习惯不同。花两分钟调一次,长期看是值得的 —— 别扭的键位会让你在几天内放弃它。

用节拍器定住速度。 随手弹最容易变成越弹越快。开一个慢速节拍器跟着弹,效果和认真练习是两回事。

用八度切换代替移动手位。 需要低音或高音时直接换八度,比在键位上找更快的音区更顺手。

别用它当唯一练习工具。 它的价值是「随时可用」,不是「替代练琴」。两者不冲突。

功能

  • 八种乐器

    钢琴、以及七种实时合成的音色。合成音色不加载任何音频文件,切换是即时的。

  • 钢琴是真实采样

    钢琴音色使用 Salamander Grand Piano 的录音采样,30 个采样点覆盖 A0 到 C8,比单纯的合成音色更接近真实琴声。

  • 键位可以改

    默认映射可以直接用,也可以按自己的手型与习惯重排。改完的键位保存本机,下次打开还是你设的那套。

  • 内置节拍器

    练习时不必再开一个工具,节拍与弹奏在同一个界面里,速度可以直接调。

怎么用

  1. 点击界面,再按键

    需要先点一下界面(让浏览器把键盘焦点交给它),之后按键盘才会发声。这是浏览器的安全策略,不是坏了。

  2. 先弹一个八度找手感

    从中间的一个八度开始,熟悉键位与音高对应关系。电脑键盘的排列和钢琴键盘不同,需要一点时间建立映射。

  3. 改键位,直到手不别扭

    默认键位只是通用方案。如果你的手小或者想弹特定的调,直接改成顺手的排列 —— 这一步能明显提高可持续性。

  4. 开节拍器练一段

    挑一段简单的旋律,把节拍器调到能弹对的速度,弹准了再逐步加速。

常见问题

为什么按了键盘没有声音?

最常见的原因是没有先点击界面。浏览器会把键盘事件优先给当前获得焦点的元素,页面刚加载时焦点不在键盘上,所以按键不会传进去。点一下界面任意位置,再按键就有声音了。如果还是没有,检查一下标签页是否被静音(标签页上的喇叭图标)。

电脑键盘能弹出力度变化吗?

不能。普通电脑键盘的按键只有「按下」和「松开」两种状态,没有力度感应 —— 这是硬件限制,软件无法弥补。所以用它弹出来的每个音音量都是一样的。如果需要表现强弱,需要外接 MIDI 键盘。不过八度和音量可以调,用它们来适配不同音域是可行的。

同时按很多键会丢音,为什么?

因为普通键盘有「按键冲突」限制。多数薄膜键盘只能同时正确识别 6 个左右的按键(称为 6KRO),超过之后部分按键会被忽略;而和弦尤其是双手弹奏时很容易超过这个数量。带全键无冲(NKRO)的机械键盘没有这个问题。这不是软件的限制。

钢琴音色是怎么来的?

使用 Salamander Grand Piano(Alexander Holm 录制)的采样,以 CC-BY 3.0 协议授权。采样在构建时下载到本站自托管,运行时从同源地址读取,所以只要加载过一次就不再依赖网络。其余七种乐器为 WebAudio 实时合成,不加载音频文件。

可以用来练琴吗?

可以用来做键盘和手指的练习、熟悉旋律、试音,但替代不了真实钢琴。主要欠缺是力度感应 —— 钢琴表现力的核心部分(强弱、连断、音色层次)都依赖触键力度,这一点电脑键盘给不了。把它当作随时能弹一下、或者不在琴边时的替代品更合适。