Linux 音频文件编辑器综述

作者:Dave Phillips

音频文件编辑器是音频工作者必备的工具,用于对录制的声音执行各种编辑操作,以进行修饰和润色。其中一些操作类似于文本编辑器的操作,例如剪切/复制/粘贴操作,而另一些操作则是音频数据编辑所特有的。

本文将带您快速浏览适用于 Linux 的音频文件编辑器。您无需了解任何关于数字音频或 DSP 理论的专业知识,如果您想尝试这些程序中的任何一个,您只需要在您的机器上安装一个可用的声音系统即可。但是,在开始浏览之前,让我们先考虑一下典型的音频文件编辑器是做什么的,以及它通常是如何使用的。

常用功能

编辑音频最好通过图形界面来完成。通过可视化地表示音频数据,可以很容易地找到声音中需要注意的部分,例如间隙和幅度峰值。这种快速找到需要操作的位置的能力加快了编辑过程。可以准确地标记或选择区域,缩放例程可以让用户在任何给定点放大或缩小文件视图,从而可以轻松快速地执行大规模和样本精确的编辑。

一个设计良好的音频文件编辑器应至少包括以下基本操作和功能:

  • 剪切/复制/粘贴。

  • 拼接/插入/替换。

  • 移动样本。

  • 混合音轨。

  • 同步文件/音轨。

  • 压缩/扩展时间尺度。

  • 音调偏移。

  • 均衡/滤波。

  • 采样率转换。

  • 以不同的时间格式显示。

  • 显示文件的多个视图。

  • 同时显示多个文件。

  • 独立的 X/Y 轴控制。

  • 查找最大样本值。

  • 以各种表示形式(分贝、峰值、RMS)显示幅度包络。

  • 编辑音调和幅度包络。

  • 变速播放。

  • 打印样本显示。

  • 频谱分析。

正如我们将看到的,本文中介绍的编辑器满足了这些基本标准中的大多数,并且经常添加独特的功能和例程。

表 1 列出了另一组功能,其中大部分(但并非全部)是 Linux 特有的,并概述了此处介绍的编辑器如何适应这些功能。

表 1. 音频文件编辑器功能

编辑器ALSAJACKLADSPAGUI大小限制许可证
SndMotif, GTK [1]磁盘GPL
MiXViews否 [2]InterViews内存[3]
DAP否 [2]XForms内存GPL
AudacitywxGTK磁盘GPL
ReZoundFOX磁盘GPL
SweepGTK磁盘GPL
GLAMEGTK磁盘GPL
LAoE否 [2]Java磁盘GPL
SwamiGTK磁盘GPL
WaveSurferTcl/Tk磁盘[4]
GNUsoundGTK内存GPL
KWave否 [2]Qt内存GPL

[1] 可以编译成无图形界面。[2] 可与 ALSA 的 OSS/Free 模拟一起使用。[3] 免费用于非商业用途,可自由分发。[4] 免费用于无限制用途,可自由分发。

常用用途

现在,让我们考虑一下音频文件编辑器的一些可能用途。以下列表绝不是完整的总结,它仅仅指示了我通常如何在自己的工作中使用编辑器:

  • 修剪录音中多余的静音。

  • 将大型文件剪切成较小的片段。

  • 归一化。

  • 添加诸如混响、合唱和镶边之类的效果。

  • 在不改变音调的情况下减慢播放速度。

  • 消除录音中的爆音和噼啪声。

  • 转换采样率。

  • 转换文件格式。

  • 均衡或滤波声音,使其更明亮或更具低音。

  • 将编辑器用作音乐和声音创作工具。

此列表还可以添加许多其他操作,并且每个用户都会找到音频文件编辑器的特殊用途。

当我在教学时,在不改变音调的情况下减慢文件播放速度会非常方便。学生们经常带来一些录音,这些录音在正常速度播放时不太容易听清或转录。我将原始录音(CD 或 MP3)转换为 WAV 文件,将其加载到 Snd 编辑器中并减慢播放速度,同时保持原始音调,直到我可以清楚地听到每个音符。这使得写出准确的转录更容易。一些编辑器允许您实时执行此操作,而另一些编辑器则允许在播放期间任意重新定义定义的循环区域,这是一个非常有用的功能。

