如何制作自己的游戏音乐


原文地址:http://www.raywenderlich.com/71872/how-to-make-game-music-for-beginners
泰然翻译组:Leo。校对:glory。

当你开发了一款画面精美,玩法有趣,故事新颖的游戏时,似乎一切已经大功告成了。你还能要求些什么呢?

可尽管如此,如果一款游戏里没有音乐,总让人觉得缺了点什么。

雇佣专业的游戏音效师当然是最佳选择,可如果你预算不够,那也没关系。通过一些强大的ipad app,你也能够轻松地制作属于自己的游戏音乐。

就个人而言,我非常喜欢使用 Korg Gadget 这个款ipad app。它集成了多达15款的电子合成器和鼓机,并且使用起来简单,非常容易上手。

你唯一需要做的就是通过点击,拖拽来合成一首音乐。制作好音乐后,很容易就可以从Korg Dadget导出音频文件,并应用到你的app中。

在这篇教程中我会指导你用Korg Gadget使用多种乐器制作一首简单的音乐,导出音频文件,并最终添加到你的app中。

准备好去发现潜藏在你体内的音乐才能了吗?来吧!:]

前期工作

从app store中下载 Korg Gadget。 Korg Gadget并不便宜,在app store上的售价是38.99美元,但偶尔会有折扣价。

用ipad打开Korg Gadget,点击左上角的文件图标来创建一个新项目,如下所示:

点击 New, 输入 RW Game Track 作为新项目名字, 然后点击 OK。

接着就能看到一系列可供选择的音序器,在app中我们习惯称之为 Gadgets。选择 London 鼓机,如下所示:

app接着就会自动跳转至 混音 界面,用户在此界面合成音乐。界面上半部分默认显示音轨列表,如下所示:

我们点击 Track 1 进入编辑界面:

在屏幕的左上方你能看到 Draw 图标和 Select 图标。 选择不同图标以来回切换 "drawing" 模式和 "selecting" 模式。

点击屏幕底部八个蓝色 面板 中的任意一个,就能实时听到伦敦鼓机的声效。 每个面板蓝色显示屏中都标明着该面板的鼓声音色。你可以点击蓝色显示屏来试听相应面板的音色。

点击控制台左边的 Drum Kit 屏,从打开弹出列表菜单中,浏览所有可用的爵士鼓。我们滑到列表下面,并选择 042 Lockeroom。

想要给你的音乐添加音符很方便,你想要在哪个地方添加音符,只需相应点击该处就行。作为你的第一次尝试,可用照下图所示添加一些音符。

如果你点错把音符加到了其他地方,只需再点击一次该音符就可以移除它了。

接着点击工具条下方的 Play 图标,就可以听到编排的音乐效果了。随着进度条播放,相应的音符就播放出来了。

循环 图标默认是绿色的选中状态,如果不手动点击暂停图标音乐就会不断循环下去。取消循环,音乐就会在播放完后自动停止。

如果你想把所有音符从屏幕中清除掉,按住 Hold to erase 按钮,音符就会在播放完后立即从界面中移除。

我把我制作的版本上传上了SoundCloud,你可以拿你的跟我的进行下比较:

下面再试着保存当前的项目。先点击 Back 图标,回到混音界面,再点击 Document 图标,最后点击 Save 图标就可以保存项目了。

基本的爵士鼓音轨就弄好了,接着我们需要为我们的音轨添加一些低音,可以尝试下a la Blade Runner或者是Miami Vice。

添加简单的低音

做完前面的操作,你现在应该返回到混音界面了。点击屏幕虚线矩形内的+号按钮以创建一个新的gadget,如下所示:

从列表中选择 Chicago Gadget ,并点击 Chicago 图标进入编辑界面。

你可以留意到这个音序器的面板比之前的伦敦合成器少些(这个有7个,伦敦合成器则有8个)。同时,这个音序器的面板不再是用于调节不同乐器声音,而是用于控制音高。第一、第四、第七个这三个面板带有黑点,表示这三个面板的 八度音程 不同于其他几个面板。

