音频/视频合成:新艺术,第二部分
在我的调查的第二部分中,我将重点介绍实现这种新艺术合成的工具。 遗憾的是,由于篇幅限制,我无法包含所有我想评测的软件,但也许未来的文章会介绍这些程序。 同时,我向读者介绍 Pd、Fluxus 和 AVSynthesis 的简要介绍。 这些程序中的每一个都采用不同的方法来解决将图像(动态或静态)与声音(实时或录制)混合的实际问题。
我感兴趣的内容
以下三个简短的评测重点介绍了我已经熟悉的软件(Pd 和 AVSynthesis)或目前正在学习的软件(Fluxus)。 这些选择代表了我个人的选择,但不应被解释为“最佳中的最佳”集合。 每个用户都会找到自己使用这些程序的方式,它们可能适合也可能不适合您的工作。 亲自尝试一下,如果它们不符合您的偏好,请查看“我想接触的内容”部分中列出的项目。
Pd/GEM
在我的 Linux 音频开发作家生涯中,我有很多机会使用和赞扬 Pd。 确实,似乎没有 Pd 无法处理的音频或 MIDI 服务,而且它通常是某些问题的唯一解决方案。 当与 GEM 库结合使用时,Pd 获得了与它巨大的声音潜力相当的图形和视频功能,使其成为图像和声音的集成合成和转换的首选。
在我的文章 Pd 和 GEM:用户报告 中,我介绍了使用 GEM 库运行 Pd 的基本步骤,因此我建议读者参考之前的文章以了解本次评测的背景。 简而言之,GEM 库为 Pd 提供了对 OpenGL 控件的访问权限,以便与静态图像和视频文件和/或流一起使用。 这些控件对输入信号(或信号:Pd 支持多个输入)执行各种转换,并且可以安排这些控件独立于或与 Pd 的声音生成组件协同作用来影响这些转换。 这种同时处理能力可以创造非凡的效果,尤其要归功于 Pd GUI 工具的灵活性。

在其最基本的形式中,Pd 遵循补丁合成器的模型。 可视单元通过虚拟连线连接,以创建任何所需复杂度的合成和处理网络,并且支持抽象,以便重用先前设计的元素并将其合并到新的补丁排列中。 可视单元可以是音频或 MIDI 数据生成器和处理器,也可以是用于视频和图像处理的 GEM 图形例程。 通过简单地为整个过程的音频和视频部分分配单个控制器,可以实现同步转换。 图 1 展示了这样一个过程,尽管它非常简单。 在该图中,单个滑块控制音频信号的幅度和图形图像的音量。 当设计者意识到滑块的值限制可以自由地重新定义,以及它的方向(例如,从 0 到 1 或从 1 到 0)时,乐趣就开始了。 或者,滑块的输出可以在数据到达其预期对象之前被任意数量的滤波器进一步改变。 显然,Pd 在组合音频/视频合成领域具有深远的潜力,这些可能性无法在此处完全描述。 幸运的是,Pd 有大量的文档,并且恰好 James Tittle II 和 IOhannes zmöaut;lnig 已经发表了关于 Pd 和联觉 主题的简明介绍,因此我愉快地建议我的读者参考该文本以更深入地理解该主题。
最近,我购买了一个 Logitech QuickCam,以便与我在本文研究中发现的一些软件一起使用。 Pd 在我与新相机一起使用的程序列表中名列前茅,并且感谢来自 Frank Barknecht 和 Michael Seta 等 Pd 大师的建议和指导,我希望探索 pdp、PiDiP 和 GridFlow 包,所有这些包都设计用于实时视频流。
特别消息:当我完成这篇文章时,我收到了 Pd 专家 Chris McCormick 关于他的 Ergates 的消息,Ergates 是一款具有 3D 界面和 USB 游戏手柄作为其主要控制器的音频/视频合成器。 该程序基于 Pd/GEM 强大功能,但不需要任何系统的先验知识。 唉,我没有时间测试 Ergates,但我确实相信我在未来会看到一个游戏手柄。
Fluxus
Fluxus 系统通过将声音流与用户实时发出的图形控制命令相结合,创建音频调制的视觉形式和动画。 命令语言是 Scheme 的变体,图形由 OpenGL 库渲染,音频输入来自任何其他 JACK 客户端。
预构建的 Fluxus 软件包适用于 Fedora 和 Ubuntu,其他所有人都必须从源代码构建它。 Fluxus 是一个高度依赖的应用程序,但其大多数组件都应该在您的发行版的软件存储库中可用。 您可能需要构建 PLT Scheme 软件包(版本 372,不是 4.0),这只有在您在 OpenSUSE 10.2 上构建它时才会成为问题。 如果您遇到关于 XftNameUnparse 的错误,您需要将 xorg-x11-libs 软件包升级到最新版本。 解决该问题后,其余的 Fluxus 构建过程应该顺利且简单。
Fluxus 在自己的窗口中启动,窗口带有提示符和闪烁的光标。 此窗口是 REPL,即随处可见的 Lisp 追随者所钟爱的读取-评估-打印循环。 不用担心它的名称,您真正需要了解的关于 REPL 的是它是 Scheme 命令行。 可以在 REPL 提示符下输入 Scheme 代码的行和块,但 Fluxus 有更好的方法来管理代码输入和评估。 提供了九个工作区,每个工作区都有自己的代码编辑器。 可以在每个工作区中输入和评估代码,或者您可以加载现有的 Fluxus 文件进行评估。
在 Lisp 术语中,评估是 Lisp 解释器验证和运行您的程序代码的步骤。 代码评估完成后,您可以在之前的评估运行时对其进行进一步的添加和修改。 按下 F5(或 Emacs 党人的 Ctrl-e),代码将立即重新评估。 幸运的是,不必重新评估整个代码块:只需突出显示需要更改的部分,按下 F5,您的更改将立即生效。 这种交互式环境有利于所谓的 实时编码,这是一种涉及实时多媒体编程的表演艺术。 与此处评测的其他一些应用程序一样,Fluxus 通过调制 OpenGL 着色语言 (GLSL) 的值来创建和转换显示的图形参数。 但是,Fluxus 通过在显示控制台或 IDE 中输入的 Scheme 命令实时执行其转换。 实际上,Fluxus 非常适合实时编码人员。
文档丰富且编写良好。 文本文档在线提供,并在 Fluxus 源代码包中提供。 只需在 REPL 提示符下输入 (help) 即可打开程序的集成帮助。 更多信息可以在 FAQ、Wiki、邮件列表和教程视频中找到。
AVSynthesis
2008 年 5 月号的 Linux Journal 包含我的第一篇关于 AVSynthesis 的文章,Jean-Pierre Lemoine 的软件用于同时合成音频和视频流。 遗憾的是,由于 Jean-Pierre 自发布以来进行了许多改进,该文章现在几乎完全过时了,尽管它仍然可以作为对 AVSynthesis 是什么以及它做什么的不错的介绍。 简而言之,该程序将两到三个静态图像组合在一起,创建一个混合图像,然后对该图像进行各种动态转换,以创建要渲染成电影的图像序列。 同时,该程序实时创建一个音频流,该音频流可以以有趣的方式与图像序列结合。
AVSynthesis 结合了 OpenGL 着色语言的图像处理能力和 Csound5 的音频合成和处理能力。 该程序为这些主要部分(图 2 和图 3)提供了图形编辑器,以及用于其事件音序器和基本混音器的类似屏幕。 参数值可以直接设置(固定值)、由用户定义的范围动态调制,或由用户可分配的 MIDI 控制器控制。 GLSL 参数还响应来自 Csound 音频输出的幅度。 此链接是程序图像和声音协同合成的关键结合点。


