当前位置:首页  音频新闻  乐器资讯  乐器发布音频正文

使用Max 8制作吉他效果器 -(一)

发布时间:12-05 编辑:Cycling 74

我们最受欢迎的文章系列之一,是关于介绍Max 5吉他效果器的(Guitar Processor),这个系列讲解了如何通过创造和连接一系列Max组件(Components)来制作一个吉他效果处理器。自原文发布以来,Max已经经历了许多变化,从程序(Patch)的外观到程序的“基础操作逻辑”(Patching 'standards'),甚至到

使用Max 8制作吉他效果器 -(一)






使用Max 8制作吉他效果器, 第一部份




在早前的一篇文章中,Andrew Benson和Ben Bracken讲解了将吉他连接到基于Max的处理系统,并创建了一些基于吉他效果处理而设计的程序。在这一系列文章中,我将构建一个基于Max的吉他效果处理“系统”(Rig),并让大家有机会详细观看和研究我是如何设计和实现这个系统的。


可以访问原网页下载本教程中使用的补丁:Max8-GtrProc-1.maxpatmaxpat


系统设计


我做的第一件事是先设计我想要制作的吉他效果处理信号流。我想要制作一个较为典型的,有代表性的吉他效果处理链路,还要加上一个循环延迟效果(Looping Delay Line)。我决定采用以下功能图:

 640_wx_fmt=png&from=appmsg&wxfrom=5&wx_lazy=1&wx_co=1 (11).png


我还对一些普适性的程序功能做了一些取舍。由于这将是一个可独立运行的程序/补丁(Stand-alone),我将无需过度思考如何限制系统资源的使用;因此,我不会将子程序(subpatch)包装在poly~对象内(作用:当未使用poly~时,可以降低CPU负载)。此外,我决定充分利用演示模式(Presentation Mode),让我以一种方便的方式进行编码,并在之后再去考虑演奏时的适应性。


由于我是一个喜欢对程序进行调试的人,我希望以一种容易调试的方式构建代码 - 即使在现场演出时也是如此。这意味着我需要创建一个注释/标记清晰,随时可以方便上手的程序(easily-to-follow patch),并且需要以“方便即时调试和修改”为目的,进行程序封装。最后,为了快速构建这个系统,我将尽可能多的利用变成手段,而不是诉诸于使用VST插件(因为这会减少调整的可能性)。在这个系列的文章中,你将看到我重用旧代码,从其他应用中挪用已有代码,并在必要时使用第三方对象(Objects)。我还充分利用了一些我之前开发的,有利于快速编写更复杂的程序路由(patch routing)的设计模式。


信号输入(Input)和增益(Gain)处理


由于这是一个可独立运行的程序,我们需要可以控制信号输入和输出的功能。让我们从创建一个输入部分开始。如果你打开Max8-GtrProc-1.maxpat程序(原文地址可下载),你会看到我已经使用面板对象(Panel Objects)将程序分割成与我之前贴出的信号链处理图中所描述的功能相对应的区域。将程序调到演示模式,你会看到这些段跳到一个“机架样式”(Rack Style)的区域中,目的就是在演出时易于理解和调试。


640_wx_fmt=png&from=appmsg&wxfrom=5&wx_lazy=1&wx_co=1 (12).png

将Max切换回编程模式(Patching Mode),并观察程序的左上角,会发现这里标注了“Input”,且包含了一些连接到一个叫做“输入信号处理”(Input_Handler)的抽象(abstraction)编程对象中,双击这个对象,可以看到子程序内部的构造:


 640_wx_fmt=png&from=appmsg&wxfrom=5&wx_lazy=1&wx_co=1 (13).png

这个子程序非常简单:它包含一些adstatus对象,允许我的控件在运行时显示和更改音频设置。其功能类似于使用DSP状态(DSP status)窗口,但仅显示我认为对实时处理比较重要的内容。由于我并不经常使用adstatus对象,我并不熟悉其功能参数(functional arguments)。虽然我可以使用文档了解对象的信息,但我决定从帮助程序(help patch)中直接窃取这些功能!


通过查看帮助程序,我可以了解目标对象的功能。然而,所有帮助程序同时也都是功能性的Max程序。在这种情况下,我能够解锁adstatus.maxhelp程序,复制我需要的功能对象,然后粘贴到我的子程序中。通过连接一些输入和输出,我创建了所需的小而高效的输入信号处理程序。除了设置DSP参数之外,我还想能够控制增益。这在针对乐器(这里主要指吉他)设计的效果处理程序中尤为重要,因为不同的输入硬件提供的电平差异很大。在我的情况下,有时我会使用IK Multimedia Stomp I/O,有时会使用带有音频接口的混音器(mixer),有时则是直接连接到我Mac的音频输入接口 - 所以,我想要很好地控制我前置设备的增益。我通过在输入部分添加*~对象,然后将输入信号路由到此控件来实现这一点。通过使用比例控制,我能够将增益旋钮的正常范围(0-127)更改为从0.0(静音)到4.0(四倍音量,quadruple-volume)的范围。


