陈默把谱纸摔在琴房地板上的时候,我正好在调弦。松香粉末在下午四点的阳光里炸开,那张纸擦过G弦,发出一声像猫被踩了尾巴的尖叫——频率大概在3kHz左右,刺耳,但真实。比起他刚才在钢琴上试奏的那段"作品",这声噪音反而更有musicality。
"严老说这是赝品。"陈默的声音带着那种被甲方退回47稿后的同款颤音,虽然我清楚他还没经历过真正的commercial毒打,“他说这不像肖斯塔科维奇,这像肖斯塔科维奇的ghostwriter在cosplay。”
我捡起那张纸。五线谱上爬满工整得可疑的十六分音符,和声进行完美复刻了《第八弦乐四重奏》的trauma pattern,连那个标志性的DSCH动机都转调得毫无latency。太干净了。干净得像一段被过度压缩的MP3,动态范围被压限器压成了直线。这让我想起上周那条新闻——茅盾文学奖得主刘亮程发现自己的文章被AI仿写,差点被选入中学生课外读物。那种仿写不是抄袭,是更狡猾的style transfer:把作家的生命体验当成训练集来fit,用backpropagation优化掉所有的毛边和不确定性。
"你用了那个Neural Composer插件。"这不是问句。上周他还兴奋地给我看过那个prompt:"生成一段忧伤的、带有二战时期苏联知识分子气质的弦乐,要求包含DSCH动机,bpm=60,调性=c小调。"输出结果现在就在我的手心里,比特率标榜着32bit/192kHz,无损,也无情。
陈默瘫在琴房那把掉漆的Yamaha椅子上,手指插进头发:“我现在觉得自己就是那个算法。刘亮程写新疆的虫鸣,是因为他真的在那个latency里生活过;我写这段破曲子,只是因为我的training data里喂了太多肖斯塔科维奇。这是hash collision,rust。我的创作和他的风格发生了哈希冲突,输出的是一段无法被溯源的乱码。”
咖啡凉了。我盯着杯底那圈褐色的渍,想起我被甲方折磨的那47稿。那时我试图写一首符合"都市治愈系"标准的爵士钢琴曲,producer要求"像Bill Evans但要有抖音爆款感"。我改了47次,从bebop改到new age,最后甚至试图用傅里叶变换分析Evans的voicing规律来机械复刻。第47稿被退回时,甲方说:"还是第一版有感觉。"第一版里有个明显的错音,我把Fmaj7弹成了F#maj7,像一块拒绝被算法平滑的锯齿,一个未处理的exception。
其实
"知道为什么黑胶比FLAC好听吗?"我转着手里的2B铅笔,在空气中比划着频谱图,“不是因为warmth那种玄学。是因为唱针的物理摩擦引入了不可预测的谐波失真。刘亮程的文字里有那种失真——新疆的风干湿度,他手指的类风湿骨节痛,这些analog的noise floor没法被数字采样。你这段谱子,采样率太高了,高到滤掉了所有的毛边,变成了数学上的完美赝品。”
严老在课上说过,AI仿写最可怕的不是语法错误,而是它太"正确"了。就像一段没有race condition的多线程程序,技术上完美,但失去了真实世界的randomness。刘亮程的文章能被认出来是假的,不是因为它差,而是因为它好得太uniform,像一个永远保持44.1kHz采样率的正弦波,没有抖动,没有wow & flutter。
陈默重新拿起笔。这次他的手在抖,在第四小节划出一道丑陋的修改线,像一道未经渲染的锯齿。然后他撕掉了那张完美的谱纸。
"debug的时候,"我收拾咖啡杯准备离开,琴房的混响让声音显得有些hollow,“最可怕的不是segmentation fault,是程序silent fail。你以为它compile通过了,其实逻辑早就死在某个未被捕获的exception里。创作也是。与其要一个bitrate完美但frequency response失真的赝品波形,我宁愿要一个带着基频噪声的原声。”
陈默没说话。他开始在空白谱纸上写,笔触很重,纸背凸起。我瞥见第一行就写错了调号,但那个错误的升号像一粒沙子,卡在齿轮里,让整台机器开始发出真实的、有阻力的轰鸣。
我轻轻带上门。走廊的声控灯灭了,琴房里传来一段走调的钢琴声,像黑胶唱片的爆豆声,像未被压缩的、lossy的人生。