【干货】拒绝伸手党!手把手教你编写 Decent Sampler XML,自制专属采样音源
最近发现不少搞电音和配乐的小伙伴开始从 Kontakt 转投 Decent Sampler 的怀抱了。原因很简单:它完全免费、跨平台(甚至能在 iPad 上跑),而且最核心的是,它的格式是基于 XML 的,这意味着你不需要昂贵的开发工具,用记事本就能撸出一个音色库。
很多哥们儿录了一堆 WAV 采样却不知道怎么封装,今天楼主就花点时间,把 Decent Sampler 的映射逻辑给哥几个拆解清楚。
一、 准备工作
在动笔写代码之前,你的文件夹结构建议长这样:
MyInstrument/(根目录)Samples/(放所有的 .wav 文件)MyInstrument.dspreset(这就是我们要写的 XML 文件,后缀改掉即可)
二、 XML 核心骨架
一个最基本的 .dspreset 文件结构如下,大家可以先看框架:
<?xml version="1.0" encoding="UTF-8"?>
<DecentSampler minVersion="1.0.0">
<!-- 界面设置 -->
<ui width="812" height="375" layoutMode="fixed">
<tab name="main">
<!-- 这里以后可以放旋钮 -->
</tab>
</ui>
<!-- 采样映射 -->
<groups>
<group>
<sample loKey="36" hiKey="48" rootNote="42" path="Samples/Kick_01.wav" />
<sample loKey="49" hiKey="60" rootNote="54" path="Samples/Snare_01.wav" />
</group>
</groups>
</DecentSampler>
三、 必须掌握的核心参数
要把 WAV 变成音色,<sample> 标签里的这几个属性是你的“命根子”:
- path: 采样文件的路径。记住,是相对于
.dspreset文件的路径。 - rootNote: 这个采样的“原音”所在的 MIDI 键位。比如你录了一个 C3 的钢琴,那这里就写
60。 - loKey / hiKey: 采样覆盖的响应区间。比如你想让一个采样负责 C3 到 B3 这一组键位,那就设置
loKey="60" hiKey="71"。Decent Sampler 会根据rootNote自动帮你做重采样变调。 - loVel / hiVel: 力度分层。如果你录了轻重不同的采样,可以通过这个参数实现“重敲音色亮,轻敲音色柔”。例如:
loVel="0" hiVel="64"对应轻敲采样。
四、 进阶:如何添加界面控制(UI)
光有声音不行,还得能调。比如你想加个 ADSR 释放时间 或者 低通滤波 的旋钮。在 <ui> 标签里加入以下内容:
<control x="100" y="50" parameterName="Release" type="float" minValue="0.0" maxValue="10.0" value="0.1">
<binding type="amp" level="group" position="0" parameter="ENV_RELEASE" />
</control>
这里的 binding 是灵魂,它把界面上的旋钮和引擎内部的参数(如 ENV_RELEASE)连在了一起。
五、 避坑指南(楼主血泪史)
- 大小写敏感:XML 对标签极其挑剔。
<Sample>和<sample>是不一样的,写错一个字母音色库就挂掉。 - 采样格式:建议统一使用 44.1kHz 或 48kHz 的 24bit WAV。别搞那些乱七八糟的压缩格式,容易报错。
- 路径符号:在 Windows 上虽然路径喜欢用斜杠
\,但在 XML 里为了兼容 Mac 和 iOS,请一律使用正斜杠/。 - 文件后缀:记得保存时把
.txt改成.dspreset。
六、 总结
Decent Sampler 的强大之处在于它把复杂的采样逻辑回归到了代码本质。如果你有一堆珍藏的合成器采样或者是自己录的环境音,花半小时写个 XML 映射,它就能变成一个在任何 DAW 里都能用的插件。
有不懂的哥们在评论区留言,看到会回。觉得有用记得顶一下!