第一遍跑完 Suno 语料。这东西有意思。
我正在发现统计学上站得住的概率极低的音乐模式:常见和弦进行,错位的音符,还有在「真」音乐里哪儿都找不到的旋律走向。
它们在破规。
其中一些模式,用真实乐器根本无法复现。下结论还太早(我只处理了大约 25% 的材料,约 16 万条音频片段,方法学也还没完全搭好),但看起来,它有望带来新的洞察。
我干了大约九个小时。GPU 崩了,就崩在我周末写的那套火力过猛的加速栈上。还没完全测过!但我们在路上了。
大概今晚就放下了。工具还有些要搭。但妈的。这会很好玩。我准备去做那个我想做很久了的旋律研究。
数据质量与不确定性
话说回来,数据一致性和音质上,我正撞上一些麻烦。我在用的降噪方法不够皮实,不确定性旗子有 33% 的时候在冒头。那几乎是三分之一的语料,让「和训练集做对比」这件事变得不可靠。
分析流水线
Grimes 工具,我周末写的,负责给音轨做分解和降噪,并跑一个简单的分解流程,把作曲的基本盘抽出来。它把这些转成 MIDI 文件,建一个 Crunchy 数据模型——部分实现了我上周写的 Crunchy 0.3.4 数据建模规范,在 GitHub 上能找到。
接下来,它上一些简单的算法指纹,把每首歌拆成一串连接点或数据点。这些数据点用来把每条音轨和语料里的每条其他音轨对比,也和推定的训练数据对比(训练数据也用同一套方法学处理过)。
概念上,这非常好玩。想象一个 3D 的悬浮数据之网,像复仇者联盟电影里那种。
目前的问题在音质。它会把「我认为自己抽取得有多准」记录下来:看作曲里的标记和峰值,对未解决的失真之类的怪东西、和你耳朵不觉得怎样、机器却读不懂的各种含糊数据,打旗。
确定性等级分低、中、高,在抽取流程跑完之后定。全都会记日志。日志按单轨和批次两个层级记。
我就是这样评估我的工具对这套语料是否好使的。我们还没到那一步。
要让这套东西成立,我得把我的数字压下去。
真心希望不用算噪声墙就能做到(因为那要的算力,比我的多)。
让数据吐露它的秘密
说实话,比起之前,我不那么怕找出「定罪的东西」了,但保持开放的头脑还是重要的。如果这是为了私人情绪或者什么议程,那这些数据不会比至今公开过的任何语料讨论更有用。
我们需要稍微客观一点的东西。让数据以一种能被审察、能被公正复核的方式,吐露它的秘密。不要神秘的语汇,不带预设的假设,不站肥皂箱。
跟任何艺术相关的事一样……关键全在方法和过程。