归一化将文件的幅度提高到其相对峰值,因此所有幅度值都相对于峰值提高。通过在将项目文件刻录到 CD 之前对其进行归一化,我可以平衡作品之间的音量差异。归一化是在专业制作的录音中常见的母带制作前操作。

音频文件编辑器对于修复格式错误的压缩音频文件也很有用。一些编辑器直接加载 MP3 和 Ogg 文件,而另一些编辑器则执行格式转换,然后加载转换后的文件。我可以删除多余的静音并通过删除或重绘来修复录音中的损坏点。波形显示将损坏点表示为断裂或不完整的曲线。我还会在将其转换回原始格式之前对声音进行归一化和均衡。将有损编码文件转换为音频文件格式并再次转换回有损格式通常会导致次优的音频质量,因此我使用编辑器的均衡工具重新平衡声音的频率。

在本文分配的空间中,我只能粗略地介绍每个被介绍的编辑器。我们将关注每个程序最突出的方面,但您应该亲自尝试每个程序,以衡量其深度。让我们从 Linux 上可用的一些较旧的音频文件编辑器开始本次综述。

第一批 Linux 音频文件编辑器出现在 OSS/Free 是系统音频接口,Motif 是最具吸引力的 GUI 工具包的时代。它们都旨在编译并在各种 UNIX 系统(而不仅仅是 Linux)上运行。

Snd 7.0

自 PDP 小型计算机时代以来,Bill Schottstaedt 一直以某种形式制作 Snd。然而,我们所知的 Snd 可以追溯到 1996 年末,Linux 支持于 1997 年添加。Snd 是一个非凡的程序。它可以被视为一个异常强大的音频文件编辑器,一个无限可编程的音频编辑工具包,或者作为音乐和声音应用程序的 Common 环境的图形组件。Common 系列音频应用程序包括 Bill Schottstaedt 的 Common Lisp Music(软件声音合成)和 Common Music Notation 以及 Rick Taube 的 Common Music(音乐创作的元语言)。这些都是基于 Lisp 的应用程序,可以配置为复杂的交互性。解锁 Snd 强大功能的关键在于其基于类 Lisp 的 Scheme 编程语言的 Guile 接口。Snd 的界面包括一个名为 Listener 的窗口,用户可以在其中输入 Guile 命令来自定义和重新定义程序的各个方面。

屏幕截图说明了 Snd 的可配置性。图 1 显示了默认外观的 Motif 版本的 Snd。在图 2 中,用户界面已被广泛自定义。为 Snd 的内部 DSP 模块和 LADSPA 插件添加了新菜单,背景和颜色是用户定义的,并且为 Snd 的一些效果处理器定制构建了一些复杂的控件。图 2 还展示了 Snd 的幅度波形视图以及声音频谱的 OpenGL 显示及其频率内容。上下文相关的弹出菜单可用于不同的显示以及文件的选定和未选定区域。

Snd 是我最喜欢的音频文件编辑器,但我承认它可能不是适合所有人的编辑器。如果您学习一点 Lisp,您可以发现 Snd 的更多功能。幸运的是,Snd 附带了详尽的文档,以减轻学习过程中的困难。预定义的配置文件也可用于更快更轻松的自定义。

The Linux Soundfile Editor Roundup

图 1. 默认 Snd

The Linux Soundfile Editor Roundup

图 2. 作者的 Snd

MiXViews 1.30

Doug Scott 的 MiXViews 的 1.0 版本于 1995 年发布,使其成为此处介绍的 Linux 音频文件编辑器中最长寿的一个。MiXViews 过去和现在都是为 UNIX 和 Linux 提供高质量音频编辑器的单人努力。该项目仍然是一个单独的开发工作,并且仍然提供高质量的编辑器。

