# 三年磨一剑：钢琴智能陪练终于来了

## 1  

家有琴童做过陪练的家长，大多有这样的体会：

- 乐器学习这事儿太玄妙，只有去老师那儿才知道练琴有没有问题；
- 练琴这事儿太难量化、数据化，所以陪练时经常与小孩发生争吵。
 
相比语数外成熟的作业与评价机制，乐器学习过程长期以来缺乏相对简单、透明的评价方法。

这是**导致多数琴童与家长乐器学习过程痛苦**的一个重要原因。
 
越来越多家长决定让小孩要从小学习一门乐器；与此同时，也相当多家长与琴童难以坚持下去，没学多久就放弃了。
 
其实**背后的问题**也清晰：

- 如果每天在家的练琴时，琴童与家长自己，能够及时地评估练琴的状态、及时地发现并解决一些基础问题，就好办了。
 
但对音乐了解有限的家长与琴童，怎么样才能自己去评估练琴状态呢？
 
**老办法是，依赖超级家长、超级老师，以及超级学生。**
 
**有新办法，依赖最新的科技，依赖手中的 App。**
 
计算机在越来越多的领域在替代相对简单基础、重复性高、逻辑不复杂的事情。
 
乐器学习中，**最基础的问题就是错音问题**！
 
这事儿对于老师来说，也是低级重复的活儿。
 
**这个活儿，应该由计算机来解决掉。**
 
并且在家里练琴时就解决掉，不要留给老师了。
 
## 2  

对于**「钢琴」**这个乐器，上面提出的问题，其实已经有不少的公司在投入解决。
 
现在最常见的作法是：
 
1）智能钢琴；
2）钢琴条：放在传统钢琴上面，检测按键的一个硬件设备。
 
这两种作法的基本思路都是，用硬件来检测按键动作，从而识别演奏的正确性。
 
电钢琴也可以监测到按键动作，从而能够识别演奏错误。
 
只是，上面方式，成本都相对有点高，尤其前两种是额外的设备。
 
现有的解决方案一方面要依赖硬件，另一方面更大的问题在于软件。（这里省略 2 万字的吐槽）
 
## 3  

大家都越来越体会到「软件」的重要性，**「软件改变世界」**越来越成为事实！
 
在解决练琴中识别错误这个问题的软件设计里，传统的一般的作法都是：

- 练琴时看着 App 上电子乐谱；
- 启动检测后，乐谱上光标在一个音符一个音符往后移动；
- 演奏者需要光标在哪个音符上时，及时地把音符弹出来，乐谱上显示这个音符弹奏是否正确。

上面这个步骤里，练琴者是在**被动地、机械地「按键」**，不是在弹奏乐句。
 
大多数现在大家看到的智能乐器、乐器智能化 App，都是这个软件实现方式。
 
这个方式技术实现起来相对简单。
 
**这个方法对初学者有一定的意义，但绝对不是长久的、人性化的方法。**
 
人性化的方法，应该是练琴者自己主动弹琴，旁边有个陪练老师：

指定练习哪一段；

- 学生对着自己的纸质乐谱，照常练琴、演奏；
- 练琴结束后，陪练老师点评，告诉你哪里错了（以及时改正）。
 
**好的软件，应该是像上面陪练老师一样的「智能陪练」，App 能够跟随人，而不要让人去跟着机器。**
 
## 4  

「一起练琴 App」3 年前在小提琴上实现了「智能陪练」，这是全球首创的。
 
前不久也陆续发布了对中提琴、大提琴、单簧管、长笛、电钢琴的支持。
 
作为琴童家长的你，现在手里有「一起练琴」App，我们可以来想像一下这个场景：

- 你在 App 里找到要练习的乐谱，指定段落；
- 孩子看平时练的纸质乐谱，与往常一样练琴；
- 你在 App 里看着演奏到哪了，哪个小节哪个音符；
- 孩子刚练完这首曲子，下一秒 App 告诉你，刚才孩子弹琴打了多少分，哪错了，漏弹错弹，哪个音快了慢了。

