Linux 音频圣诞特辑

作者: Dave Phillips

Dave 的圣诞树下出现了一些有趣的东西,包括一本老朋友的新书、一个笔记本电脑键盘(音乐键盘,不是 QWERTY 键盘)以及一个用于高质量混响的出色的 Linux 音频插件。Dave 去年一定是个非常乖的孩子。

《音频编程之书》

Richard Boulanger 博士毕生致力于推广基于计算机的音乐,尤其专注于 Csound 音频/MIDI 编程语言。他的履历包括与电子声学音乐和研究领域的先驱人物合作,并且他作为教育家的角色继续让更多有才华的人意识到并取得成就。

2000 年,Boulanger 教授(又名 Dr. B,又名 Rick)完成了他使命的一部分,当时 MIT Press 出版了 《Csound 之书》。这本书是一部合作作品,汇集了 Csound 开发和用户社区的领军人物的贡献。Rick 将这些贡献编辑成有组织且连贯的 Csound 多方面介绍,从其 C 源代码的细节到丰富的合成和作曲工具的设计。感谢这位好医生的指导和他自己的贡献,《Csound 之书》被认为是严肃学生的基础教材,并且在这个 Csound 用户看来,它很可能在很长一段时间内仍然如此。 

图 1. 《音频编程之书》

时间来到 2010 年,Rick 的最新巨著 《音频编程之书》(图 1)问世。Dr. B 和联合编辑 Victor Lazzarini 通过本书出版了另一部基础性著作,该著作肯定会为现在以及未来几代学生、作曲家和研究人员提供全面的学习课程。《音频编程之书》汇集了来自不同领域的材料——包括数学、计算机科学、音乐、音频工程和数字信号分析——并将它们呈现在 C 编程语言(大量使用 C++)音频编程的统一背景下。本书的广泛主题按以下顺序排列:

  • C 编程基础
  • 音频编程基础
  • 音频编程要点
  • 频谱音频编程
  • Csound 操作码编程
  • 算法合成与音乐编程

每个一般主题都包含两篇或多篇文章,通过动手示例和项目来描述该主题。本书始终强调使用,并且建议读者在阅读时要认真思考。这本书没有被命名为“傻瓜音频编程”是有原因的——只要你专心并愿意边走边学,就非常欢迎初学者。Linux 用户很可能可以轻松访问推荐的工具链,但 C/C++ 似乎是有意跨平台的,并且很明显,为了创建可以在 Linux、Mac 和 Windows 系统上编译的示例代码,人们付出了巨大的努力。Csound 作为生产目标受到了高度青睐,这可能是因为专家贡献者群体来自 Csound 编程领域,但 C/C++ 源代码对于其他波形编译器也应该有用,例如 SuperCollider3PDCmix/RtCmix

这本书真是一本巨著,到目前为止,我只是在书中的各个章节中跳着阅读。作者都精通各自的主题领域,并且写作风格统一、可读且清晰。我通常不期望像这样的一本书会让人读起来很舒服,但在这种情况下,这真是一种乐趣。例如,我非常愉快地阅读了 Richard Dobson 关于 C 语言编程的章节。我已经多年没有使用过这门语言了,即使在那时我也只是随便玩玩。但是,我学到了足够的知识来编写一些有用的乐谱生成器和其他 Csound 助手,并且当我想学习其他编程语言时,这段经历对我帮助很大。Dobson 先生的演讲重新激发了我对 C 语言的兴趣,我期待着学习他在该语言中关于音频编程的章节。

这本书可以通读,也可以在“需要时”使用。显然,具备计算机编程背景将使您更快地进入问题的核心,而经验丰富的程序员可以直接深入研究。对于新手,我建议仔细研究前两部分,然后您可以选择您最感兴趣的领域进行进一步研究。我认为,使用 Tcl/Tk 或 Python 等脚本语言的经验在这里可能很有价值,但应该理解的是,C/C++ 编程将是非常不同的体验。底线很明确:如果您是 C 和/或 C++ 的新手,请务必花一些时间阅读本书的前两到三节。

现在关于这本书没什么好说的了,除了“去买这本书吧”。在我看来,对于一本近 900 页(外加 DVD)的精装书来说,60 美元的价格很划算,如果您需要加深在音频编程领域的知识,那么您就需要这本书。向朋友借钱,抵押第二套房产,卖掉您的汽车,但一定要买它。

Akai LPK25