MiXViews 提供了一套强大的基本音频文件编辑功能,并添加了一些在其他 Linux 音频文件编辑器中找不到的功能。相位声码器和线性预测编码 (LPC) 是数字信号分析/重合成工具,通常与软件声音合成程序(如 Csound 或 Common Lisp Music)相关联。这些工具分析声音的频率和幅度值,并将这些值存储在特殊的分析文件格式中。分析文件可以被诸如 Csound 之类的程序读取,该程序允许用户独立控制分析数据的频率和幅度分量,然后再将其重合成到音频文件中。MiXViews 提供了其自己完整的 LPC 和相位声码器实用程序套件;它还可以读取和编辑由 Csound 相位声码器创建的分析文件。

图 3 显示了 MiXViews 用于编辑相位声码器和 LPC 分析数据的图形工具。尽管这些工具背后的理论和数学可能令人望而生畏,但 MiXViews 界面鼓励实验,使工具本身更易于使用且更有趣。

如果您想尝试 MiXViews,我建议使用预构建的二进制文件。编译 MiXViews 有些棘手,并且需要一个不常见的图形工具包 (InterViews),因此只需下载静态二进制文件并开始使用即可。

The Linux Soundfile Editor Roundup

图 3. MiXViews

DAP 2.1.4

DAP(数字音频处理器)是程序员 Richard Kent 对多平台音频文件编辑器的贡献。与 MiXViews 一样,DAP 的 GUI 基于一个不太新的 GUI 工具包 XForms 库。同样与 MiXViews 一样,DAP 的可用音频文件大小受系统 RAM 的限制。此外,DAP 还包括一些为 AIFF 音频文件精心实现的循环编辑工具。DAP 还包括精选的 DSP 模块(从 Kai Lassfolk 的 SPKit 代码扩展而来)以及方便的单声道到立体声和单声道/立体声到四声道的转换器。

DAP 的一些编辑工具值得特别提及,特别是 Resample 和 Edit/Mix 对话框中的工具。“Resample”菜单提供音调和采样率更改,无论是否进行时间伸缩,而“Edit/Mix”对话框(“Mix”和“Mix Range”)则提供了对混合文件幅度平衡的简洁图形控制。AIFF 文件格式及其循环支持的影响贯穿整个程序。例如,当效果应用于文件时,DSP 对话框面板会提供一个控件来控制持续和释放循环的迭代次数(图 4)。尽管 DAP 的设计偏向 AIFF 格式,但它也导入和导出 RAW 和 WAV 格式的文件。

唉,DAP 不再持续维护。它的 XForms GUI 正在显示其年代感,并且其文件大小限制是一个严重的缺点。作者坦诚地承认了 DAP 的局限性,但如果您正在使用带有嵌入式循环点的 AIFF 文件,DAP 仍然是一个有用的工具。

The Linux Soundfile Editor Roundup

图 4. DAP

下一组编辑器属于 Linux 音频开发的新浪潮。它们的自然环境包括现代图形界面工具包和较新的 Linux 声音系统组件,例如 ALSA、JACK 和 LADSPA。它们在概念上也比其前辈更同质,与 Windows 和 Mac 用户熟悉的流行编辑器相似。

Audacity 1.1.3

Audacity 是 Linux 音频文件编辑器新浪潮的合适代表。它用 C/C++ 编写,使用 wxWindows 跨平台 GUI 工具包,并支持原生和 LADSPA 信号处理插件。最新版本也支持 JACK,使 Audacity 能够将其 I/O 路由到其他活动的 JACK 感知程序或从中路由。

图 5 说明了 Audacity 打开了三个音频文件的情况——一个单声道 WAV 文件、一个立体声 AIFF 文件和一个 Sun 的 AU 格式的文件。Audacity 还导入 MP3 和 Ogg 文件。由于 Ogg/Vorbis 库,它可以直接导出 Ogg 文件,但 MP3 导出取决于用户提供的编码器。图 5 还显示了 Audacity 的原生均衡器插件正在工作。

