新闻与评测:LAC2007 及 Rosegarden 1.5

作者:Dave Phillips

新闻:年度 Linux 音频会议正在 柏林工业大学 举行。 遗憾的是,我无法亲临现场,但我仍然可以通过 IRC、音频和视频直播欣赏会议内容。 请查看会议 Wiki 的 LAC2007 直播 页面以获取访问详情。 有关会议的更多信息,请参阅 LAC2007 一般信息 页面。 [截至 3 月 24 日,有一个 备用站点。] 这是 Linux 音频社区本季度的盛事,所以请随时访问,无论您是否身在柏林。

评测:64Studio 的开发者最近宣布发布了我最喜欢的音频优化 Linux 发行版 1.2 版本。 除了许多新增功能和改进之外,此更新还为 64 位桌面工作室带来了 Rosegarden 1.5。 自从我详细考虑过这个程序(我在我的 《Linux 音乐与声音之书》 中介绍了一个更早的版本)已经有一段时间了,所以我认为现在是时候花一些时间来体验最新的 Rosegarden 了。

Rosegarden 1.5

Rosegarden 的基本用法在纸质和网络资料中都有详细介绍(请参阅 维基百科中 Rosegarden 的条目,其中简明介绍了该程序及其历史)。 以下评测介绍了一系列针对以下功能的测试结果:

  • 音频/MIDI 综合音序
  • 通用 MIDI 配置
  • 插件支持
  • 同步
  • 乐谱

我将详细描述每个测试,但这些项目都假定您熟悉 Rosegarden 的基础知识及其术语(即片段、工作室、矩阵等)。 在适用情况下,会提供声音文件和乐谱的链接。

简短介绍

Rosegarden 将面向轨道的音频/MIDI 音序器与标准乐谱编辑器相结合,为 Linux 音乐制作者提供功能丰富的“一体化”解决方案。 该程序支持现代 Linux 音乐工作室的各种组件,例如 JACK 音频服务器、LADSPADSSI 处理和合成插件,以及 ALSA MIDI 系统的先进功能,例如多路复用 I/O 和通过 MIDI 时钟、MIDI Machine Control (MMC) 和 MIDI Time Code (MTC) 与外部程序和设备同步。 Rosegarden 也可以充当 JACK 传输控制主设备或从设备。

Rosegarden 被基于乐谱的作曲家用作主要的作曲界面,并用作生成用于各种输出目标的乐谱的 GUI 前端。 乐谱可以保存为 PostScript 或 PDF 文件并直接从 Rosegarden 打印,或者可以导出为 LilyPondMupMusicXML 格式,以便进一步编辑和渲染。 MIDI 数据也可以导出为标准 MIDI 文件或 Csound 有序乐谱格式。

音频/MIDI 音序

图 1:Rosegarden 1.5 中按时间缩放的音频和 MIDI 轨道(点击图片查看大图)

许多流行的音序器都包含一个功能,可以拉伸或收缩音频或 MIDI 片段的长度,而不会改变其音高。 此功能是节拍匹配工具的基础,这些工具已成为现代计算机音乐创作和音频编辑的中流砥柱。 CubaseAbleton Live 等程序巧妙地利用时间压缩/扩展和音高偏移,允许用户精确地匹配声音片段的持续时间和音调。 时间拉伸也很难很好地实现。 超过一定长度的扩展或收缩会产生不良的音频失真,并且幕后需要进行大量的复杂数学运算才能产生音乐上可接受的结果。 极端的拉伸可用于有趣的效果,但更典型的音乐用途是保守地使用时间拉伸和音高偏移。