因为文章任务的需要,我需要一个 USB 键盘,所以我给自己的圣诞礼物是 Akai LPK25(图 2)。这个小巧的键盘包括一个可移调的两个八度力度感应键盘,带有一个出乎意料地强大的琶音器,所有这些都可以在 Ubuntu 上开箱即用。文档很简单——一个 7 页的 PDF 文件,主要介绍配置软件。幸运的是,该实用程序可以在 Wine 下完美运行。键盘的大部分功能都可以从设备本身编程,但配置编辑器可以访问一些很酷的“附加功能”。例如,琶音器的时钟源可以在其内部时钟或来自外部源的 MIDI 时钟流之间切换。该功能在 Ardour3 中完美运行,但不幸的是,据我所知,在没有编辑器的情况下,无法设置时钟源。

图 2. Akai LPK25

我不太擅长键盘演奏,而且琴键的手感对我来说有点僵硬。但这并不是什么大问题,我只需要记住要比我预想的更用力地弹奏。该设备唯一让我失望的部分是 USB 连接。它是键盘侧的 mini-USB 连接,并且容易松动。在这方面,设计很差,我必须在插头下方安装一个小支撑块,以防止它掉出来。除此之外,硬件看起来足够坚固,可以在完整的 Linux 家庭工作室中使用。

更多文档和使用示例可以在 YouTube 上找到。查看 The DSP Project 的演示文稿,它快速而彻底地介绍了该设备的功能。还有其他视频可用——LPK25 是一款流行的键盘——您肯定会在短时间内找到您需要了解的关于它的一切。

顺便说一句,我在 eBay 上以大约 60 美元的价格购买了这款键盘。Akai 的建议零售价为 129 美元,但您可以在大多数音乐商店、在线商店或实体店中找到大幅折扣。

Tom 的 IR

Tom Szilagyi 的作品集包括 Aqualung 音乐播放器和 TAP LADSPA 音频处理插件合集,对于 Linux 开发来说,他并不陌生。最近,他为 Linux 音频社区增加了一个重要的新贡献——一个名为 IR 的 LV2 插件(图 3)。以下是其网站对此的介绍:

“IR 是一款零延迟、实时、高性能的信号卷积器,特别用于创建混响效果。支持 1、2 或 4 声道的脉冲响应,支持 libsndfile 支持的任何声音文件格式。”
 

图 3. Tom Szilagyi 的 IR。

脉冲响应文件是对环境混响特性的记录。响应是通过触发响亮但几乎没有延音的声源来创建的。发令枪或鞭炮会很好用,但任何东西都可以,只要脉冲本身的声音非常短即可。脉冲响应文件只是删除录音中包含脉冲的部分,只留下混响,即环境对脉冲信号的声学响应。

脉冲响应可以用于称为卷积混响的过程中,而这对数字录音师来说才是有趣的地方。卷积将脉冲响应应用于数字音频录音,并使用响应原始声学环境的混响特性对其进行增强。类似的过程会产生从硬件混响器中获取的脉冲响应。因此,给定适当的脉冲响应文件,我可以使我的家庭工作室录音听起来好像是在泰姬陵或使用我永远买不起的更昂贵的混响设备中制作的。这就是卷积混响的吸引力,您可以使用 Tom Szilagyi 的 IR 亲自体验一下。

我在 32 位 Ubuntu 10.04 上测试了最新代码。我经常构建和测试支持 LV2 插件的 Ardour,所以我对工具链没有任何问题。安装插件后,我在 Ardour 2.8.11 和从最新 SVN 源代码构建的 Ardour3 中的音轨上运行了它。图 3 展示了 IR 处理来自 Lexicon PCM90(一种著名的硬件混响设备)的脉冲响应。唉,当我切换脉冲响应时,该图无法说明 IR 的无故障性能。我没想到操作如此顺畅,我对此印象深刻。音质取决于脉冲响应的质量,但幸运的是,网上有很多响应文件可用。我已经收集了数百个,所以我预计会在 IR 上忙碌一段时间。

顺便说一句,当 Tom 在 LAD/LAU 邮件列表中宣布 IR 时,他提到了“站在巨人的肩膀上”,特别指出他使用了 Fons Adriaensen 的 zita-convolver 和 Erik de Castro Lopo 的 libsamplerate 和 libsnsdfile 库。IR 是使用高质量开源组件和同样高质量的想象力创建的音频软件的绝佳示例。谢谢你,Tom,我们需要这个。

结尾

我希望您的假期也过得愉快,并且我希望您在您的圣诞树下找到了一些与 Linux 音频相关的礼物。我很快会带着更多关于 Linux 音频开发领域的圣诞老人送来的更多有趣礼物的新闻回来,当然,总会有更多精彩的东西出现。我会尽力让您知道这些。
 

加载 Disqus 评论