Audacity 的图形编辑工具使用起来令人愉快。图 6 展示了包络工具对图 5 中看到的音频文件之一的幅度轮廓的影响。在单个样本级别,Audacity 的绘图工具可以轻松消除或修复幅度峰值和其他不连续性。

与 Snd 一样,Audacity 具有 Roger Dannenberg 的 Nyquist 的 Lisp 编程语言接口。Nyquist 是一种为声音合成和信号处理而设计的语言,Audacity 的“效果”菜单提供了一个 Nyquist 提示,其工作方式与 Snd 的 Listener 基本相同。您在提示对话框中输入 Nyquist 表达式,单击“确定”按钮,如果表达式有效,Audacity 将对活动音频文件执行预期的处理。

Audacity 的功能远不止我在此处可以描述的。幸运的是,该程序易于学习和使用,因此请自行查看。

The Linux Soundfile Editor Roundup

图 5. Audacity

The Linux Soundfile Editor Roundup

图 6. Audacity 的包络工具

ReZound 0.9.0beta

凭借其色彩缤纷的界面和出色的组织,Davy Durham 的 ReZound 既赏心悦目又易于使用。但赏心悦目只是 ReZound 功能中最不重要的部分;该程序还提供了一整套编辑工具、出色的传输控制、一些令人印象深刻的原生滤波器、对 LADSPA 插件的支持以及独特的音频母带制作/刻录到 CD 功能。

图 7 说明了加载了三个音频文件且弯曲平衡工具正在活动文件上工作的 ReZound。“弯曲平衡”是 ReZound 的母带制作实用程序之一;其他实用程序包括噪声门、动态压缩器以及增益和归一化控件。这些工具以及 ReZound 的其他编辑便利功能,使您可以在将声音刻录到 CD 之前将其修饰至完美。ReZound 甚至提供了一个简单的对话框,用于直接从 ReZound 的“文件”菜单刻录 CD(通过 cdrdao 程序)。

ReZound 的 LADSPA 支持扩展到对来自 Kjetil Matheussen 的 LADSPA VST 主机插件 (vst.so) 的良好基本支持。这个支持插件的插件提供了一个基于 WINE 的可用界面,用于在 Linux 下运行 VST/VSTi 插件。vst.so 插件目前处于早期阶段,其与宿主应用程序的和谐程度差异很大。图 8 显示了 ReZound 使用 VST 插件将效果应用于活动音频文件。

最新版本的 ReZound 支持 JACK 音频服务器,将 ReZound 连接到相互通信的音频应用程序的 JACK 网络。计划进行更多 JACK 增强功能,以及效果预览、噪声消除工具、原生时间/音调缩放以及许多其他功能和改进。

The Linux Soundfile Editor Roundup

图 7. ReZound

The Linux Soundfile Editor Roundup

图 8. 支持 LADSPA/VST 的 ReZound

Sweep 0.8.2

乍一看,Conrad Parker 的 Sweep 似乎与此处介绍的其他较新的编辑器非常相似。它支持 ALSA,提供了一套良好的基本编辑套件,支持 LADSPA 插件,并展示了一个漂亮的现代 GTK 界面。不过,Sweep 提供了两个不寻常的工具,这赋予了它特殊的价值。一个是定义用于非线性编辑的多个区域的能力;另一个是一个名为 Scrubby 的有趣小工具。

在音频文件中定义选区通常是通过将光标放置在选区开始处,然后左键单击并按住,同时将光标扫到选区末尾来实现的。这种选择方法是此处评论的所有编辑器采用的常见做法。Sweep 也是这样做的,但 Sweep 还允许您定义多个选区。在进行选择时按住 Ctrl 键,瞧,您就拥有了可用于进一步处理的多个已定义选区。

“反向选择”功能提供了一种在音频文件上创建效果对话框的简洁方法。图 9 说明了这一系列更改的后果:定义多个选区;对这些选区应用反向效果;反向选区区域(未选定变为已选定,反之亦然);并对新选区应用 LADSPA 效果。这是有趣的东西,也是一个强大而富有创意的功能。

