冲浪Forge:SourceForge上的声音和MIDI项目
当我开始为Linux声音和音乐应用程序页面收集链接时,我经常访问各种公告和新闻服务。其中一些服务已不复存在,一些已被更全面和现代的渠道取代,少数几个仍然是新的和更新的Linux音频软件的主要来源。SourceForge是其中一项长期存在的服务,它始终与我搜索新的和有趣的音频和音乐应用程序相关,因此我决定冲浪Forge,以查找Linux音频领域最近的和可能不太近期的发展。
现在开始冲浪以下文章仅代表我发现的软件的一小部分。然而,它也代表了我找到的可行软件的大部分。SF列出了处于不同开发阶段的项目,包括处于“构思”阶段的项目。幸运的是,无需浪费时间查看文件列表 - SF很好地指示了项目文件库中的活动,快速浏览活动指标将说明项目的活跃程度。事实上,我调查的大多数项目都没有将文件上传到公共文件区域或CVS/SVN存储库。想法仍然比计划更容易产生,计划比实现更容易制定,而实现仍然是长期且常常是紧张的劳动的结果。尽管如此,我并不为此情况感到惋惜,我很高兴看到那里有什么样的雄心壮志和概念。的确,我发现的一些项目确实是“天马行空”的,但在本文中,我重点介绍了三个最实用和完全成熟的产品。在我在SF上找到它们之前,其中两个项目对我来说是未知的,其中一个是具有悠久发展历史的长期项目,我只是还没有来得及对其进行介绍。
MidiRandomizerNathaniel Roe的MidiRandomizer(图 1)是一个简洁的基于Java的实用程序,用于通过音高和节奏的参数值的加权选择来生成乐句。生成的乐句可以导出为标准MIDI文件和/或TiMidity兼容的PAT文件,并且可以保存喜爱的随机化因子排列以供以后调用。

该程序组织在一个窗口中,非常易于使用。模式长度可以自由定义,最大可达 256 拍(显示会更新以反映当前模式长度),并且在一个程序运行中最多可以创建 100 个模式。可以为音符的起始时间和持续时间设置量化因子,并且作者还包括了滑音(音符之间平滑滑动效果)的随机化因子,这在为单音乐器生成线条时是一个不错的点缀。GUI是交互式的,因此您可以单击并拖动鼠标在条形图上设置值作为曲线。这些值本身是相对权重,它决定了参数及其相关可能值范围的选择概率。
MidiRandomizer就像一个老派UNIX实用程序:它专为一项工作而设计,它非常出色地完成了这项工作,并且旨在成为更复杂的音乐创作工具链的一部分。无论您需要特定主题的一些变体,还是想要为您的作品提供一些新鲜素材,MidiRandomizer 都可能是您工作所需的工具。
Fx FloorBoards当我看到Colin Willcocks的Fx Floorboards软件的屏幕截图时,我对它的赏心悦目印象深刻(图 2),但当我深入研究该项目时,我意识到我不知何故忽略了一些令人惊叹的软件。Colin 设计了一系列程序,用于编辑Boss GT 处理器,这是为吉他手设计的一系列综合效果器踏板。该软件通过标准的双向 MIDI 连接与硬件设备通信,并且显然可以通过这些程序访问硬件的所有功能。我之所以说“显然”,是因为我没有 GT 踏板,但有了这些编辑器,我很想花一些钱买一个。支持的型号包括 GT-3/6/8/10、GT-6b/10b(用于贝斯吉他)和 GT-Pro,其中一些型号在各种互联网拍卖网站上可以廉价购买。

Fx Floorboards 软件外观精良,功能丰富,以至于我最初认为它是一个精心打磨的商业产品。但事实并非如此,这是自由软件,完全采用 GPL 许可,源代码公开可用。感谢 Colin 创建了一个专业品质的产品,它完整地配备了定制编码的 C++ DSP 引擎和一个基于 Qt4 的美观视觉效果的 GUI。唉,在获得其中一个受支持的设备之前,我无法对 Fx Floorboards 说更多,但这软件太有吸引力了,以至于我确信我需要更多地支持 Boss。同时,我欢迎尝试过 Colin 的酷程序的用户的报告。链接到示例也不错,所以请不要犹豫,展示一下。
顺便说一句,可下载版本是静态链接的,这意味着您不需要拥有最新的 Qt4 或其他依赖项。您可以下载该软件,建立您的 MIDI 连接,启动您选择的 Fx Floorboard,然后就可以开始了。唉,编译版本仅适用于 32 位系统,但也许一些有进取心的打包者可以为 64 位系统构建它。毕竟,源代码是公开可用的。如果您确实为分发到 64 位系统构建了它,请务必联系 Colin 并让他知道您的努力。

