合成器 Minaton 推出新版本 0.2.0
Minaton是由ThunderOx开发的一款模拟风格单音合成器,采用PCM格式的波形采样,搭配Moog风格的经典24 dB/oct滤波器,能够再现模拟时代独特的温暖合成音色。
插件原本仅支持Linux(LV2格式),且原作者已经停止开发。后来,本文作者安小匠继续开发、维护,推出后继版本Minaton-XT,修复了诸多Bug,完善功能特性,并使其成为跨平台的插件。
在0.1.2版本的基础上,Minaton-XT步履不停持续演进,推出了更上一层楼的0.2.0版本。这一版本的重大更新已经不限于“重大”,更是本质上的飞跃,解决了Minaton在音乐制作实践中的的难点痛点。
支持平台与下载方式
Minaton是跨平台的插件,支持Linux和Windows两大平台,理论上也支持macOS(有待测试)。格式上,支持VST2、VST3、LV2及CLAP,兼容各大主流DAW。
Minaton以GNU通用公共许可协议第3版(GPLv3)授权,免费且开放源代码,欢迎大家参与贡献。
- 下载地址:https://github.com/AnClark/Minaton-XT/releases/tag/0.2.0
- 项目地址:https://github.com/AnClark/Minaton-XT
图 1 Minaton-XT 0.2.0版本主界面,与上一版差别不大
彻底改善重采样算法,实现音质飞跃
在合成器波形上,有别于大多数合成器用数学方法生成波形,Minaton用的是预录的44100Hz PCM波形。事先生成1个周期的基础波形,保存为PCM音频,然后再在合成器引擎中加载,利用重采样技术改变波形音高,辅以Moog滤波器等DSP,最终生成合成器乐音。
由于无需编写复杂的波形生成算法,采用这种方式,可以大大降低合成器开发的难度。但是,由于预录波形采样率是固定的,如果在DAW中使用44100Hz以外的采样率输出,则会导致音频变调。因此,为了保证音频输出在多种采样率下保持一致,本文作者对最终输出的音频进行实时重新采样,以适应高采样率的需求。
原本,Minaton采用的是一套开源超采样算法,由算法工程师@cpuimage开发,性能优越,在48000Hz下有不错的音频表现。但当时Minaton调用该算法时的逻辑不够完善,生成的音频波形存在空隙与不对齐的情况,故Minaton在高采样率下工作时,会出现明显的杂音,如“咔嗒咔嗒”或“嗡嗡”声,大大影响音乐制作的体验。
在实际音乐制作中,制作人、音频工程师可能会使用更高的采样率来制作母带,包括88200Hz、96000Hz甚至192000Hz。为了确保专业制作人也能在高采样率下有优质的体验,本文作者选用了开源重采样引擎Secure Rabbit Code(又称libsamplerate)。
Secure Rabbit Code是业内公认的高质量重采样器,对实时音频流处理有完备的支持,能够用较少的资源占用来生成优质的重采样音频。在它的基础上,笔者重写了Minaton的重采样逻辑,使其输出完整、准确、顺滑的重采样音频。最终,Minaton在高采样率下的音质有质的飞跃,高采样率的音频听感与44100Hz的默认音频听感一致,流畅顺滑,“重采样质量低”这一老大难问题得到彻底解决。
注意:Minaton仅支持超采样(输出采样率≥44100Hz),不支持下采样(输出采样率<44100Hz)。若设置低于44100Hz的输出采样率,则会导致声音断续。若需要下采样的Lo-Fi效果,你需要搭配专门的效果器。
引入出厂预设管理,实现用户体验飞跃
精心编配的出厂预置,可以为创作者提供现成的音色灵感,也可以帮助创作者合成自己的音色。原作者ThunderOx为Minaton编写了20余个出厂预置,声音风格各异,从乐音到特效都有涵盖,充分展现Minaton打造理想音色的潜力。
为了让Minaton-XT能读取原版的出厂预置,笔者采用了全新且跨平台的方式:用右键菜单来展示、加载出厂预置。只需在插件界面的任意位置右击鼠标,即可打开预置菜单。
选择预置后,Minaton-XT就会自动加载,给你的音乐制作增添20多种不一样的可能。如果感兴趣,不妨一一尝试,总有一款音色能为你的音乐添彩。
值得一提的是,为了便于发布和使用,所有的出厂预置都内置于插件中,无需在安装插件时单独复制。
当然,Minaton-XT的预置管理功能还存在改进的空间。诸如导入导出预置、从特定位置读取预置(与Serum、Surge等合成器类似)等功能仍有待适配,已计划在后续的版本中跟进。
更新音频缓冲区分配策略,实现稳定性飞跃
视DAW与音频驱动设置的不同,插件使用的音频缓冲区大小也有所不同。Minaton-XT的重采样机制也使用两组音频缓冲区,存放输入音频,大小与DAW的缓冲区保持一致。
起初,为了适应DAW提供的各种缓冲区大小,减小不必要的内存占用,本文作者采用动态内存分配的策略,如果采样率、缓冲区大小发生变化,则重新分配Minaton-XT的重采样输入缓冲区。
但是,诸如REAPER等DAW,是不会“提醒”插件缓冲区发生变化的。因此一旦指定了较大的缓冲区,则很有可能会因现有缓冲区不足,而导致崩溃。例如,Windows版REAPER,使用WASAPI输出,缓冲区大小设为2048,则Minaton-XT会在打开的一瞬间崩溃。除此之外,既有的缓冲区分配策略还容易因内存冲突,导致一些莫名其妙的故障,严重影响插件的稳定性。
考虑到一般主流的DAW和声卡采用的缓冲区,其大小不会超过2048(更大的缓冲区会导致极高延迟,并且浪费空间),因此从0.2.0版本开始,重采样输入缓冲区的大小固定为2048,使得插件所需的内存空间可以提前分配。这一大小,能适应几乎所有DAW与声卡的配置。采用固定分配缓冲区的策略后,上述问题统统迎刃而解,Minaton稳如磐石,无论在Linux还是Windows都有稳定的表现。
参数总览
最后,笔者总结一下Minaton合成器的技术参数:
- 声音引擎:模拟
- 声音源:提供3组DCO,支持5种波形,支持八度移调、微调移调与惯性效果
- 复音数:1(单音合成器)
- LFO:提供2个LFO,支持4种波形,可以映射到音高、滤波器
- 滤波器:提供一组简易滤波器
- 包络:提供2组ADSR包络,含放大器包络、滤波器包络,可以映射到音高
- 输出模式:立体声、单声道,可为DCO指派声道映射
- 输出采样率:44100Hz~192000Hz
【打印此页】【返回首页】 |