Scrubby 是 Sweep 的虚拟唱针,本质上充当一个可自由移动的播放头,其功能通常与 DJ 的唱盘系统相关联。Scrubby 将 Sweep 转换为一种表演工具,这对于音频文件编辑器来说是一个不寻常的特性。屏幕截图不可能充分体现 Scrubby 的优点;您必须使用该软件才能看到并听到它的实际效果。

The Linux Soundfile Editor Roundup

图 9. Sweep

Swami 0.9.1a

Soundfont 格式 (SF2) 是一种复杂的音频文件格式,它不仅包括音频数据,还包括有关各种效果和性能控制的数据。Soundfont 在音频世界中变得无处不在,在 Csound、jMax、Pd、Fluidsynth 和许多其他应用程序中都有应用。

如果您想使用 soundfont,您肯定希望在您的工具包中使用 Josh Green 出色的 Swami。Swami 是一款仅限 soundfont 的编辑器,具有精心设计的 GUI 和丰富有用的功能。您可以编辑现有的 soundfont,并从单个样本级别到复合乐器级别创建自己的 soundfont。您还可以编辑和设计自己的 soundfont 音色库。其他工具可用于设置乐器的力度响应曲线、键盘区域划分(映射)和调制器路由。由于 Swami 的严格专注,我没有太多可说的;它是一流的,并且是强烈推荐的 Linux 音频软件。

The Linux Soundfile Editor Roundup

图 10. Swami

WaveSurfer 1.5.7

Kâre Sjölander 和 Jonas Beskow 开发 WaveSurfer 的目的是使其在语音研究的背景下发挥最佳作用,语音研究涵盖各种与音频相关的学科。WaveSurfer 是一款非常通用的通用音频文件编辑器,但其特殊优势在于其用于分析、编辑和可视化口语的工具。

WaveSurfer 用流行的 Tcl/Tk 脚本语言和控件工具包编写,为有动力的用户提供了对程序内部结构的完全访问权限。WaveSurfer 中的声音处理由 SNACK 音频功能库处理,该库也由 Kâre Sjölander 编写。SNACK 本身可以通过用 C/C++ 编写的用户定义的插件进行扩展。

图 11 说明了 WaveSurfer 在语音分析和表示中的简单应用。主面板显示了在完整波形中突出显示的区域,标签显示指示了声音的音素。标签音轨只是 WaveSurfer 面向语音的便利设施的一个示例。其他功能包括频谱图显示、音调曲线提取以及对各种音频文件和转录格式的支持。

The Linux Soundfile Editor Roundup

图 11. WaveSurfer

GLAME 1.0.1

GLAME 的开发人员在其编辑器中实施了一种不寻常的设计理念。GLAME(GNU/Linux Audio MEchanics)提供了音频编辑的预期工具调色板,但它还包括一个强大的合成和处理环境,称为 filternetwork。Filternetwork 提供了一个画布,合成原语的图标在该画布上被拼凑在一起以创建处理或合成链。当前的原语包括振荡器、包络发生器、滤波器、I/O 模块和 LADSPA 插件。一旦设计了合成网络,就可以运行它以生成实时音频或输出到文件以进行进一步处理(当然在 GLAME 中)。右键单击波形显示会弹出一个菜单,其中包含“应用自定义”项。通过选择此项,您可以将 filternetwork 应用于活动音频文件,从而提出一些有趣的处理可能性。

图 12 说明了一个简单的示例。波形显示中的选区已由 filternetwork 处理,该 filternetwork 由增益控制、LADSPA 延迟插件和镶边器组成。音轨模块作为默认 I/O 端口包含在内,表示原始输入和处理后的音频输出。

The Linux Soundfile Editor Roundup

图 12. GLAME

LAoE 0.6.03beta

Olivier Gäumann 的基于图层的音频编辑器 (LAoE) 提供了另一种独特的设计理念。LAoE 中的编辑会话包括构建音频文件堆栈,然后打开所需的编辑和处理工具以应用于堆栈中的一个或多个图层(音频文件)。起初,感觉这是一种相当奇怪的工作方式,但在理解程序的组织结构后,我开始享受它的布局,并开发了一种快速的工作模式。