压缩


程序的下一个阶段是创造一个压缩器。由于压缩对乐器的声音有很大的影响,我希望能够对其参数进行详细控制。因此,我使用数字框(而不是旋钮)来控制相关参数;这使我能够在不必猜测旋钮输出值的情况下精确控制压缩器的各项参数。


 640_wx_fmt=png&from=appmsg&wxfrom=5&wx_lazy=1&wx_co=1 (15).png

同样,这一部分主要是将各种控制参数与一组与名为“comp_handler”的抽象编程控件相连接。双击此子程序以查看其内容。这是一个非常简单的子程序;我只是没有更改地借用了Max文件夹的examples/effects/kompressor/lib中找到的komp子程序。我使用loadbang直接设置了一个参数(lookahead),但主要是直接将功能暴露给主程序。由于这个子程序太过简单,为什么我不直接在我的主程序中使用komp呢?


将来,我可能想要开发自己的压缩系统,或者我可能选择借用其他人的代码。我甚至可能不得不使用VST压缩器。在任何这些情况下,我都希望能够在不必干扰主程序的前提下,更改压缩器的“引擎”。通过将压缩器放在一个子程序中,我可以在不更改顶级程序或用户界面的情况下更改底层压缩引擎。这是一个“高度精细”的压缩器,为我提供了我希望在灵活的信号处理中拥有的所有控制。然而,如果你对压缩不太熟悉,可能会有点吓人。以下是我在使用此处理器时发现有用的一些设置:


 640_wx_fmt=png&from=appmsg&wxfrom=5&wx_lazy=1&wx_co=1 (14).png


注意:在程序的每个处理区域中,你会看到一个小的灰色面板 - 它似乎什么也不做。然而,当你切换到演示模式时,你应该看到这些面板扩展为成为每个单独功能处理部分的背景。这是利用演示模式的能力来更改对象的几何形状,以保持我在编程模式下视图整洁,但在演示模式下能给自己提供一个有吸引力的用户界面。


输出阶段


本教程的最后一个处理部分控制输出。这个部分对于任何Max/MSP程序员来说都很熟悉 - 它包含几乎任何音频程序中的音频输出的基础模块和知识。压缩器的输出被发送到两个推子(faders),提供左/右音量控制。然后,信号被路由到一个ezdac~,这也是我们的DSP开/关控制。如果你的吉他(或其他乐器)插入计算机,你可以检查输入模块上的设置,打开DSP,调高音量,然后就可以听到你的乐器信号被你所构建的程序处理并输出的结果。


 640_wx_fmt=png&from=appmsg&wxfrom=5&wx_lazy=1&wx_co=1 (16).png


然而,在实际使用中,我们并不总是方便连接真正的乐器进行测试。例如,我在机场等待的时候完成了一些程序。机场安保最不想看到的就是我拿出吉他开始演奏。我所做的是在程序中写入一个“测试装置”,可以在构建程序时用来测试。你会注意到这一部分(标有“测试装置”)给了我加载和播放文件、播放振荡器音调( oscillator tone)或生成噪声的机会。这是一个名为“demosound”的子程序,它是许多MSP帮助文件中的一个组成部分,取代了我过去使用的许多不同的测试系统之一。


对于这个程序,我从一个帮助文件中(确切来说,是从comb~帮助文件中)获取了demosound,并将其复制到了我的程序中。demosound的输出被路由到一个标有“test”的send~对象。这个音频信号被传递到音频输入(这是输入部分的额外内容),在相同的位置插入音频,使得我可以在没有插入乐器的情况下测试程序,帮助我在吉他不在身边时也能保持高效产出。


结论


我们已经为我们的程序创建了基本的I/O块。在下一篇文章中,我们将通过添加一个听感优秀的失真/过载系统和一个高度可控的滤波/均衡器来扩展它。与此同时,请下载和使用目前这个基本程序,学会理解不同对象之间的路由关系,并探索压缩的使用。在下一次的分享之前 - 玩得开心!

来源:HTTPS://CYCLING74.COM/TUTORIALS/MAX-8-GUITAR-PROCESSOR-PART-1


作者:DARWIN GROSSE


编译:RYAN YU/CHATGPT 3.5




声明:该文观点仅代表作者本人,音频应用信息发布平台,官网仅提供信息存储空间服务。
最新音频交流