这篇收在我们的记谱术语指南里。
一段人声唱的旋律,一次只有一个音,软件能跟住它已经好些年了。钢琴完全是另一回事。它一下就能弹出五个、六个、八个音,一只手按住和弦,另一只手在和弦里走一条旋律线,所有声音一起响,混成一片。教电脑把这一片声音拆开,还原成一个个写出来的音符,是扒谱最核心的难题,整个领域也拿钢琴来衡量自己的水平。
同时发声的音为什么这么难分,现在的模型怎么听出一个和弦,一段干净的钢琴录音为什么能换来最好的结果,弄明白这三件事,也就知道钢琴复音扒谱是怎么做的了。
复音扒谱指的是什么
复音,意思是好几个声部同时出声。复音扒谱,就是拿到一段有好几个音同时在响的音频,把每一个音都记下来。和它相对的是单音扒谱,只有一条线,一次一个音,要容易得多,因为从来不用琢磨同时有几个音。两者怎么区分,可以看我们的单音扒谱和复音扒谱对比。钢琴音乐是复音里最满的那一种,和弦密集,旋律线互相交叠,延音踏板还让所有声音连成一片。
同时响起的音为什么这么难
一个音并不只有一个频率。它由基频加上一串泛音组成,也就是泛音列,音色就是这串泛音给的。你只弹一个音时,系统能找到基频,读出音高。同时弹好几个,各自的泛音叠到一起,麻烦就来了。
- 泛音重合。 相隔五度或八度的音有很多泛音是重合的,一个音留下的痕迹看上去就像另一个音的。
- 八度问题。 一个音和高它八度的音几乎所有泛音都一样,所以凭空多出八度或者八度放错位置,是复音扒谱里最典型的错误。
- 数清有几个音。 给音高定名之前,系统得先判断到底有几个音在响,而弹得轻的内声部,很容易被响亮的外声部盖住。
- 起音糊在一起。 好几个音几乎同时开始,踏板又让前面的音一直在响,这时要算准每个音从哪一刻开始就很难。
AI 怎么听出一个和弦
现在的系统把这件事当成学习问题来处理,不用人手去写一套规则。神经网络用大量音频来训练,每段音频都配有真实的音符,所以它学会了钢琴真实的音色:泛音怎么表现,弹得轻和弹得重有什么不同,一个音敲下去以后怎么衰减。读一段录音时,模型先把音频切成许多很短的帧,每一帧都估计哪些音高正在响、哪里有音符开始。这些逐帧的判断随后被拼成一个个独立的音符,每个音符有开始时间、音高和时值,再排成乐谱。模型听过大量真实的钢琴演奏,所以能借助音乐上下文,比如前面弹了什么、哪些音常常一起出现,去解开那些简单频率分析搞不定的模糊之处。它更像一个训练有素的乐手在听和弦,不太像计算器在读频率。
为什么拿钢琴当标准
整个领域在钢琴上下的功夫最多。常见乐器里,钢琴的复音最密集,它的音起音清楚、稳定,衰减也好预测,能拿来学习的数据还很多。这几点加在一起,让钢琴成了扒谱技术最成熟的方向,Songscription 最成熟的模型也是钢琴模型。一段干净的钢琴独奏录音,扒出来的结果接近熟练的扒谱高手写出来的谱子,连耳朵分辨不出的内声部也包括在内。我们的用 AI 扒钢琴谱和扒爵士钢琴和弦两篇指南,用真实的曲子展示了钢琴扒谱能做到什么程度。
哪些因素影响准确度,你能做什么
录音影响最大。一段干净、没有别的乐器、比较干的钢琴独奏,给模型的线索最清楚;混响重、延音踏板踩得重,会把和声糊在一起,你看到的错误大多由此而来。如果你是在数码钢琴上弹的,直接录下 MIDI,音符数据分毫不差,音频这一关也就整个跳过了。扒完之后,检查密集段落最好用钢琴卷帘。每个音在那里都是单独的一块,八度错误或多出来的音一眼就能看出来,拖到正确位置也很方便。这种网格可以在我们的把音频转成钢琴卷帘里看到,其他影响因素在为什么 AI 扒谱的准确度有高有低里有讲。好几种不同乐器同时在响的情况,可以看AI 能同时扒多种乐器吗。想拿自己的演奏试试,就从钢琴扒谱开始。
常见问题
什么是钢琴复音扒谱?
钢琴复音扒谱,就是把一段录音里同时在响的好多个音全都记成谱,比如钢琴弹的和弦和交叠在一起的旋律线。“复音”指同一时刻有好几个音高,与之相对的是单音,一次只响一个音。它比扒一条单旋律难,因为这些音挤在同一时刻,泛音又互相重叠,系统得先判断到底有几个音,再判断各是什么音高。
为什么扒和弦比扒单旋律难?
单旋律一次只有一个音高,系统只要跟住一个基频的走向就行。和弦是好几个音叠在一起,它们的泛音互相重叠、互相加强,一个音留下的痕迹,看上去可能很像另一个音的。系统得在同一瞬间数清有几个音在响,再理清哪条泛音属于哪个音高。
扒谱里的八度错误是怎么来的?
一个音和高它八度的音,大部分泛音都是共有的,八度错误就是这么来的。低音区一个 C 的泛音列,和上方那个 C 的泛音几乎对得上,所以系统可能把音放高或放低一个八度,或者凭空多加一个其实没弹的八度。模型会学习乐器的音色和音乐上下文来减少这类错误,但在复音扒谱的结果里,八度仍然是最常需要看一眼、顺手改掉的地方之一。
怎样让复音扒谱更准?
给模型一段尽量干净、只有钢琴的录音。清楚的钢琴独奏录音,混响少,也没有别的乐器抢声,模型就能准确听出内声部。延音踏板踩得太重会把和声糊在一起,这是最常见的出错原因,所以录得干一点会有帮助。如果你是在数码钢琴上弹的,直接录下 MIDI,音符数据分毫不差,音频上的难题也就整个绕开了。扒完之后,在钢琴卷帘里过一遍密集的和弦,八度错误和多出来的音在那里很容易发现,也很容易改。