注意: 在西方音乐中,一个八度通常包含八个音符,即人们常说的Do,Re,Mi,Fa,So,La,Ti ,Do。Chicago gadget就涵盖了这些音符。而第一,第三和第五音符,或者说Do,Mi和So。这几个音符比其他音符高了一个八度。

第一个键代表middle C音高,88键钢琴的中间键也是这个音高。这个音高对于游戏音乐的低音部分而言还是显得太高了。为了降低音高,可以把左边旋钮调小,直到音高降到 G1

这一回,我们不再只是通过单纯点击屏幕放置音符,而是 点击屏幕并拖动 至右侧来创建音符,如下所示:这个音符就会持续一整个bar的时间了:

点击 Sound Program 并选择 028 Downer Arp — 这可以改变音符的音色。通过这样预设,你就能得到一种近似于用Roland Arp合成器和自动琶音器所合成的音色:

注意:每次播放一根弦上的音符,这样的话,第一、第三、和第五个音符彼此就有间隔--这样就发出了一个 琶音。 下行琶音以音高最高的音符作为开始,随后的音符音高依次降低,上行琶音则反之。

你可以尽情实验:尝试不同类型的琶音: 上行上行/下行2度 and 1度 等等,看看音乐的变化。你也通过点击琶音控制器中的 On 按钮来关掉琶音音效。

当你尝试完后,记得把按钮调到 FullDown 的位置。

你可以听听我的版本来比较一下:

至此为此,你的游戏音乐已经有基本音轨了。但绝大部分音乐都还需要一个旋律。

如果你觉得这很复杂,那我告诉你:大部分流行歌曲的主旋律部分都只是由4到6个音符组成而已。 :]

为你的音乐添加旋律

点击 Back 按钮返回混音界面,并点击 + 按钮以增加第三个Gadget。选择 Wolfburg Gadget 并点击进入编辑界面。

通过图中红框中的左右箭头,选择名称为 020 Syn. Trumpet 的乐器。基本操作流程还是像之前合成伦敦鼓音效时相仿。

尝试做出跟下图一样的样式:

在使用伦敦合成器合成音效时,每一行代表一种乐器声音;而在这里中,每一行代表一个不同的音符。

我用了 A#3 音符来有节奏性地打拍子,发挥类似贝斯鼓的作用。我还添加了一些 C4D4 音符,有些踩在拍子上,有些则不然。在第四个拍子上稍微做了些强化效果,会同时播放 F4, A#3G3 三个音符。

这就是目前的成果。]

一首音乐马上就因此而变得丰满起来,但它仍旧需要一些其他元素来把这些音符更有机地整合在一起。为了达到这一点,你需要再加些低音来填满歌曲结尾。

再添加一些低音

点击 Back 按钮回到混音界面,并点击 + 按钮再添加一个Gadget。这次我们选择 Berlin 合成器,进入编辑界面并通过点选 +- 按钮来选择 005 Natural Lead 音色。

正如之前操作的那样,同样点击并拖动 音符来使 G1 音符一直持续,如下所示:

这就是歌曲现在的效果:

你现在完成了一首有4个bar的音乐了,现在应该让这首音乐彻底地充实起来了。

分解你的音乐

当制作一首音乐时,我通常将有着相同音乐节拍的 场景 放在一起。我一点点地建立起场景,并逐步简化它。因为我知道游戏音乐会不断地循环,所以我会尝试将音乐结尾的节奏做得跟音乐开头相仿,使得音乐重复循环起来显得尽可能自然平缓。

至此为止,你的音乐里已经有了一层场景了。为了充实你的音乐并加长音乐时长,你需要把已经制好的音轨复制一份,并把它插到原音轨的中间,直到音乐结尾。为了达到这种效果,你需要点击 Function 按钮来复制音轨,并去除歌曲中的多余元素。

进行到现在,你保存过你的项目吗?如果没还保存,返回混音界面,点击Document图标,并点击 Save 图标保存项目吧。

在调音界面点击处于左下角的 Function 按钮,会弹出一层菜单,并显示当前界面的可选命令,如果你的弹出菜单的命令看起来跟上面的截图不同,那你可能还处在编辑界面。

在顶部的功能栏,连续点击 Duplicate 按钮两次来创建场景备份,如下所示:

点击 Function 按钮则可退出这个功能。

你现在应该可以看到三个独立的场景了,它们分别被标以 1, 23 ,如下所示:

首先要做的,通过点击绿色状的循环图标以取消循环,可以看到循环图标会变灰。接着点击播放图标,播放音乐。

你现在的工作就是把剥除你音乐头尾部分的的一些元素,使得音乐听起来更加动态。

点击 Function 按钮弹出编辑菜单,在 场景1 中,我们点击 音轨4Clear 按钮,以清除低音,如下所示:

点击Sure以执行操作,再以同样方法清除场景2中的低音。

再次点击 Function 按钮,你将看到场景1,场景2的低音已经被移除*,只剩下场景3有低声了。

这时再点击 Play 按钮,就可以听听现在的音乐效果了。以下是此时我所制作的音乐效果:

这是你肯定可以听到音乐的效果了,但是声音变化得太快了,我们在之后会处理这一点。

点击 Function 再次进入编辑模式。 点击场景1音轨3 Clear 按钮清除旋律。

点击 Play 看看现在的效果。以下是我制作的版本:

这是你肯定可以听到音乐的效果了,但是声音变化得太快了,我们在之后会处理这一点。

在我们继续下一步前,我们最好再 保存 一次项目。

改变场景的节拍数

在一个场景中的任一种乐器都可以有它自己的节拍数。至今为止,你的音乐里的每一条音轨都只有一拍长度--通过添加拍子,你可以延长你的场景,并使得音乐时长更长。

点击场景1中的 音轨4 ,进入音轨编辑。当前场景的长度显示在屏幕的上方--1拍。

点击 Function 按钮,选择 4 个节拍片段来改变音轨的长度,像这样:

点击 Function 按钮退出。

点击 Back 按钮返回至调音界面;你能看到音轨4已经被分成了16个节拍。我们先点击 loop 按钮,再点击 Play 按钮,听听现在跟之前的变化。

重复上面的步骤,使得每个场景都是每节4拍。

当你回到混音界面时,你会发现现在低音只有此前的1/4长度了,如下所示:

你希望低音出现在所有4个拍子里,你可以使用复制功能来进行修正。

点击场景3的 音轨4 ,它默认打开节拍1。点击节拍的顶部来查看节拍2,节拍3,节拍4的内容。先点击Function再点击弹出菜单中的灰色Copy按钮,按住1 Bar来复制其中的音符,然后根据界面显示,选择复制音符的目的地,如下所示:

点击 2 Bar ,就可以将节拍1的内容复制到节拍2中。我们依法炮制,将节拍1的内容同样复制到节拍3,节拍4。

点击 Back 按钮返回到调音界面,点击 Play 按钮就能听到,所有4个节拍都有低音了,如下所示:

这时迄今为止我所制作出来的效果:

这首音乐现在更为缓和,感觉更好了。现在你需要混合一些元素,来使得音乐听起来不那么单调。

点击调音界面的 Function 按钮,并点击场景3中的 Duplicate 按钮两次,最后再点击 Function 按钮。

接着点击场景4的 音轨4 来编辑音序,把低音音高从 G1 拖 至 A#1 。通过如此调高低音的音高使得这部分音乐更为激昂一些。对节拍2同样依法炮制(或者直接将节拍1的内容复制到节拍2中)

点击 Function ,再点击 2 ,使得场景缩短至2个节拍。点击 Back 返回调音界面。同样将场景5缩短至两个音节。

这时的弹出菜单应该如同下面截图一样了:

点击 Play 再次听听现在音乐效果。点击绿色的循环图标以关掉场景循环。

以下是我制作出的音乐效果:

现在音轨已经制作得相同不错了。你现在可以分解音乐结尾部分,使得其循环播放起来自然平缓。

分解你的音乐

用之前所学的技巧将场景5复制两份。如果现在屏幕看起来感觉太拥挤了,你可以点击expand图标,将乐器调音器面板隐藏起来。

使用 Function 按钮来清除场景6,场景7中 音轨4 的低音。同样也要清除场景7中的旋律音轨。试试看你能否在不看下面指导的情况下完成整个操作。