更新!就在我完成这篇文章时,一位朋友借给我他的 GT-3。我能够使用 Colin 的 3 程序测试该设备,我对结果感到非常满意。该程序以两种模式工作,一种用于批量传输,另一种用于实时参数编辑(图 3)。两者都按预期工作,我必须承认,我很难从使用该系统的乐趣中抽身出来。参数更新速度很快,所有编辑都在设备的显示屏上报告,设备的音质非常出色。GT 踏板通常在常见的拍卖网站上以低价出售,因此,如果您一直想建立一个功能强大的计算机控制吉他处理系统,那么 GT 硬件和 Fx Floorboards 软件的结合提供了一个出色的低成本解决方案。
AthenaCL我曾介绍过各种 Csound 的前端,但也许我倾向于过多关注基于 GUI 的环境。Csound 本身是一种编程语言,其本机界面位于命令行上,因此它本身适用于其他基于文本的软件(例如athenaCL)的目标和处理。根据其开发人员的说法,athenaCL 是
一个用 Python 编写的开源、面向对象的作曲工具。该系统可以编写脚本和嵌入,并包括集成的乐器库、后调性和微音调音高建模工具、多种格式的图形输出以及 Csound、MIDI、音频文件、XML 和文本格式的音乐输出。
严格来说,athenaCL 不是另一个程序的前端。它是一个独立的环境,具有多个输出目标,并且除了其直接依赖项之外,不需要其他软件。在许多方面,athenaCL 类似于blue和Common Music/GRACE等环境。它提供了一套工具包,这些例程特别适合使用算法来创作乐句和乐曲形式的作曲家,但它不预设任何特定的音乐风格。虽然可以使用 athenaCL 创作高度确定性的音乐,但其更大的优势在于其工具和实用程序,用于将形式的创作作为应用于音乐材料(例如,音高集、节奏序列、和声和大规模形式结构)的概率和不同程度的随机性的结果。
让我们快速了解一下 athenaCL 的工作原理。在以下示例中,我将创建一个事件列表,并将其路由到 athenaCL 软件包中包含的 Csound 乐器之一。我首先打开 athenaCL 解释器
dlphilp@64studio:~/athenaCL$ python athenacl.py athenaCL 1.4.9 (on linux2 via terminal threading off) Enter "cmd" to see all commands. For help enter "?". Enter "c" for copyright, "w" for warranty, "r" for credits. [PI()TI()] ::
接下来,我声明一个新的 Texture(乐器)
[PI()TI()] :: tin name this texture: texture-dp-01 enter instrument number: (3,4,5,6,11,12 ...) or "?" for instrument help: ? csoundNative instruments: {number,name} 3 sineDrone 4 sineUnitEnvelope 5 sawDrone 6 sawUnitEnvelope 11 noiseWhite 12 noisePitched ... enter instrument number: 60 (additiveBellBright) TI texture-dp-01 created.
现在,我要求 athenaCL 创建一个新的事件列表
[PI(auto)TI(texture-dp-01)] :: eln name an EventList. use a ".xml" extension: eln-dp-01.xml /home/dlphilp/athenaCL save in this directory? (y, n, or cancel): y /home/dlphilp/athenaCL/eln-dp-01.xml save this file? (y, n, or cancel): y EventList eln-dp-01 complete: /home/dlphilp/athenaCL/eln-dp-01.bat /home/dlphilp/athenaCL/eln-dp-01.orc /home/dlphilp/athenaCL/eln-dp-01.sco /home/dlphilp/athenaCL/eln-dp-01.mid /home/dlphilp/athenaCL/eln-dp-01.xml
此时,我仅使用默认的生成例程和值,所有这些都可以完全替换为您自己的目的。这些默认值包括 Csound orc/sco 目标、Csound 创建的音频文件的格式以及标准 MIDI 文件输出。AthenaCL 还提供了方便的播放功能,用于收听和评估输出,包括 MIDI 文件播放器和 Csound 渲染。不幸的是,我已经没有空间了,但可以说,athenaCL 几乎提供了您在专门用于算法音乐创作的环境中所需要的一切。athenaCL 网站提及其“...用于随机、混沌、元胞自动机、基于马尔可夫、波形、分形噪声 (1/f)、遗传、Xenakis 筛、线性和指数断点段、掩码以及各种其他算法模型的工具”,这足以让一位实验作曲家忙碌几年(或更长时间)。
文档内容丰富而详尽。Christopher Ariza 的优秀手册应该是必读的,但该系统易于学习,并且由于其智能默认设置,新用户可以在很短的时间内启动并运行该系统。熟悉 athenaCL 的生成器和修改例程的用途的作曲家将可以轻松地使系统适应他们的需求。AthenaCL 是一个强大而灵活的算法作曲环境,是我遇到的最好的环境之一。本文仅揭示了该系统最肤浅的方面,我敦促感兴趣的读者亲自尝试一下。AthenaCL 肯定会在 Studio Dave 进一步探索和使用。
结尾我希望您喜欢这次 SourceForge 乐趣的微型之旅。当然,您可以运行您自己的“冲浪和部署”任务,并可能找到大量我本可以评测的程序。请随时告知我们您认为应该在此处提及的任何内容,并务必让作者知道您对他们作品的看法。