适用于 JET 互动式音乐引擎的内容创作应用
1 简介
1.1 概览
本文档包含用户指南 SONiVOX JET Creator,这是一款创作和 试奏的 JET 文件。JET 是一款适用于小型嵌入式设备 包括运行 Android 平台的设备。它允许应用 包含互动式音乐曲目,采用 MIDI 格式 格式,实时响应游戏事件和用户互动。
JET 可与 SONiVOX 结合使用
嵌入式音频合成器 (EAS),即 MIDI 设备、
。
JET 和 EAS 引擎通过
JetPlayer
类,
。因此,JET 内容创作者可以
请确保在 JET Creator 中的播放效果完全相同
以及 Android 移动设备上播放的最终 Android 应用。
除了图形用户 可以看到,JET Creator 有两项主要功能。通过 首先需要收集所有源数据(MIDI) 文件和 DLS 文件),添加 JET 的实时属性并构建 JET (.jet) 文件。第二个功能是 包括试听互动式播放元素 。
JET Creator 应用采用以下语言编写: Python 编程语言,因此您需要安装最新版本的 安装了 Python 和 WXWidget。Mac 和 Windows 版本都有提供。
1.2 缩写和常用术语
务必要使用一组通用的 以尽量减少混淆。由于 JET 使用 MIDI 但常规的行业术语有时并不足够。这里是 定义本页和 JET Creator 中使用的术语的定义 应用:
通道:与特定 MIDI 相关联的 MIDI 数据 。标准 MIDI 允许使用 16 个通道的 MIDI 数据,其中每个数据通常都与特定付款方式相关联。
控制器:MIDI 事件,其中包含 控制器编号和控制器值。MIDI 该规范将多个控制器编号 特定功能,例如音量、表情、延音踏板等。JET 还可 使用控制器事件在 为音频同步提供的 MIDI 序列。
DAW:数字音频工作站。MIDI 的通用术语 以及 Logic、SONAR、Cubase 等音频序列应用。
EAS:嵌入式 MIDI 合成器。通过 SONiVOX MIDI 合成器引擎的名称。
JET:Jet 互动式引擎。SONiVOX JET 交互机的名称 音乐引擎。
M/B/T:小节、节拍和嘀嗒
片段:副歌或诗歌所属的音乐部分 整体构图。在 JET 中,片段可以是整个 MIDI 文件,也可以是 来自 MIDI 文件的一部分。
SMF-0:标准 MIDI 文件类型 0,一种包含单个 但可能由多个 MIDI 通道组成 数据。
SMF-1:标准 MIDI 文件类型 1,即包含一个 而每个轨道又可以由一个或多个 MIDI 通道组成 数据。按照惯例,每个渠道都存储在 单独的音轨中。不过,可以有多个 MIDI 设备 单个轨道上的通道,或包含同一 MIDI 数据的多个轨道 。
轨道:DAW 中的单个轨道,其中包含带有时间的事件序列。请注意不要将“跟踪”与 频道。MIDI 文件可能包含许多轨道,这些轨道有多个使用 相同的 MIDI 通道。
2 JET 互动式音乐的概念
互动音乐可以定义为音乐 根据不可预测的事件(例如用户 互动事件或游戏事件如此一来,互动音乐就更胜一筹 非常有吸引力 更接近于永不变化的预组合组合在某些应用中 互动音乐是游戏内容的核心。《吉他英雄》是一首 如此流行的游戏当最终用户成功捕捉音符时 在指板降下时,音乐会自动进行自我调整 成功和失败的分数JET 支持这些类型的音乐 游戏
有多种方法可以 控制互动式音乐和 JET 便是这种方法之一。此部分 介绍了 JET 的功能以及如何在游戏或软件中使用这些功能 应用。还介绍了如何使用 JET 以 例如支持 Android 系统的手机。
2.1.1 数据压缩
JET 支持灵活的音乐格式 可用于以最少的数据创建扩展的音乐序列。 乐曲被分成多个片段,这些片段可以按顺序 创作出一首较长的作品可在播放音乐文件时确定顺序 也可以由程序控制动态创建。
2.1.2 线性音乐示例
图 1:线性乐曲
此图显示了音乐片段 存储的数据。每个片段都作为单独的 MIDI 数据进行创作 文件。后期处理工具会将这些文件合并为单个容器文件。 每个片段都可以包含可静音或取消静音的备用音乐曲目 以进一步激发兴趣例如,副歌中的铜管口音 此外,您还可以对每个片段进行上移 或向下拖动。
该图的底部显示了 音乐片段可以被重新组合成线性乐曲在本课中, 例如,桥接可能以半步调音结束,而剩余部分 就可以将每个片段的移调移半步以匹配结果。
2.1.3 非线性音乐示例
图 2:非线性乐曲
在此图中,我们看到了一个非线性音乐 部分。游戏场景为第一人称射击游戏 (FPS),JET 为 背景音乐。在关卡加载和过渡期间播放该片头 归属于搜索细分受众群此片段会无限重复 (使用静音/取消静音功能) 都会指示更改
当玩家靠近怪兽巢穴时, 开始同步过渡到“危险”部分,从而增加 声音的张力。随着玩家越来越靠近洞穴
当玩家与 怪物,程序开始同步过渡到“战斗”部分。 随着战斗的继续,此片段会无限重播。惊喜佳作 暂时将装饰性轨道取消静音,通知玩家 同样,另一个轨道也会暂时取消静音, 表示玩家受到特殊伤害。
战斗结束时,音乐会转场 并根据战斗结果确定胜利或战胜部分。
2.1.4 同步静音/取消静音
JET 还可将静音和 对音乐中的活动的曲目取消静音。例如,在 FPS 游戏中, 最好将与奖金相关的音乐活动 尽可能贴近实际游戏活动时的破坏程度不过,只需取消静音 那么当游戏事件发生时播放的曲目可能会生成音乐片段 从中间开始或者,您也可以从 开头,但这样就不会与其他音乐曲目同步。
但是,使用 JET 同步引擎时, 可在下一个适当时机启动并保持同步。这个 在装饰品上放置一些简短的音乐片段 。流中的 MIDI 事件表示 表示剪辑的开始,第二个事件表示剪辑的结束。当 应用调用 JET 片段函数,则允许轨道中的下一个片段 完全与音乐同步播放曲目可以是 被第二个 MIDI 事件自动静音。
图 3:同步的静音/取消静音
2.2 音频同步
JET 提供音频同步 API, 可让游戏内容与音频中的事件同步机制 依赖于嵌入到 MIDI 文件中的数据, 内容创作时间。当 JET 引擎检测到事件 播放时,它会生成对应用程序的回调。 可以调整回调,以补偿音频中的任何延迟 以便音频和视频能够同步下图 显示了一个简单音乐游戏示例,该游戏涉及按左键和 与音乐保持同步
图 4:音乐游戏
箭头表示音乐序列中的事件 需要同步游戏事件的位置在本示例中,蓝色箭头 表示玩家应按下左侧按钮的时间,以及 红色箭头表示右键黄色箭头指示游戏引擎 序列完成。允许播放器在特定时间范围内 按相应的键。
如果收到事件且播放器 已设置为等待时间的一半。如果 玩家在计时器结束前按下按钮,则游戏会注册 成功,否则游戏注册失败。
如果玩家在 事件,则系统会将计时器设置为时长的一半。如果某个活动 则游戏会记录为“成功”,否则, 游戏会记录为失败游戏内容还可能包括获得 接近实际事件的发生时间
3 JET 内容创作概览
创作 JET 文件并收听其播放内容 内容作者可在两个应用中工作,这些应用分别是 能够顺畅地协同工作首先是应用 现成的 MIDI 序列应用 支持 VST(适用于 PC)或 AU(适用于 Mac)插件。作者会在此编写代码 使用该插件作为其 MIDI 音乐文件 合成器设备第二款应用是 JET Creator 应用。在这里 作者将导入其 MIDI 音乐文件 (以及可选的 DLS2 声音集),并设置互动条件 在支持 JET 的游戏中播放。内容作者可以选择创建 使用支持 DLS 2 级格式。MJSoft 推出的 Awave 就是这样一款应用。
如需了解更多详情,请参阅 JET 内容创作指南文档 内容创作的详细信息。
4 安装并启动 JET Creator
JET Creator 是一种 Python 语言 因此,您必须在自己的服务器上安装 Python 和 wxPython 虚拟机。
JetCreator 采用以下版本进行创建和测试:
Python 版本 2.5.4
wxPython 版本 2.8.7.1
您可以通过以下网址进行下载:
PC:
- http://www.python.org/download/releases/2.5.4/
- http://www.wxpython.org/download.php
MAC:
- http://wiki.python.org/moin/MacPython/Leopard
- http://www.wxpython.org/download.php
安装 Python 和 wxPython 后 只需将 JET Creator 应用目录中的所有文件解压缩或复制到 您的硬盘上创建一个文件夹。
如需启动 JET Creator,请转到命令 提示符并将 Python 的安装目录设置为该目录。下次运行 Python 命令:
python jetcreator.py
5 使用 JET Creator
5.1 文件类型
有几种不同的文件类型 与 JET Creator 相关联。
.jtc JET 创建者项目文件。此文件包含与 JET Creator 项目的一部分。当您在 JET Creator 中“保存”或“另存为”时,此文件 类型已保存。
.jet JET 文件。无论您何时操作或退出, 保存您的 JET Creator 项目。此文件捆绑了所有 JET 资产 组合到 Android 应用将使用的单个文件中。给出这个 发送给 Android 应用开发者
.mid 文件。这是标准的 MIDI 设备 JET Creator 将用于制作片段的 JET Creator 代码
.seg 细分 文件。这是一个 JET 片段文件。它与 MIDI 设备具有相同的名称 但包含其他分段信息。
.zip 压缩文件 归档文件。当您导出 JET 归档时,系统会创建一个 ZIP 文件, 包含 JET Creator 所需的所有资产(文件)。使用此号码进行转移 将 JET Creator 项目分享给其他人。
5.2 打开对话框
时间 首次启动 JET Creator 时,系统会显示一个打开的对话框,例如 关注。
<img <=""边框="0"高度 =“285 英寸”p=""src="/static/images/jet/jc_open_dlg.png"width="450"/>
打开用于打开现有的 .jtc(JET Creator 文件)文件。使用浏览器 按钮浏览到保存 .jtc 文件的目录。
新建用于创建新的 .jtc 文件。
导入用于导入 JET 归档 (.zip) 文件。
取消用于取消对话框并退出应用。
5 主窗口
JET Creator 的主窗口 如下图所示。本单元的 从上到下:片段视图、事件视图和时间轴。
“细分视图”部分会显示 当前片段 (可选)派生每个片段的 DLS2 文件。它还显示了 每个片段的开始时间和停止时间都经过了量化、移位、重复 忽略标志设置。
“细分”视图正下方是事件 视图。“事件视图”部分显示与指定的 细分。仅当事件被分配到的细分受众群满足以下条件时,系统才会显示事件: 突出显示。每个事件都会显示其类型、起点和终点、轨道和 MIDI 频道分配及其事件 ID。
“事件”视图正下方是时间轴 。时间轴显示了指定片段的数量 与细分受众群相关联的事件此时时间轴会发生变化 当前所选或正在播放的片段您可以在此窗口中触发事件 而相应片段播放时,只需点击时间轴中的相应事件即可 。
捷运
创作者主窗口
主页面左侧的按钮 窗口执行以下操作:
添加: 显示用于添加新片段或事件的片段或事件窗口
修改: 显示用于更新现有片段或事件的片段或事件窗口
删除: 删除选定的片段或事件(需要确认)
移动: 显示移动窗口,您可在其中移动所选片段或事件 适时
将所有会话加入队列:队列 (选择)要播放的所有片段
将所有成员移出队列:移出队列 (取消选择)所有细分
播放: 开始播放加入队列的所有片段。此按钮会变为“停止”(如有) 片段正在播放
试奏: 显示“试听”窗口(见下文)
5.1 片段窗口
细分窗口是 如图所示,分配和试听片段的属性 。窗口左侧显示了 存储在 JET 文件中。窗口右侧允许作者设置 静音标记、重复和移调设置以及试听相应片段 在 JET 游戏中玩过的游戏。
注意:试听属性(静音标记、重复和移调)不会存储在 JET 内容文件中 (.jet) 匹配,而是由游戏或应用本身定义。在编程方面 因此这些设置直接与对 JET 的 API 调用相对应 引擎。在此处添加它们,JET 内容作者就可以模拟 细分将在游戏过程中响应应用 API 命令。
片段参数可用于执行以下操作:
- 细分名称 - 集 细分的名称
- MIDI 文件 - 从中生成 MIDI 文件的名称和位置 是由系统派生的点击右边的按钮会调出 用于在硬盘上查找 midi 文件的浏览器。
- DLS 文件 - MIDI 使用的 DLS2 文件的名称和位置(如果有) 文件用于该细分。
- 起始 M/B/T - 该片段的起始小节、节拍和滴答声
- 结束 M/B/T - 该片段的结束小节、节拍和滴答声
- 量化 - 量化值,用于在播放过程中量化当前片段
试听部分的字段如下所示:
- 跟踪静音次数 - 显示 MIDI 轨道(而非通道) 在 MIDI 文件中。点击曲目的 复选框可将该轨道静音
- 频道 - 显示分配给各视频的 MIDI 通道 曲目
- 姓名 - 显示每个轨道的轨道名称元事件(如果存在)
- 重复 - 指示片段在播放期间应重复播放的次数
- 转置 - 表示片段应以半色调或半音的转置 在播放过程中移调
- 在“试听”窗口的右侧还有几个其他按钮。 它们可用于执行以下操作:
- 确定 - 选择“确定”可确认所有细分设置并关闭细分窗口
- 取消 - 选择“取消”可取消所有更改并关闭片段窗口
- 复制 - 显示用于一次输入多个片段的“复制片段”窗口。 请参阅下文。
- 播放/停止片段 - 开始 或 使用分配的片段属性停止播放相应片段。
- 播放/停止 MIDI 文件 - 开始或停止播放 MIDI 文件 所分配到的具体细分受众群
- 暂停/恢复 - 暂停或继续播放。
5.2 事件窗口
事件窗口是指定片段的 即可分配和试听活动属性,如下图所示。接收者 向片段添加事件时,作者必须首先选择 然后选择“添加”按钮此操作会打开 窗口。
本次活动分为两个主要部分 窗口。事件窗口左侧的“片段”部分用于显示 。它会显示指定片段的片段属性。活动 部分是可分配事件的位置。以下 参数可用:
事件名称 - 为事件指定名称
事件类型 - 选择要分配的事件类型。
起始 M/B/T - 设置事件的起始小节、节拍和滴答声
结束 M/B/T - 设置事件的结束小节、节拍和节拍(如果适用)
跟踪 - 设置事件将应用于指定片段中的哪个曲目
频道 - 设置事件将应用哪个 MIDI 通道 目标。MIDI 通道应与 MIDI 通道匹配 曲目的频道
事件 ID - 设置事件的事件 ID。可以将多个事件分配给同一个 因此事件 ID 用于识别这些细分受众群
在“试听”窗口的右侧还有几个其他按钮。 它们可用于执行以下操作:
确定 - 选择“确定”可确认所有事件设置并关闭事件窗口
取消 - 选择“取消”可取消所有更改并关闭事件窗口
复制 - 显示用于同时输入多个事件的“复制事件”窗口。请参阅 。
播放/停止 - 使用分配的片段属性开始或停止播放片段。 片段播放时,可触发和试听事件。
触发器 - 触发指定的事件。这会复制 JET 游戏 将用于触发事件,从而为内容作者提供一个 试奏活动的行为
静音/取消静音 - 静音/取消静音操作会将事件分配到的曲目静音或取消静音。
暂停/恢复 - 暂停或继续播放。
要试听事件的行为 可以选择“播放”按钮这将启动播放。触发器按钮 将在按下后发送触发事件。这相当于选择 绿色触发事件。
注意:触发事件旨在 触发后的片段的单个曲目,然后在曲目结束时将该曲目静音 触发细分。因此,您应确保将静音标记设为 对接收触发器事件时将要取消静音的轨道静音。
请参阅第 6 部分“幕后探秘” ,详细了解触发器事件的工作原理和行为。
5.3 复制窗口
通常情况下,在创建 JET 文件时,您需要 创建数十乃至数百个活动您可能还需要移动事件。通过 “复制”和“移动”窗口允许此操作。有两个复制窗口 创建多个细分或事件这两个窗口如下所示:
“复制片段”窗口
“复制事件”窗口
两个“复制”窗口的功能相同。 创建初始片段或事件后,您可以选择 按钮。具体参数如下所示:
名称前缀 - 为所创建的每个片段或事件的名称设置前缀
起始 M/B/T - 设置第一个片段或事件的开始时间
递增 M/B/T - 设置创建片段或事件的间隔时间。
数字 - 设置您要创建的细分或事件数量。如果 会溢出 MIDI 文件的长度( 细分)或细分(对于事件),那么系统不会创建这些对象。
预览 - 通过预览功能,您可以先检查创建的对象,然后再点击“确定”插入 。
5.4 移动窗口
“移动”功能的作用类似于 具备可重复利用的功能, 让您可以在以下位置修改多个片段或事件: 在本示例中,请及时移动它们。和复制模式一样 一个“细分”和一个“事件”窗口窗户好像是 以下:
“移动事件”窗口
要使用“移动”,请先选择片段或 移动您想要移动的活动,然后点击“移动”按钮。参数为 如下所示:
起始 M/B/T - 设置第一个片段或事件的开始时间
递增 M/B/T - 设置对象的移动时间(以 M/B/T 为单位)。
预览 - 预览功能可让你先检查创建的对象,然后再点击“确定移动” 。
5.5 试听窗口
点击主应用页面上的“试听”按钮 窗口中打开“试听”窗口。这是 以便内容作者或应用程序员能够模拟 例如移动应用或游戏本身可能发生的事件。
JET“试听”窗口
本课程共分为四个主要部分 试奏窗口。最左边的部分显示了可用的细分 时长(以秒为单位)。中间部分是一个动态列表 片段会加入播放队列及播放状态。远方 右侧部分会显示当前播放片段的静音标记。通过 与主窗口中底部的时间轴部分相同。它会显示 当前播放的片段以及所有事件触发器的直观显示 与此细分受众群关联的广告资源
“试听”窗口可让您加入队列 按任意顺序播放任意片段。为此,您只需选择 点击“Queue”该片段会显示在队列窗口中 开始播放(如果是第一个片段)。随后,您可以选择任意 并提示它们进行播放作为细分受众群 播放完毕时,队列中的下一片段将开始播放。与 其他窗口中,您可以静音、取消静音、触发事件片段等。 在播放每个片段时实时显示。
具体来说,按钮的行为方式如下所示:
队列 - 将所选片段加载到队列中并开始播放
取消并加入队列 - 用于取消当前播放的片段,然后再将所选片段加入队列 播放
取消当前 - 用于取消队列中当前播放的片段并开始播放 下一路段
停止 - 停止播放加入队列的所有片段
全部静音 - 将当前片段中的所有音轨静音
全部不静音 - 将当前片段中的所有轨道取消静音
原始静音 - 设置当前片段的原始静音标记
这些播放选项的组合 可让作者或应用程序员试听 互动式音乐应用可能遇到的各种互动音乐应用的问题。
5.6 JET Creator 菜单
您可以通过 JET Creator 菜单访问 主窗口中的许多参数,以及一些其他参数。
5.6.1“文件”菜单
“文件”菜单包含以下内容 元素:
新 - 创建新的 JET Creator 文件 (.jtc)
打开 - 打开现有的 JET Creator 文件
保存 - 保存当前打开的 JET Creator 文件
另存为 - 将当前打开的 JET Creator 文件保存到新文件
导入项目 - 导入 JET Creator 归档 (.zip)
导出项目 - 导出 JET Creator 归档 (.zip)
退出 - 退出应用
5.6.2“编辑”菜单
“编辑”菜单包含以下内容 元素:
撤消 - “撤消”操作会撤消上次的修改
重做 - “重做”将重做上一次撤消的操作
剪切 - 将所选参数复制到剪贴板并删除所选内容
文案 - 将所选参数复制到剪贴板并保留所选内容
粘贴 - 粘贴所选参数
5.6.3 JET
“编辑”菜单包含以下内容 元素:
媒体资源 - 打开 JET Creator 优先事项窗口。您可在此窗口中设置 对于给定的 JET 文件,需满足以下条件:
版权信息 - 包含要插入到 JET 文件中的版权信息
追光控制器 - 追光控制器的选项(开启/关闭)。通常, 处于“开启”状态。
删除空轨道 - 删除所有空的 MIDI 轨道
5.6.4 片段
“片段”菜单包含以下内容 元素:
添加细分 - 打开“Segment”窗口
更新片段 - 更新片段属性
删除细分 - 将当前细分从 细分列表
5.6.5 帮助
“帮助”菜单至少包含 以下元素:
JET Creator 帮助 - 将启动 PDF 帮助文档或进入联机帮助
关于 - JET Creator 版本号、SONiVOX 信息
6 触发事件说明
中断 MIDI 单个(非线性)片段,并将这些片段排入队列, 基于游戏内事件在游戏中播放是 JET 音乐文件 可交互。触发事件是另一种实现互动式播放的方法。 这两种方法都能在互动式游戏或应用中一起使用。
可通过触发事件执行以下操作:
- 您可以根据游戏情况开启或关闭 MIDI 片段内的音轨 事件。例如,作曲家可以创作两个鼓轨道,一个快速 一个慢慢地出现如果游戏中的操作较快,那么快节奏的鼓轨道就可能 。如果游戏中的操作较慢,则可以播放慢节奏的鼓轨道。
- 用户操作可以与触发事件进行比较, 预先插入到音乐文件中与音乐正确的位置。基于 得分或其他游戏操作。
- 关卡或动作序列之间的音乐过渡 实现无缝衔接的音乐体验
在后台,JET 使用标准 MIDI CC 事件来完成这些操作并同步音频。控制器 属于未指定具体用途的那些。具体控制器定义 如下:
控制器 80-83 保留给 使用 应用
控制器 102 JET 事件标记
控制器 103 JET 片段标记
控制器 104-119 预留以供日后使用
6.1 JET 片段标记 (CC103)
控制器 103 预留,用于标记 MIDI 轨道中可以由 JET_TriggerClip API 调用。剪辑 ID 采用 控制器值。位 6 设为 1,表示片段开始,并 为零表示剪辑的结束。
例如,如需通过剪辑识别某个剪辑 ID 为 1,作者插入 MIDI 控制器 事件,其中控制器=103,值=65,则在剪辑开始时返回另一个事件 事件,在剪切。当 使用剪辑 ID 1 调用 JET_TriggerClip() 函数,那么曲目将会被 取消静音;当遇到控制器值 65 时, 出现控制器值 1 的情况。
图 5:同步片段
在上图中,如果 JET_TriggerClip() 函数在第一个控制器事件(即 Track)之前调用 当第一个控制器事件发生时,“3”会取消静音,第一个片段将 播放,并且当发生第二个控制器事件时,音轨将被静音。如果 JET_TriggerClip() 函数在第一个控制器事件发生后被调用 当第三个控制器事件发生时,音轨 3 将被取消静音, 系统将播放第二个片段,而在第四个片段播放时, 控制器事件。
注意:通常,应用会对包含该剪辑的轨道进行静音处理 当片段最初通过调用 JET_QueueSegment() 加入队列时。如果 不是静音的,剪辑将始终播放,直到调用 Jet_TriggerClip() 为止 包含剪辑 ID。
6.2 JET 事件标记 (CC102)
控制器 102 预留,用于标记 MIDI 流中的特定事件 到这里就结束了目前,唯一定义的值是 0, 以便确定时间
通常,JET 会开始播放下一个 片段(或重复当前片段)时, 出现曲目结束元事件。存在一些 MIDI 设备 制作工具会导致难以准确放置轨道结束标记, 会导致同步问题。
为避免这一问题,作者可以将 一个 JET 片段结束标记(controller=102,value=0) 要循环播放的片段遇到片段结束标记时, 如果当前片段循环播放,则会触发下一个片段;如果当前片段是循环播放, 则会在片段开始时恢复播放
片段结束标记还可 标记下一个线段的起点。例如,内容作者可能 创建一个包含 4 个节拍的片段,其中鼓面填充到第 5 个节拍的第 1 个节拍 条形,也就是片段自然末端以外的一个条形将片段的结束位置 则下一个片段将是 已触发,但鼓声填充将继续与下一片段并行 保持音乐连贯性
图 6:片段结束标记
6.3 应用控制器 (CC80-83)
在此情况下,应用可以使用控制器 有自己的用途当遇到此范围内的控制器时, 事件输入到事件队列中,应用程序可以查询该队列。 一些可能的用途包括将视频事件与音频同步,以及将 以便将下一个片段加入队列 细分。可以修改应用所监控的控制器范围 在初始化期间由应用控制
7 JET Creator 准则
7.1 任务顺序
与所有项目一样,在开始创作乐曲之前,最好与游戏设计师和程序员讨论并设计互动式音乐方案。了解概要和/或规范有助于避免您在游戏开发完成后必须重做某些部分。
一般来说,您首先需要按照自己习惯的方式在所选择的 DAW 中创作音乐,然后根据应用的需求拆分最终的 MIDI 文件。接下来,开始使用 JET Creator,并按照在按顺序播放时最方便预览的顺序制作所有音乐片段。最后,添加 JET 事件以通过 Android 游戏控制片段,并根据需要在 JET Creator 中进行试听。最后,将项目保存到 JET Creator 中,然后将 .jet 文件交给程序员,以便将其集成到游戏中。预览后,MIDI 文件和 JET Creator 属性可能会发生变化。
7.2 节省内存
如果您要节省内存,请尽量少写 MIDI 文件,然后使用此 MIDI 文件创作多个片段。例如,可通过一个包含 12 个节拍的 MIDI 文件创作一首更长的歌曲,此文件中包含三个部分(即 A、B、C),每个部分都是 4 个节拍。只需创作多个引用一个 MIDI 文件的片段,然后根据需要对其进行排序即可。例如,A、A、B、A、C、A、B、A、A 这种顺序可以创作一首包含 36 个节拍的歌曲。通过使用 JET,您可以添加重播、为片段移调,以及以互动方式将轨道静音和取消静音,以使歌曲更加有趣。
7.3 复制
要更快地添加片段或事件,请使用复“复制”命令。通过使用“复制”命令,可一次添加多个片段或事件,并使用偏移参数和前缀命名惯例来确保内容简洁易读。“移动”命令还可用于按一定数量的小节、节拍或嘀嗒移动多个事件。
7.4 互动式选项
JET 中具有几个互动式音频概念。以下是一些示例,但我们希望开发者提出我们未曾想到的其他概念!这些概念包括:
7.4.1 多片段触发
通过使用此方法,应用会根据游戏中的事件触发特定片段。例如,发生很多打斗的走廊可能会触发片段 1,而没有发生打斗的走廊可能会触发片段 2。将 JET TriggerClip 与此方法结合使用可确保乐曲更多样。
7.4.2 将数组静音
通过使用此方法,应用会触发单个 MIDI 序列中特定轨道对应的静音和取消静音事件。例如,发生很多打斗的走廊可能会播放 MIDI 轨道 1-16,而没有发生打斗的走廊可能会播放相同的 Midi 文件,但会将轨道 9-16 静音。将 JET TriggerClip 与此方法结合使用可确保乐曲更多样。
7.4.3 音乐类游戏
音乐类游戏与《吉他游戏》和 JETBOY 类似,因为音乐内容决定了图形事件的显示方式。然后,应用会查询用户对图形事件的响应,并以互动方式修改音乐作为响应。通过使用这种方法,游戏使用的是 JET 应用事件,即嵌入到 MIDI 文件中并由游戏实时读取的 MIDI 控制器。根据用户响应,可设置多片段触发和/或静音数组。