该程序不是开放式的。 作者选择仅提供可能的 GLSL 和 Csound 处理器的选择,但该选择并不少。 目前包含 21 个着色器,每个着色器都将其独特的参数添加到所有着色器类型通用的集合中。 在音频方面,我们找到了七个信号生成器(包括声音文件播放器)和十四个处理器。 最多可以同时激活三个生成器和三个处理器,尽管 CPU 压力会在功率不足的机器上显现出来。
我已在 Vimeo 上的 Csound 组中在线放置了 一些 AVSynthesis 演示视频。 不幸的是,分辨率非常低,但希望我能在为 Vimeo 网站准备视频方面做得更好。 作为一些补偿,音频分辨率仍然很高。
AVSynthesis 不直接生成序列动画。 该程序创建一系列转换后的图像(TGA 格式),这些图像可以由 mencoder 或类似的实用程序连接起来以创建动画序列。 图像转换是根据程序视觉方面的参数设置进行的,即 GLSL 组件。
最近的扩展和改进包括使用 JOGL 软件来实现其 OpenGL 实现,扩展了一些视觉转换的参数,更多的声音生成器,通过 MIDI 控制器更改 A/V 参数,以及程序配置中更大的灵活性。 用户可以在 data/config.xml 文件中更精细地控制图像制作细节,并且现在可以在层中解耦图像和声音处理。
我想接触的内容
我是视频世界的新手,我正在边做边学。 在我研究这篇文章时,我遇到了一些其他应用程序,我很想投入时间,包括本节中介绍的程序。 唉,我无法给出比它们的功能的最轻微暗示更多的信息,但您始终可以自己进一步了解它们。 如果您尝试使用它们,请务必告诉我们您的效果如何。
Processing 是“...一种开源编程语言和环境,适用于想要编程图像、动画和交互的人们。” 该描述未能提及声音是完整 Processing 环境的一个组成部分,这要归功于 Krister Olsson 的 Ess 音频库。 Processing 似乎对 Csound 作曲家也具有特殊的吸引力:媒体艺术家 Josh Knowles 在他的 Algoriculturally 中将处理器生成的图形与 Csound 生成的乐谱融合在一起,作曲家 Jacob Joaquin 最近将他基于 Csound 的 Slipmat 与 Processing 结合在一起。
Side Effects Software 的 Houdini 是一款著名的 3D 动画软件包,用于制作主要电影发行版,包括哈利波特系列、所有三部蜘蛛侠电影和指环王三部曲。 它绝对是专业的软件,价格也很专业,但该公司发布公开测试版,并为像我这样的初学者提供 99 美元的 Apprentice 软件包。 声音设计不是它的领域,但 Mark Story 的 Houdini CHOP 扩展增加了从 Houdini 的动画数据创建 Csound 乐谱的功能。
Florian Schmidt 的 ScGraph 将 3D 图形服务器带到 SuperCollider 音频合成/处理环境,为集成音频/视频合成系统(类似于 Pd)开辟了道路。 希望我能找到时间充分使用它来撰写个人资料,同时您可以查看 ScGraph 描述页面 以获取更多信息。
我还必须提及 Lush,这是一个“...用于试验图形、视频和声音的简单环境”。 同样,时间与我作对,但该语言看起来足够吸引我再次使用它。 我只需要更多时间。
结尾
当我对该主题进行研究时,我发现了很多我想接触的应用程序。 现在,我配备了一个网络摄像头和软件,可以在弯曲、折叠、纺锤和破坏其图像的同时合成原创配乐。 我还在学习中,但我认为可以肯定地假设您可以期待另一篇类似的文章(或两篇)来介绍视频骑师和其他形式的实时 A/V 表演的软件。 在此之前,请继续关注并保持活力。