主要观点:作者开发 4k 软合成器 4klang 的动机是不再使用 gm.dls 样本,同时以紧凑形式提供不错的声音,且作者自认既非优秀音乐家也非合成器专家,却有创造最佳 4k 合成器的抱负。
关键信息:
- 收集其他 4k 合成器信息,决定采用可变处理布局,以信号栈处理单元,每个单位只做特定功能。
- 包括多种基本合成器单元,通过信号栈操作实现不同功能,如乘法等,还加入辅助缓冲等。
- 实现灵活调制机制,通过“Store”单元将信号栈顶信号存储到合成器工作区的任意位置,实现多种调制效果,包括交叉调制等。
- 4klang 经历多次迭代,增加双复音、混响、重写 VM 等功能,目前已包含 VSTi 插件,是最终版本。
重要细节: - 研究来源包括 Stoerfall Ost、Fuxplux 等,数字音频处理算法可参考 http://www.musicdsp.org。
- 决定用汇编语言从头开始编写,以更好控制指令,每个合成器单位如振荡器等只做特定功能,节省空间。
- 用信号栈处理不同单位的信号,如通过一系列指令对信号进行滤波等操作,最后将信号存储到输出缓冲。
- 为方便创建乐器,创建大量定义,用类似声音编程语言的方式编写 VM 代码,早期歌曲以此方式创作。
- 音乐信息用模式存储,每个乐器有模式索引列表,可添加可变音符长度,代码简单数据紧凑,但一次只能存储一个音符信息。
- 调制机制可实现多种效果,如 FM 合成等,还加入弹出信号等单位,将多个单算术单位合并为一个。
- 4klang 目前版本包括 VSTi 插件,代码约 730 字节,数据约 50 字节,总 1320 字节,相比 sprite-o-mat 的 gm.dls 播放器是成功的,主要问题是执行时间和复音问题。
- 作者制作 4klang 的 GUI 不隐藏复杂性,让音乐家了解合成器工作原理,希望音乐家能创作出压缩比高的歌曲。
- 4klang 开发耗时一年多,感谢 pOWL 的帮助,现在可在 ZINE #14 中获取完整 4klang 包,有问题可联系作者。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。