我为游戏创建了一个引擎声音合成器。它将在某个时候开源,等我更深入地理解它、清理代码并做好文档记录后。显然,这离不开那位不可说之人的帮助。在此之前,我对音频和引擎声音一窍不通。
声音是完全程序化生成的,不使用任何采样。它从游戏/模拟器中获取引擎遥测数据(转速、油门、负载、限速器),根据预设添加特性(怠速抖动、点火异常与回火概率),然后将这些输入到一个以发动机循环频率运行的单一振荡器中。
引擎的本质就是周期性燃烧:如果你知道转速、点火顺序和冲程数,就能确定每次爆炸的发生时间。整个模式会合成一个波形,因此,一个怠速不稳的V型双缸发动机和一台直列四缸发动机本质上是一样的振荡器,只是点火角度表不同。其余的工作是让Claude思考排气、进气、曲轴箱和机械噪音如何从中产生——燃烧脉冲也控制着噪声层的开启,因此嘶嘶声会以燃烧频率呼吸,而不是持续嗡嗡作响。在此基础上再加入怠速抖动、回火和失火等效果。
评论 (0)