Buzztard 项目,第 2 部分:Stefan Kost 访谈
本次对首席开发者 Stefan Kost 的访谈,继续报道 Buzztard 的开发进展。正如访谈揭示的那样,Stefan 在 Buzztard 上的工作仅仅代表了他深入参与 Linux 软件开发的冰山一角。
DP:让我们从一些背景资料开始。您使用 Linux 多久了,是什么吸引您进入 Linux 世界的?
SK:我成为 Linux 用户是在我还是学生的时候。在大学里,可以选择运行 Windows(当时是 3.1/95 版本)的 PC 实验室或运行 Solaris 的 UNIX 实验室。我从来都不是 Windows 的粉丝,所以我主要在 Solaris 下工作。不知何故,在家尝试 UNIX 是一个合乎逻辑的步骤,所以我把 SuSE 6.0 安装在了我的家用电脑上(我们大学订阅了 SuSE Linux)。那大概是 1998 年。
DP:您是如何接触到计算机的?您是什么时候开始编程的?
SK:我们家大约在 1988 年,我 14 岁的时候有了第一台电脑。那是一台 Z1013,搭载 U880 CPU,它是 Z80 的东德克隆版本。对我来说,编程的魅力在于知道几乎一切都是可以实现的——我只需要弄清楚如何实现。在(东西德)统一后,我买了一台 Amiga A2000,并在之后的几年里对其进行了扩展。我开始为这个平台编写几个程序,主要使用 C 语言。我的声音编辑器 SoundFX 变得非常受欢迎。
DP:您对 Buzztard 的投入表明您对音乐有着浓厚的兴趣。您有音乐方面的背景吗,无论是正式的还是非正式的?
SK:我开始在 Amiga 上使用 ProTracker、StarTracker、Oktalyzer 和 Symphony 等软件制作音乐。当我开始开发 SoundFX 时,我对 DSP 算法产生了兴趣,并开始阅读大量书籍以获取必要的背景知识。我也开始学习弹奏键盘,尽管我从来没有真正有时间进行 регулярные 练习。尽管如此,学习一点音乐理论对我的作曲有所帮助。我写的一些音乐被 Amiga Disk Magazin 使用。22 岁时,我开始在莱比锡最古老的哥特俱乐部 Villa 担任 DJ,稍后,我和我的 DJ 同事组建了一个名为 [ekso:r] 的乐队。我们创作的音乐(以及我的一些个人作品)在 CC 许可下于 www.eksor.de 上提供。
DP:是什么吸引您编写音频软件?
SK:调整声音的魅力。SoundFX 的第一个版本非常简单,基本上是我好奇心的试验场。“如果我对任何信号应用这个算法会怎么样?那听起来会怎么样?”
DP:请详细介绍一下 Buzztard 项目的设计理念和目标。
SK:[ekso:r] 的大部分歌曲都是用一个名为 Buzz 的程序编写的。它是一个 Windows 免费作曲软件,但不幸的是,它是闭源的。它将音轨应用程序的概念更进一步,通过使用插件来实现发生器和效果器。不幸的是,发生了一件糟糕的事情。由于磁盘故障,作者丢失了他最新的更改,并在 2000 年停止了该项目。在 2008 年秋季,他开始从较旧的备份中继续开发。在 2002 年,我因为 Buzz 的崩溃而丢失了一首歌曲。我意识到使用开源应用程序进行创造性工作是多么重要——这是跨越几十年保存创造性工作的唯一方法。我在 SourceForge 上注册了该项目,并开始与一位朋友制定计划。我们选择 Buzztard 作为名称有两个原因:Buzztard.org 域名可用,而且我们喜欢 Buzz 和 bastard(私生子)的混合(它不是一个音轨器,也不是一个经典的音序器)。一个重要的考虑因素是我们希望能够加载原始歌曲,所以首先,我们编写了命令行测试应用程序,用于在 Linux 下加载 Windows 插件和加载歌曲。一旦我们对此感到乐观,我们就开始了 UI 工作。主要目标首先是在 Buzztard 中支持 Buzz 中类似的功能。还有许多更进一步的想法,但这将在很大程度上取决于项目的发展情况。例如,因为我们选择了 GStreamer 多媒体框架作为引擎,它将使歌曲中能够包含视频和音频元素。
DP:一些读者会想知道 Buzztard 和原始 Jeskola Buzz 之间的关系。这两个程序之间有任何兼容性吗?是否有任何实用程序可以将原始 Buzz 文件和机器转换为 Buzztard 的格式?
SK:Buzztard 项目被分解为几个模块。Buzztard 本身可以在各种平台上运行(我有一个实验版本在我的 Nokia N810 上运行)。由于技术原因,加载 Buzz 的插件 DLL 仅在 x86 上有效。我们有一些插件是开源的,这些插件可以在任何平台上构建。联系作者并索取源代码是一项持续的努力。Buzz 歌曲的 Buzztard 导入器也是可移植的,但是,当然,歌曲需要插件可用。歌曲加载器非常完整,我们也可以加载大多数插件,但并非所有插件都能如预期般工作。
DP:Buzztard 目前与 Buzz 相比如何?您收到过 Buzz 用户的任何反馈吗?
SK:我们在 Buzz 用户论坛上收到了积极的反馈。很多人喜欢友好的用户界面。但是,Buzztard 仍然缺少一些功能。项目主页有一个路线图,详细说明了我们将如何解决这些问题。另一方面,Buzztard 已经拥有 Buzz 中我错过的一些不错的功能。
DP:在我看来,Buzztard 目前处于可用状态。您认为该项目最重要的剩余开发目标是什么?
SK:Buzz 的一个不错的功能是您可以在歌曲播放时对其进行操作。在 Buzztard 中,您可以编辑模式和序列,但是目前无法在演奏期间添加/删除发生器和效果器。您需要按停止,进行更改,然后按播放,这严重阻碍了创作过程。当前开发版本已经进行了一些重大更改,这些更改是此功能所必需的,所以希望我们很快就能实现该功能。
DP:您如何看待 Linux 音频的现状?
SK:有很多很酷的零碎的东西。我有时感觉好像总是缺少剩下的 20%,但话又说回来,有很多有能力的人在工作。我相当乐观。
DP:您是否有其他 Linux 音频应用程序的计划?
SK:目前没有。我还参与了许多其他活动,而且我知道我不擅长同时做很多事情。
DP:您参与了 GStreamer 项目。您正在为该项目做什么样的工作?您是否参与了其他您想提及的编码项目?
SK:当我开始开发 Buzztard 时,我也在大学里开发它。我在 Sun 工作站上运行了 GNOME 桌面。我正在研究可以使用哪些软件来构建 Buzztard。很明显,没有可用的单一音频 API。GStreamer 解决了这个问题。然后,我也需要一个插件接口,GStreamer 也提供了这个。这些事情和许多其他原因让我进入了 GStreamer。自然而然地,我很快发现了很多缺失的东西。毕竟,GStreamer 当时主要用于播放器。本着开源的精神,我贡献了补丁,并很快成为该项目的成员。我的大部分贡献都与音频创作工具相关,但由于我为诺基亚工作,许多更改也针对性能和其他领域。我还参与了其他 GNOME 项目。不久前,我接手了 gtk-doc 的开发和维护。
DP:最后,Stefan Kost 在 Linux 和计算机之外的生活中做些什么?
SK:实际上,不是很多。我试图在音乐、开发和我的家庭之间平衡我的生活(我的家庭刚刚变得更大——2009 年 2 月 8 日我的第二个儿子出生了)。我喜欢滑冰和去听音乐会。
Stefan Kost,Buzztard 项目团队负责人
结尾
这就是他,各位。我感谢 Stefan 花时间接受这次采访,我必须补充一点,当我学习如何构建、安装、配置和使用 Buzztard 时,他也提供了莫大的帮助。我有点像一个永久的初学者,但是 Stefan 耐心地引导我完成了这些步骤,直到我理解了这个程序。鉴于他对 Buzztard 和 GStreamer 明显的投入,我相信这两个项目都将继续良好地发展。
即将到来:看看 Studio Dave 这里使用的音频硬件。在那之前,深呼吸,保持冷静。