我的第一个测试始于打开一个新的 Rosegarden 项目,我将其命名并保存为“kung-funk”。 我将轨道 1 定义为音频轨道(音频 #1),然后我使用音频文件管理器将一个简单的鼓循环加载到轨道中。 该循环以 120 bpm 的速度播放,所以我将 Rosegarden 的速度设置为 120 bpm。 我将轨道 2 分配给通用 MIDI 设备(这里的 QSynth),并添加了一个用于 GM Slap Bass 1 的声部。 我又定义了两个轨道作为音频轨道,将两个节奏吉他声部(一个扫弦,一个即兴演奏)录制到其中,并使用了我选择的外部声音文件编辑器(这些测试使用了 ReZound)来编辑我的录音(如果需要)。

图 2:“拉伸/压缩片段”对话框

我又打开了一个音频轨道用于另一个循环,这个循环是我使用 PSIndustrializer 物理建模合成器创建的声音制作的。 循环速度和持续时间与鼓循环不匹配(几乎是后者的两倍长),但在 Rosegarden 新的“片段拉伸/压缩”(图 2)工具的帮助下,我精确地匹配了循环长度。“拉伸/压缩”可以按秒/毫秒、小节/节拍、单位和音符值(全音符、二分音符等)重新缩放片段。 匹配后的音质非常好到极好,具体取决于原始声音文件的长度和质量。 请记住,即使使用完美的文件,过度重新缩放也可能会产生无法成功过滤或以其他方式最小化的声音失真。

顺便说一句,填充轨道很容易。 可以将轨道管理器设置为重复一个片段以覆盖整个作品的长度,或者您可以简单地复制粘贴片段。 您还可以指示 Rosegarden 将您重复的片段转换为可以根据需要删除或进一步编辑的真实副本。

图 1 展示了完成的项目。 您可以在我的 kung-funk OGG 文件中听到可听见的结果。

我对“拉伸/压缩”工具印象深刻,并且打算用它做更多的工作。 我希望看到一个“片段匹配”选项,可以自动匹配选定的片段,并且添加一个可选的集成音高偏移器会很酷,但该功能目前已经很有效了。

到目前为止,我对 Rosegarden 的其他抱怨与外部编辑后更新波形显示(近期不太可能改变)以及轨道的固定垂直尺寸(可能会在未来的版本中实现)有关。 个别轨道的可调整大小性(类似于 Ardour2)肯定会方便 MIDI 事件与波形的视觉放置和同步。

更多 MIDI

图 3:MIDI 矩阵编辑器

Rosegarden 最初是作为一个仅限 MIDI 的音序器而存在的,该程序仍然可以这样使用。 正如预期的那样,它在过去十四年中获得了一些改进。 Rosegarden 的 MIDI 编辑功能包括用于在轨道级别(轨道视图)、小节级别(矩阵视图)和事件级别(矩阵和事件列表视图)自由剪切、复制和粘贴数据的标准工具。 有些工具是特定级别独有的,例如矩阵编辑器“调整”菜单中的转换实用程序。 这些转换包括 MIDI 数据反转、逆行排序和逆行反转的例程,这些例程对于对位学生来说非常方便。

多年前,我将 Stefan Wolpe 的《钢琴形式》从乐谱转录为标准 MIDI 文件。 这是一首非常精彩的作品,具有精巧的节奏和对位、广泛的音高和动态效果以及许多节拍和速度变化。 它也是 MIDI 音序器定时分辨率的绝佳测试,所以我将 MIDI 文件加载到 Rosegarden 中,将其单轨道连接到 QSynth 的一个实例(使用 GM 音色库),然后单击传输“播放”按钮。 播放完美,没有丢音,也没有定时错误。 图 3 显示了 MIDI 矩阵编辑器(又名钢琴卷帘显示)中的几个小节,form.ogg 是 Rosegarden 演奏的声音文件。

图 4:管弦乐 MIDI 轨道

我的第二个 MIDI 播放测试播放了一段中等规模的管弦乐什锦,包括歌舞剧曲和电影主题曲。 虽然在音乐上不如《形式》那样精雕细琢,但什锦曲很长(200 小节,大约 7 分 30 秒的播放时间),具有相对丰富的纹理(二十种乐器)和许多速度和动态变化。 同样,Rosegarden 表现完美,没有掉线或其他不连续性。 图 4 展示了这段乐曲的轨道视图。

图 4 还显示了 MIDI 设备管理器面板。 Rosegarden 将 MIDI 输出设备类型定义为通用 MIDI、外部、输出系统和软合成器。 MIDI 输入设备仅被识别为硬件输入(无论是否实际是硬件)和输入系统。 系统 I/O 设备通常是外部软合成器,例如 QSynth,而“软合成器”类型是指 Rosegarden 的内部软件合成器。 设备可以自由重新连接:例如,Rosegarden 的 GM 设备默认连接到我的 PCI128 声卡上的硬件接口,但我更喜欢将其重新连接到 QSynth。 更改之后,连接到 GM 设备的任何轨道都会将其 MIDI 数据发送到 QSynth。

插件效果和软合成器

图 5:外部和插件软合成器

所有现代音频/MIDI 音序器都支持合成和处理插件。 像大多数 Linux 音频软件一样,Rosegarden 支持 LADSPA 音频处理器插件,但它也支持 DSSI 软合成器和 VST/VSTi 插件(需要特别考虑;见下文)。 遗憾的是,64Studio 的基本 Rosegarden 包只包含一个 DSSI 合成器,但它是 Sean Bolton 出色的 WhySynth。 为了获得更多声音变化,我还安装了 Sean 的 Hexter,一个简洁的 DX7 模拟器。

我的下一个测试项目从一个 MIDI 轨道片段开始,该片段包含一个音符,在 4/4 拍、速度为 110 bpm 的情况下跨越两个小节。 我将轨道连接到 WhySynth 实例中的 Lush Bells 乐器(在“轨道参数”面板中选择),并插入 Fractionally Addressed Delay LADSPA 插件以添加一个非同步的回声效果。 接下来,我将轨道 2 配置为音频轨道,并导入了一个循环,该循环是我使用 PSIndustrializer 合成器制作的声音创建的。 我拉伸循环以匹配轨道 1 的长度,然后我添加了另外两个 MIDI 轨道,分配给另外两个 WhySynth 中的乐器。

Yamaha DX 合成器具有良好的钟声类声音,所以我又添加了两个轨道,其中包含为 Hexter 插件中的钟声和编钟声音编写的声部。 QSynth 的 Fantasia 柔音器垫,转调低八度,完善了此测试的声音调色板。 图 5 显示了最终的轨道布局,以及 WhySynth 音色编辑器和全显示传输控制面板。 结果在 cloches.ogg 中以音频形式展示

我喜欢 Sean Bolton 的合成器,它们易于使用,并且有一些好听的声音。 它们也让我希望有更多支持 DSSI 的插件软合成器可以使用。 我可以安装 WINE 并使用 dssi-vst 桥接来在 Rosegarden 中运行一些原生的 Windows VST/VSTi 插件。 嗯,如果我运行的是 32 位系统,我可以这样做,但我无法在 64 位机器上测试此功能。 设置 dssi-vst 桥接是一个稍微复杂的过程(它不是 Rosegarden 的标准组件),但一些用户报告说在 Rosegarden 中运行 VST 插件非常成功(请参阅 Linux VST 兼容性页面,其中列出了已通过 VST Linux 支持系统测试的插件)。

LADSPA 插件支持是完美无缺的,我在这些测试中使用了许多我最喜欢的处理器(CAPS Plate Reverb、SC4 压缩器、AM Pitch Shifter、Simple Amp 等)。 我在 kung-funk 中确实遇到了可怕的 非正规数问题。 这段乐曲完美地播放了几分钟,然后 Rosegarden 报告说 CPU 使用率已超过程序实时执行的能力。 这似乎很奇怪,因为 CPU 是 AMD64 3200+。 在 Linux 音频开发者 邮件列表中的朋友的帮助下,我将问题缩小到一个插件(CAPS AmpIV),当我用另一个 LADSPA 放大器插件替换它时,问题就消失了。 CAPS 的架构师 Tim Goetze 非常了解非正规数问题,并将很快提供 AmpIV 的修复版本。 我希望如此,我真的很喜欢从那个插件得到的声音。

同步

Rosegarden 通过 JACK 传输控制、MIDI 时钟消息、MIDI Machine Control (MMC) 和 MIDI Time Code (MTC) 与其他程序和设备同步。 我没有支持 MMC 的设备,所以我无法测试 Rosegarden 在 MMC 方面的性能。

对于我的第一个测试,我重新加载了我的《钢琴形式》项目,在“设置/配置 Rosegarden”菜单中打开“同步”对话框,并将 Rosegarden 设置为充当 MTC 主设备。 我还选择将同步输出发送到系统中的所有设备,我认为这种散弹枪方法肯定有效。 我使用 QSynth 作为我的通用 MIDI 设备,托管 8mbgmsfx.sf2 通用 MIDI 音色库。

在接收端,我在我的笔记本电脑上打开了一个音序器,将相同的文件加载到其中,并将音序器设置为同步到 MTC。 ALSA virmidi 模块将笔记本电脑的音序器与连接到 Yamaha MJC8 MIDI 连接控制盒的 MIDISport 2x2 USB MIDI 接口的端口连接起来。 MIDISport 接收来自主机的 MIDI 硬件(Ensoniq PCI128)的数据,并将其发送到笔记本电脑。 笔记本电脑将 MIDI 数据发送到 MIDISport,该数据由 MJC8 路由以控制 Yamaha TX802 FM 合成器。

QSynth 的音频输出由连接到 Yamaha DMP11 调音台的 M-Audio Delta 66 数字音频接口处理。 来自 TX802 的音频输出也发送到 DMP11。 此时,我有一个整洁的 MIDI 连接网络(硬件和软件),现在是时候进行测试了。 我启动了笔记本电脑的音序器,并收到了预期的“正在等待时间码”消息。 然后我点击了 Rosegarden 的“播放”控件,笔记本电脑锁定到时间码输入,我听到 QSynth 与 TX802 完美同步地演奏。 虽然这个测试显然不是科学的,但在我听来,时间锁定非常可靠。

我使用 MIDI 时钟同步重复了该测试,将 Rosegarden 设置为“接收”模式,并将笔记本电脑的音序器用作 MIDI 时钟源。 它工作正常,我还能说什么呢?

我的最后一个同步项目测试了 Rosegarden 对 JACK 传输控制的支持。 我再次打开“同步”对话框,并将 Rosegarden 设置为与 JACK 同步。 我使用 QJackCtl 来启动、停止、跳过和倒带 Rosegarden 的传输,所有功能都完美运行。 最后,我将 Hydrogen 鼓机/节奏编程器添加到 JACK 图中。 我随意地启动、停止、跳过和倒带,自由地使用 Hydrogen 或 Rosegarden 作为 JACK 主设备。 再次,没有任何问题。

乐谱

图 6:Rosegarden 的乐谱编辑器

对于我的最后测试,我使用了 Rosegarden 的乐谱功能来准备一首长笛和吉他二重奏的乐谱。 这首乐曲基于所有古典吉他演奏家都熟悉的匿名作品,但二重奏编曲是我自己的。

Rosegarden 的乐谱编辑器本身就是一个出色的音乐创作界面,也是 MIDI 文件和演奏的转录工具,还是为准备用于外部乐谱处理软件的乐谱而设的前端。 在这个项目中,我打算准备乐谱以最终由 LilyPond 渲染,并且我想尽可能在 Rosegarden 中编辑,以最大限度地减少导出乐谱后所需的数据处理量。

图 7:LilyPond 对我的 Rosegarden 乐谱的实现

图 6 显示了导出前的工作,图 7 展示了在 LilyPond 中进一步编辑后的乐谱。 Rosegarden 并非旨在成为完整的音乐排版解决方案,并且它不会试图掩盖其局限性。 复音音乐仅限于持续时间相等的音符,但可以通过将声部放入单独的轨道来创建对位乐谱。 然后,您只需在“轨道视图”窗口中选择所需的轨道,即可在乐谱编辑器中查看任意数量的声部。

文档和帮助

Rosegarden 的文档非常丰富,在网络上和纸质版本中都有。 Rosegarden 资源 页面提供了指向 FAQ 和其他相关网页的链接,程序中包含示例和教程文件,并且出色的 Rosegarden 手册 可以从程序的“帮助”菜单中获得(或者您可以在链接的网站上在线浏览)。 该手册是最完整和最新的文档,但 D. Michael McIntyre 的 Rosegarden 伴侣 也是新用户的优秀指南。 可以在 Rosegarden 邮件列表上找到更多帮助,开发者经常出现在 Linux 音频用户 邮件列表中,为新手和不太新手的人提供友善和耐心的帮助。

总结

Rosegarden 自 1993 年以来一直可用。 我在开始我的 Linux 之旅后不久就发现了它,并且一直关注它的发展轨迹至今。 这个最新版本是一项令人印象深刻的成就,使其在 Dave 工作室这里获得了“最推荐”的地位。 向厨师们致以敬意,由于其最近的改进,我现在将更频繁地使用 Rosegarden,并且我期待着 Chris、Richard 和 Guillaume 接下来会带来什么。

Rosegarden 开发者是 Linux 音频社区中备受尊敬的成员,并且还参与了各种其他项目,包括出色的 Sonic Visualizer、DSSI 项目和出色的 StudioToGo 媒体优化 Linux 发行版。

加载 Disqus 评论