LAoE 因在其频谱显示中提供直接编辑而获得额外加分。用户定义的画笔用于在区域上绘制以进行 FFT 滤波,并且可以调整滤波器本身以获得更精细的分辨率。本文中大多数编辑器都提供频谱显示,但只有 LAoE 允许直接频谱编辑。

LAoE 也是此处评论的唯一基于 Java 的编辑器。我在我的 800MHz 机器上安装了 Sun 的 JDK 1.4,这在今天的标准看来并不算快,但 LAoE 的界面始终快速且响应迅速。

The Linux Soundfile Editor Roundup

图 13. LAoE

GNUsound 0.6.1

Pascal Haakmat 的 GNUsound 外观朴素,但内容丰富。我们再次拥有了全套基本编辑工具、LADSPA 插件支持以及一些用于标记、选择和查看音频文件的特殊工具。GNUsound 还采用了音轨的概念,也就是说,您可以指定多个文件用于混音,其过程类似于多轨录音机中的混音过程。

GNUsound 的另一个巧妙之处在于它实现了用于效果处理的包络。可以选择两个用户定义的包络之一作为关联处理参数的控制曲线,从而为您的效果处理提供更动态的轮廓。

尽管 GNUsound 旨在在 GNOME 环境中使用,但我在 Planet CCRMA Red Hat 9.0 系统下构建它并在 BlackBox 窗口管理器中使用它时没有任何问题。

The Linux Soundfile Editor Roundup

图 14. GNUsound

KWave 0.7.0-1

KWave 自 1999 年以来一直在开发中,因此也许我应该将其与历史悠久的中坚力量一起列入。然而,其开发团队一直与其预期的目标环境 KDE 保持同步,从而使 KWave 具有更现代的外观和感觉以及一些有趣的改进。

新的 KWave 还保留了原始版本对用于处理文件的图形工具的强调。图 15 展示了 KWave 的低通滤波器编辑器,其中包含处理预览功能。“收听”按钮循环播放您的文件或选区,同时您实时调整滤波器,这对于测试效果参数来说是一个方便的功能。

我最喜欢的一些工具,例如来自原始 KWave 的加法合成生成器,尚未重新实现。这些工具目前在菜单中呈灰色显示,但开发人员计划恢复这些功能并添加新功能。与 GNUsound 一样,KWave 的文件大小也限制为可用内存,但除此之外,它是一个优秀的编辑器,非常适合在 KDE 桌面上的休闲使用。

The Linux Soundfile Editor Roundup

图 15. KWave

最终评论

我希望本文已激发您对查看其中一些应用程序的兴趣。信不信由你,还有其他音频文件编辑器可用,尽管我在此尝试重点介绍最流行的编辑器。“Linux 音频和 MIDI 应用程序”站点的“音频文件编辑器”部分列出了所有可用的 Linux 音频文件编辑器(请参阅在线资源部分)。

那么哪一个适合您呢?这很难说。我个人偏爱 Snd 的强大可编程性和 ReZound 的 GUI 和组织结构,但您必须尝试一些,看看哪个最适合您的需求。最重要的是,不要被其中一些编辑器看似的复杂性吓倒。像对待 GIMP 一样对待它们,随意测试它们的功能,直到您了解它们可以做什么——不要害怕单击“撤消”按钮。玩这种软件可能很有趣,并且可以开辟一些有趣的创意途径。如果您想出一些声音可以分享,请随时告诉我。现在,去编辑那些快乐的声音吧。

本文资源: /article/7506

Dave Phillips 是一位音乐家、教师和作家,居住在俄亥俄州芬德利。自 1995 年首次接触 Linux 以来,他一直是 Linux 音频社区的活跃成员。他是The Book of Linux Music & Sound的作者,以及Linux Journal中的众多文章的作者。

加载 Disqus 评论