Meet Jelly Brain: 一个霓虹发光的大脑果冻体吉祥物坐在假装的超级任天堂(Super Nintendo)上,它会创作音乐。
Pick a scene — TOWN, BOSS FIGHT, SPOOKY, UNDERWATER, CREDITS (32 of them). Turn three dials: mood, energy, epic. Smash MAKE. It writes and plays an original song the way a real SNES would. Hit the treasure chest for a random one. It reacts the whole time — smiles, frowns, falls asleep if you ignore it.
选择一个场景 — TOWN、BOSS FIGHT、SPOOKY、UNDERWATER、CREDITS(共32个)。旋转三个旋钮:情绪、能量、史诗。按下 MAKE。它会像真正的 SNES 那样写并播放一首原创歌曲。点击宝箱可以得到随机结果。它会全程反应 — — 微笑、皱眉、如果忽视它会睡着。
Here's the fun part: there are no audio files. Every sound is math.
这里的有趣之处是:没有音频文件。每个声音都是数学。
The engine (the nerdy part):
引擎(老派的部分):
- 软件 S-DSP,即 SNES 的声音芯片,模拟到细节层面:整数高斯插值(基于真实表格)、BRR 编码、ADSR 和 GAIN 包络、15 位 LFSR 噪声、FM 技巧的音高调制、带有 8 个跟踪点的回响 FIR 滤波器,以及作曲家必须在 64 KB 样本 RAM 预算内完成的限制。
- 132 种乐器全部通过数学重建。一个工具将 SNES 时代的 SoundFont 乐器转换为数字(和谐包络、噪声带、循环傅里叶级数),引擎再合成,平均准确度约 98%。不随带任何采样文件。自行提供 .sf2 文件即可添加更多乐器。
- 26 种鼓点同样通过数学重建,分为五套音色库。
- 复古技巧:调音偏差的双声用于合唱,当回响 RAM 用完时模拟回响,波形切换的垫音,以及像真实游戏一样的音效窃取音乐声道。
- 一位拥有每个场景角色表的作曲家:时间窗口、模式(从弗里吉亚到利迪亚),以及踏点、高潮、渐弱和调性提升等装置。
- 一个评分基准,将歌曲与 244 首真实游戏曲目进行对比。每次按键都会生成 16 首歌曲并播放获胜者。
- 回响、混响、WAV 与 MP3 导出。支持手柄,包括震动和按钮重新映射。
- 为了特意保留缺失的一项:COSMIC 按钮对应我私有的 DSP 效果(LIFT-OFF),目前不在本版中。它是我的,听起来很棒。
它基于 JavaScript 和 Electron,没有使用框架。完整源码已提供,并附带重建乐器的工具。
许可证:采用 PolyForm Noncommercial 许可,源码开放。免费使用、学习和修改。你的音乐归你所有,可用于你的游戏。如果要出售 Jelly Brain 本身,则需要商业许可([email protected])。
老实的部分,以及我为什么发布:
声音是对的。但歌曲创作尚未成熟。生成的歌曲相似度太高,缺乏吸引力。我研究了真实配乐,数字表明 hooks(主题)需要重复,低音更有重量,循环前需要更长的过渡,但我不是作曲家。
如果你写像 SNES 那样的音乐:你会给机器作曲家哪些规则?什么让城镇主题感觉像家,什么让Boss主题感觉像麻烦?具体的答案会转化为代码。
下载:
评论 (0)