网远网个
发表于 2018-10-31 16:55:36
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?快速注册
x
Max/MSP 入门:用 Max/MSP 制作一段简单的旋律
6 Z7 H+ q2 @2 b# j
* k8 f F. e" C9 `6 F/ w X$ r+ [% i不需使用任何音源或是其它硬设备,在计算机上使用 Max/MSP 即可快速的制造出声音。在串接 Max/MSP 对象的同时,也能稍微了解合成器合成声音的方式,在文章中将会简单介绍 Max/MSP 本身、合成器如何合成声音与在 Max/MSP 上制作出声音与一段简单的随机旋律的步骤与解说。 : J! g: m8 e4 J) n
- j+ S# p5 F1 W* T. _' a从合成器如何运作开始说起,一般现在常见的合成器都使用减法合成;由振荡器(Oscillator)产生波形,传至滤波器(Filter)去掉不需要的部分,传送至扩大器(Amplifie),透过波封(Envelope)编辑 ADSR;低频震荡器(LFO)则能够用低频波形作为调变源,可以控制振荡器、滤波器、扩大器。
, i8 E5 ]4 v+ T: {8 f" Z$ N, V+ o
$ y" K8 X, C9 ~6 z, X# d! q7 b那么,Max/MSP 是什么呢?包含所有功能的名称为 Max/MSP/Jitter;Max 为在 1980 左右开发的程序语言,(而同一个作者也开发了 Pure Data 开源软件),随者时间 Max 陆陆续续增加了许多模块, MSP(Max Signal Processing)为其中一个模块,它提供了 Real time 的数字音频处理;Jitter 则提供图像处理,包含 2D/3D 图形及矩阵处理。 MAX/MSP/Jitter 因为处理声音、复合媒体的能力非常突出,深受许多艺术家、软件设计师、作曲家或是研究人员欢迎,用以作为表演、录音或是装置等用途。4 ^: c3 v+ g3 j. a- f( ?5 r0 C
# [( w; f, _. ?
如何取得 Max/MSP 呢?可以在官方网站上直接下载,免费试用期为 30 天,过了试用期后将无法储存 Patch ,但其他功能仍可以使用,一样是个强而有力的工具。' s8 O. `. E0 O0 G9 y5 h4 {& i
( q, @; y; Q9 V" B8 F2 @; {/ y- ]在 Max/MSP 上编写声音的流程其实就如同我们使用合成器的原理制作声音,而在这次作为必备组件的是振荡器(Oscillator)、含有 Envelope 的放大器(Amplifier)以及一个简易的小键盘控制器。
4 W% J9 K1 J$ Y7 t
# L Z4 C/ ^& T, }. [接下来就进入正题!
8 D, S, Z% W% L, Y4 t ' v; G1 w$ z# e( ~7 {
首先,我们先了解一下 Max/MSP 的工作区域,在刚开始的阶段,我们可以先熟习上方的对象区块。
6 k0 i2 L5 m8 ], w- S7 r; N
' r2 {% N. }$ I. J! S+ X: a如下图所示,从左到右分别为:Object, Message, Comment, Toggle, Buttons, Numbers, Sliders, Max forLive Object, Add Object, Format。每个组件分别代表不同的操作功能跟项目,我们本篇会使用到的组件有:Object, Toggle, Buttons, Numbers, Sliders。
) Z; A! O/ ?+ K8 q; @3 y5 l. E% j( w$ j' s( X' P& f$ T3 q
我们先示范使用 Max/MSP 的 MIDI 转换为声音讯号,轻松地制作出自己的音乐小键盘。
" \1 i3 H7 y$ {, A! Y8 E 9 m8 Q' s/ T$ t: h9 p, A
■音高! ]3 D3 B6 `( B# \* v
* K' N- j9 O! `3 d7 x; u+ S点选 Object 后,输入 kslider,即会产生图标上像钢琴的对象,再加上 mtof (MIDI to Frequency )对象将 MIDI note 转换成频率,最后连上ezdac~ 放大器之前,先加上一个 gain~,便方便随时调整音量。(见图一)5 J) a( I& t. I1 ~
: M0 j5 x$ j1 g9 b/ M% ]4 _- [5 `图一
1 D2 K6 P9 y# G H , ^8 q: R' q9 i
■声音动态8 b' L; _* v" l* l* C
N$ _4 x2 `1 u: w `4 W
除了刚刚第一步控制音高外,会发现声音是持续连续而不会中断的。那是因为我们便没有加入 Envelope 来控制声音的结束和声音动态,因此声音会持续性的连续输出。如何加入声音动态?使用 function 对象可以制造一个简易的 ADSR 编辑工具(图二),我们从 kslider 对象的左方链接到 function,就可以触发 Envelope。到这边为止,我们就具备了控制基本的 MIDI、Oscillator 和 Envelope 元素。接下来,用上述所做的声音来编写随机的旋律吧!
: ]" x. c/ y* T4 V" t7 h: h详细的步骤分解(图二):
6 `& w; \6 L& P' M$ T! }) K
; u/ p* d# c, ^3 A! V6 \5 e 图二
% \8 Q1 s: a3 b" ~■随机数:加入一个随机数器,来随机决定音高与顺序
" T' M8 q& K& d! k5 O# t 8 @) z( u5 M6 Q
使用 metro 对象,metro 对象就像是一个节拍器,可以规律的输出讯息来触发 random 选择的次数,我们将 random 限制在 MIDI note 的最大值范围内(0 - 127)。
9 e+ j, i9 g2 ?( b8 y" f9 z" N . |1 S; d/ D! |6 P! f) y
7 f$ _* S( L t! g) ^7 B1 N; W
图三
~4 ?1 |0 K6 D接下来连接至 metro 对象左上方的 number 可以藉由调整数值大小来调整速度,下方的 button 及 random 下的 number 能够让我们方便观看输出速度、随机数输出的数字。最后,我们将 random 输出的结果连接至 kslider,就能让它自己随机演奏啰!(见图四)
. h2 B) q3 }, x4 J! Z# h! J
+ U7 ~. @4 b. q& B3 h, w 图四
" w: h' |7 Y. t. p" i- q若觉得有趣的话,不仿有空下载 Max/MSP 来自己操作看看
+ g, L: N2 G; j+ z/ e9 @# N$ c8 {* K+ @3 ~2 U7 b1 o/ @5 T
|
|
|
|
|