Lobsters | 📄 原文链接 | 2026-10-19 收录

用 L 系统和颗粒合成做算法音色设计

来源:nathanho.me — 2026-10-17

📋 概述

Nathan Ho 重写了自己几年前那篇不满意的 L 系统加颗粒合成文章,这次给出完整系统 EvoGrain:一个离线程序,合成几秒到三十秒的音频片段,定位介于合成器与算法作曲之间,输出不是成品而是可供采样和再处理的原料。架构是一条回环:随机生成 L 系统规则 → 展开成乌龟指令序列 → 乌龟解释成约两万颗粒子(每颗带起始时间、时长、音高、声像、包络、合成引擎等)→ 对颗粒集做「调整」提升音乐性 → 合成音频并统计评分 → 反复随机并挑出得分最高者。灵感来自 2010 年前后马拉加大学的 Iamus,那个项目完全基于规则、不用人类作品训练,作者从中得到的关键启发是「间接编码」:基因型与表型之间的关系才是音乐性所在,比适应度函数更关键。技术上最有意思的是边界处理:MoveParam 会让乌龟一路漂到参数边界并粘住,他先借鉴 Manousakis 的阈值重置,再用梯形模糊隶属函数做插值——越接近边界,被重置的概率越高,于是参数分布自然向边界衰减,比硬裁剪或镜像更合音乐直觉。

🔑 核心要点

💡 金句

记住,给乌龟设边界不是自私,你只是在练习自我照顾。
← 返回 Lobsters 首页