自适应音乐
分层与重排的前提是共享速度、调性和小节边界
相关
问题
自适应音乐要回答两个问题,同一时刻听哪几层,下一段从哪里接进来。用 AI 生成四条"同一首曲子的不同强度版本"往往对不上,速度差两拍、调差半音、和声进行不一样,引擎一交叉淡化就露馅。
原理
纵向分层靠共享速度、调性与和声网格,各层只改变密度和音区。横向重排靠小节边界,切换点必须落在乐句结束或强拍上,最好提前半小节准备。生成模型不会自动满足这些约束,它按自己的和声逻辑走,所以约束要写进每一次生成,或者事后用 MIDI 修。层数越多,共享的骨架越要简单,否则每加一层都要重新对齐。
做法
先做一个四到八小节的和声与节奏骨架,确定调、速度、每小节的和弦。以骨架为条件生成各层,或者干脆用同一段 MIDI 换配器。每层导出时标清 BPM 与起始小节。在引擎里把重排量化到小节,淡入淡出不超过半拍。测试时把所有层同时打开再逐层关掉,听有没有相位或调性冲突。转场单独做两小节,别指望淡入淡出解决所有问题。每次生成前先确认骨架没有被改动。
听什么
在《波莱罗》里听一件件乐器加入怎样在不改变和声的情况下加厚,在巴赫众赞歌里听四声部怎样在终止式处给出干净的切换点,在《蓝色多瑙河》里听三拍子的乐句怎样每四小节收一次,在 loop-house-in-a-forest 里听循环素材的分层方式。这些结构就是自适应系统要复制的东西。
在库中听例子
Bolero一件件乐器加入,纵向分层的教科书(C1)详情Chorale BWV 1/6四声部终止式清楚,水平重排的切点参考(C1)详情The Blue Danube Waltz三拍子乐句规整,层切换落在小节线上(C1)详情House%20In%20a%20Forest%20Loop 0循环素材的分层方式,听各层如何独立成立(C1)详情
每首均来自 midicn-lib,行内徽标为许可档位(C1 可商用 / C2 非商业 / C3 仅学习研究)。
事实来源
- 自适应音乐的纵向分层与横向重排,依游戏音频通识核对,未抄原文
- Vertical layering and horizontal resequencing, checked against general game audio practice, not copied
仅用于核查事实,正文为原创撰写。