提示:点击 Function 按钮以打开编辑菜单,再点击场景6,场景7中的音轨4的 Clear 按钮清除低音。再点击场景7的音轨3的 Clear 按钮清除旋律。

通过复制场景7来创建场景8。删除场景8中除去鼓机音轨的其他音轨。同时记得将场景6,场景7调整为4个音节。完成了这些后,你的成品看起来应该跟下图截图一样:

将你完成的杰作从头播放一遍,听起来你已经大功告成了!

现在你已经有了一首不错的音乐了,接着就等着把它导出成音频文件,并把它应用到你的app中了。

导出音频文件

要把你的音乐导出成音频文件,你需要点击 Document 图标并点击 Export 按钮。你可以把你的歌曲导出至 GadgetCloud 中。除此之外,你还可以用iTunes export,DropBox或者AudioCopy,将其导出成 音频文件 ,并把它应用到app中。

将其导出成音频文件至所选位置,现在你就有了一个可用的音频文件了,你可以进行一些简单的修剪编辑,在正式应用进你的游戏中。

用QuickTime Plaer修剪你的音乐

因为在文件导出过程中,音频结尾会加入几秒的空白时间,所以你很可能需要修剪编辑一下你的音频文件。 — 否则音乐循环起来就不那么自然了!

幸运的是,通过QuickTime Player我们可以很容易修剪音频文件。

QuickTime Player 打开文件,并在 View 菜单项中将其设置为 Loop 。接着选择从 Edit 菜单中选择 Trim 选项,并调整音乐的长度。当音乐循环时仔细听清楚,试着将你的音乐修剪得在循环播放时没有明显断点或明显变调。

调试到你觉得满意了,你就可以 导出 修剪后的音频文件。从 File 菜单中选择 Export ,选择 Audio Only 并将其保存为m4a文件。

如果你想看看我是怎么修剪我的文件的,你可以点击这里:RW Game Track

剩余的工作就是把音乐应用到你的app中了!

添加音乐到Sprite Kit App

注意:这一部分内容是可选的;Sprite Kit的粉丝可能会对这部分内容很感兴趣,对于其他人而言到上一章为止,本教程已经结束了!

下载完整的 SpriteKit Space Invaders app;如果你想要为你的app加一些背景音乐,你可以读读以下由Joel Shapiro所写的教程

用Xcode打开 GameScene.m ,在文件上方import如下的包:

@import AVFoundation;

接着定义一个私有实例变量,用于存储music player实例,如下所示:

@interface GameScene () {
    AVAudioPlayer *_backgroundMusicPlayer;
}

添加如下面所示的方法,用于播放背景音乐:

(void)playBackgroundMusic:(NSString *)filename{
    NSError *error;
    NSURL *backgroundMusicURL = [[NSBundle mainBundle] URLForResource:filename withExtension:nil];
    _backgroundMusicPlayer = [[AVAudioPlayer alloc]
        initWithContentsOfURL:backgroundMusicURL error:&error]; 
    _backgroundMusicPlayer.numberOfLoops = -1;
    [_backgroundMusicPlayer prepareToPlay];
    [_backgroundMusicPlayer play];
}

最后,在调用完 setupHud 方法后,在 GameScene.m 添加如下内容以嵌入音频(记得将双引号的内容改成你自己的音频文件名字):

[self playBackgroundMusic:@"RW Game Track.m4a"];
注意: 对于使用基于标准Sprite Kit模板开发的app,可以使用 initWithSize: 这个方法替代。 

编译并运营app;你就可以听到你的游戏有背景音乐了。真令人充满成就感啊,不是吗? :]

一旦游戏结束,随着Sprite Kit场景变换,音乐就停止了。

如何进一步改良?

这就完成后的项目文件 RW Game Track.gdproj。你可以用iTunes sharing把它添加进你的Korg Gadget app中。

想要进一步改良你的音乐,你可以对每个场景内的音符进行微调,强化音乐表现。你可以尝试在不同地方添加音符和低音。更建议你使用Amsterdam gadget来添加一些有趣的音效。最重要的是发挥创意,并尽情享受这个过程!

如果你有任何的建议、分享,请在下面留言讨论!

标签: sprite kit

?>