发现了么？全程孩子都是在正常弹琴，但是家长可以对孩子演奏情况一目了然。发现问题及时和孩子讨论沟通，请教老师改进方法。
 
这时候的家长，有了 App 的辅助，摇身一变，变得**可以评价练琴状态**了。
 
或者说，练琴变得与语数外类似，可以更好地**量化、数据化、透明化**了。

至此，一起练琴中实现的智能陪练功能，受到了琴童家长、老师们的广泛欢迎，**已有几十万的注册用户，每天产生上十万条评测记录。**
 
一起练琴也得到来自很多业界专家的认可与鼓励：

- 上音小提琴教育家丁芷诺；
- 央音中提琴教授何荣；
- 小提琴教育家顾应龙；
- 小提琴教育家邵光禄；
- 青年小提琴演奏家黄隽；
- 台湾小提琴教育家黄辅堂。

一起练琴 App 软件评测这么多人用，还有一个核心原因：

- 不依赖任何硬件，只是手机中安装 App 即可；
- 或者说，App 完全基于手机设备的麦克风拾取到的录音来检测、分析；
- 下载安装个软件，就可以试起来，门槛足够地低。

## 5  

但钢琴这个乐器，还坚持这个纯软件的作法，就难了：**钢琴的声音太复杂了！**
 
为什么我们最初做智能陪练要从小提琴开始，就是因为**小提琴的声音相对「单纯」**（但好听）。
 
三年前，我们就在为这一天做准备：钢琴智能评测。
 
我们先在相对声音相对单纯的乐器上积累技术。
 
现在，我们达到了，终于初步完成了钢琴评测。
 
** 这一天，我们努力了三年！**
 
 ## 6  

Dr.wey 也总结了一下，钢琴做基于声音的评测，其难点在哪。这部分比较技术化，大家可以忽略。
 
一、同时演奏多个音时准确分辨出所有音的音高

在同一个时刻经常会出现很多个音，这些音既包含当前时刻弹奏的音符，也包含该时刻之前弹奏音符的延音，比较极端的情况是左右手都演奏和弦（同时按 8 个琴键）加上前面音符的延音（踩踏板）。

![图为拉赫玛尼诺夫《 g 小调前奏曲》演奏片段的频谱图
可以看到音频信号中的每一时刻都有不同频率的成分混叠交织在一起，混响也很大。](https://media.17lianqin.cn/8c8a0.png)
 
 
二、在面对用户众多的音高和音色时仍能保证多音识别的鲁棒性

弦乐用户基本每次练习前都会调琴，而钢琴用户绝大部分都是半年以上调一次琴，有些甚至几年都没调过，平时也并不注重钢琴的日常保养，这导致每个用户的钢琴音准都不一样，每架钢琴每个音之间的音准偏移程度都不同，甚至每个音上的两根或三根弦之间的音准都不一样，不同钢琴的音色更是千差万别。
 
三、演奏光标跟随的稳定性
 
演奏光标跟随是我们的一大特色，钢琴作品广阔的音域、丰富的音符组合、灵活的演奏方式再加上复杂多变的用户弹奏行为，这些都使得要实现实时稳定可靠的光标跟随更为困难。
 
四、在众多不同的终端设备中保持评测结果的一致性
 
不同用户的终端设备麦克风频率响应各异，并且不同厂商对于麦克风录音的噪声抑制程度不同。降噪算法会削弱钢琴的混响，抑制延音效果，还会造成音频某些成分失真，不同厂商用的降噪算法不同，有些用了降噪，有些没有降噪。麦克风硬件特性和降噪算法导致我们接收到的音频信号是千差万别的。
 
 ## 7  

我们做出了这么多努力搞定的钢琴智能评测，效果到底如何呢？
 
1）基本可用；
2）已经是做得最好的了；
3）进步空间还相当地大，我们要继续努力，再战三年。
 
上面这个评价，本文就不具体展开了。
 
**欢迎大家踊跃尝试！**
