新版 Wine:在 Wine 1.2 下运行 Windows 音乐和声音应用程序

作者:Dave Phillips

如今,Wine 可以很好地运行许多 Windows 程序,包括越来越多的专业音乐应用程序。Dave 介绍了其中一些在最新最棒的 Wine 1.2 下运行的应用程序。

7 月 16 日,Wine 开发团队宣布公开发布 Wine 1.2,即 “WINdows 模拟器”,又名 “Wine 不是模拟器”。我一直没有关注这个项目,所以我决定重新审视它,看看 Wine 的音频/MIDI 支持是如何发展的。过去的版本已经能够运行各种小型和中型声音应用程序,但最新最棒的版本能否满足至少一些流行的 Windows 音乐程序的需求?请继续阅读,了解在最新的 Wine 下,在 Linux 中运行 Windows 音乐应用程序的真相、全部真相以及绝对真相。

新版本的 Wine 在内容上有些可预测性。该软件实际上不是一个模拟器,而是一个兼容层,使 Windows 二进制文件可以在 Linux 下运行。本质上,该项目正处于与 Windows 版本永无止境的追逐场景中,我对 Wine 的完全兼容性目标深感敬佩。然而,开发人员的工作任重道远。任何尝试模拟一个严重封闭的操作系统都必然会由于源代码的不可访问性而包含一些不稳定性。Wine 开发人员的软件在各种 Windows 应用程序(包括音乐和声音应用程序)中表现出色,这真是功不可没。多年来,我一直关注着 Wine 扩展其音频/MIDI 支持,以跟上 Windows 和 Linux 的发展,这是一项相当棘手的成就。

本文的测试平台仅限于 Ubuntu 10.04,Lucid Lynx 版本,32 位版本。大多数基于 Windows 的音乐软件仍然是 32 位版本,VST/VSTi 插件尤其如此。这种情况最近正在迅速变化,但我更喜欢在原始平台上的典型条件下进行测试。音频硬件包括 M-Audio Delta 66 数字音频接口和 SoundBlaster Live! 声卡,由 ALSA 内核驱动程序(版本 1.0.20)和 JACK 音频服务器(版本 0.119.0,又名 Jack1)管理。

获取/安装/配置

Wine 可以从官方 Ubuntu 存储库获得,Synaptic 中的列表甚至标识了一个 1.2 软件包。事实上,该软件包与此处讨论的版本不是同一个版本,我也不知道为什么 Ubuntu 决定重新编号他们的软件包。无论如何,我是一位经验丰富的 Wine 构建者,所以我选择从 Wine HQ 站点下载源代码。我在我的 ~/src 目录中打开它,并从新的 wine-1.2 目录中运行了这个熟悉的调用

  ./tools/wineinstall

在构建过去的 Wine 版本时,我多次运行此命令,但从未收到过这样的错误消息

  dlphilp@The3800:~/src/wine-1.2$ ./tools/wineinstall 
  Wine Installer v1.0

  You are running wineinstall as root, this is not advisable. Please rerun as a user.
  Aborting.

哎哟。我肯定是以普通用户身份运行的,所以这个错误非常令人困惑。更糟糕的是,Google 无法帮助我找出错误发生的原因。在网上搜索修复程序后,我终于意识到我可以简单地运行提供的 configure 脚本并获得所需的结果。此命令序列在没有错误的情况下构建了程序

  ./configure --prefix=/usr
  make
  sudo make install

默认构建配置将查找并使用 ALSA、JACK、OSS、ESD 和其他声音组件,除非指示禁用它们。运行 ./configure --help 以查看可以为您的自定义 Wine 版本添加或删除哪些默认值。如上面的命令所示,我选择了默认配置,目标目录除外。事实上,Wine 的音频/MIDI 支持已经很好一段时间了,并且一直在变得更好。ALSA 和 JACK 已经集成到模拟器中一段时间了,因此最近的更改是渐进的。Wine 1.2 的重大新闻包括期待已久的 64 位构建支持,但也对 ALSA 和 PulseAudio 的支持代码进行了改进。有关完整的故事,请参阅 Wine HQ 上的最新 公告 页面。

安装后,我总是采取两个额外的步骤来优化 Wine 的音频/MIDI 性能。首先,我构建并安装 wineasio 驱动程序,以通过 JACK 音频服务器实现更低的延迟。接下来,我使用 winecfg 程序(图 1)配置 Wine 的音频/MIDI 首选项。如果您正在按照步骤自行设置 Wine,请确保激活 ALSA 和 JACK 的功能。Wine 尚不支持 Jack-MIDI,因此如果您想要 MIDI,则需要 ALSA 支持。

图 1. winecfg,Wine 配置实用程序。

顺便说一句,如果您曾经配置过 Windows 声音应用程序,您可能在音频设置对话框中遇到过方便的 显示 ASIO 面板 或类似的按钮。以前版本的 Wine 只是将该按钮留在了存根代码中,即您可以单击它,但没有任何反应。然而,现在该按钮默认调用 QJackCtl,我必须说这是一个非常酷且周到的设计。另外,顺便说一句,为 wineasio 驱动程序配置的程序将自动以其默认设置调用 JACK。现在无需想知道何时启动服务器,当您单击程序的图标或菜单项时,这一切都会透明地为您完成。我不知道这个功能来自 Wine 开发人员还是 Ubuntu 大师,但它是一项很棒的便利设施。

运行良好的应用程序

Wine 应用程序数据库 列出了用户在各种 Wine 版本下测试各种 Windows 程序的分级结果。该数据库包括一个“音频”类别过滤器,该过滤器返回一个包含三百多个已测试应用程序的列表。但是,该列表并不总是最新的,您可能会发现最新版本的 Wine 解决了以前存在问题的程序的问题。唉,您也可能会发现曾经运行良好的程序变得无法运行,尽管必须承认,随着 Wine 的发展,这种情况已经变得越来越少见。

选择本文中程序的目的是因为它们似乎代表了流行的 Windows 音乐和声音软件。我承认我对当代 Windows 音乐软件的世界感到陌生,所以我肯定会忽略其他有趣且重要的程序。出于必要,我排除了任何需要硬件身份验证或其他繁琐的版权保护的软件包。

由于时间和空间的限制,我将测试限制为基本配置以及一两个演示文件的希望成功的性能。我还测试了每个程序的音频/MIDI 输入和输出。我尽可能喜欢使用 wineasio 驱动程序,但我没有尝试实现低延迟。我更关心音频的连续性。

描述也必然是简短的。其中一些程序具有相当的深度,在某些情况下,我必须花费数周才能测试每个功能。唉,人生苦短,我在这里的意图再次只是表明这些程序是否可以开箱即用。考虑到这些注意事项,让我们继续我的迷你报告。

Ableton Live Intro

Ableton Live 是一款音频/MIDI 循环音序器,设计为现场表演的乐器。Live 也是一款出色的 DAW,用于实时作曲和编曲,这主要归功于其创新的用户界面和节拍匹配功能。

我测试了 Live 8.1.3 演示版(图 2)。安装过程顺利,配置简单,示例文件播放流畅。演示版允许您在 Live 和 Live Intro 程序之间进行选择。我是 Live 的新手,所以我选择了 Intro。我按照一些基本教程进行操作,并发现了一些 Live 如此流行的原因。该程序易于学习,操作起来非常有趣,但它显然是功能强大且具有音乐性的软件。

图 2. Ableton Live Intro。

我正在认真考虑购买 Intro 版本。演示版在 Wine 下运行良好,玩起来真的很有趣,而且 Linux 上没有完全相同的程序。哦,而且完整软件包对我来说太贵了。

Addictive Drums 1.5.1

我的一些学生为他们的录音创作了出色的鼓音轨,而 Addictive Drums 是他们完成这项工作的首选工具之一。该程序包括一个音频/MIDI 循环播放器,其中包含用于节拍转换和添加特殊效果的工具。鼓组中的每种乐器都可以进行编辑,以精细控制您的声音,并且可以将新的鼓组加载到程序中以扩展其资源。

图 3. 在 Festige 下运行的 Addictive Drums VSTi。

演示版安装顺利,并且在从 VST/VSTi 插件的 Festige 主机运行时表现良好(图 3)。Festige 是一个 Python 脚本,它提供了一个 QT4 GUI 用于启动一些 VST/VSTi 插件。该程序采用 Vestige 标头来提供与 VST 插件 API 的兼容性,并调用 Wine 来完成繁重的工作。

由于各种原因,某些 VST/VSTi 插件在 Linux 下无法在任何特殊条件或机制下工作。Addictive Drums 不是那些坏孩子之一。在测试了一段时间的功能后,我开始认为我正在使用一个原生的 Linux 应用程序。如果该程序在 Linux 下运行得如此出色,那么在 Windows 中使用它也一定是一种乐趣。我对程序员们在这款设计精良的强大软件上的工作表示赞赏。

Finale NotePad

啊,是的,Finale(图 4)。该程序必须是 Windows 上最著名的乐谱软件,所以当我读到可以在 Wine 下运行它的可能性时,我不得不亲自尝试一下。Finale 是一个大型软件包,所以我选择测试 Finale NotePad 2011,这是一个从大型软件包缩小而来的轻量级且廉价的入门级版本。下载需要注册——我已经开始鄙视以“您必须注册才能下载此软件”开头的通知——但 Finale 通过 30 天的试用期来平衡这种恼人的情况,所有功能都已激活,包括加载/保存操作。

图 4. Finale NotePd 2011。

演示版运行良好。我使用鼠标在“绘图”模式下以及使用外部 MIDI 键盘输入音符。我选择了程序的默认 SmartSynth 软件合成器进行乐谱播放。它在我的小例子中运行良好,并且我始终可以选择连接到其他 ALSA 客户端,例如 LinuxSampler 或 QSynth。我还成功测试了 NotePad 的 MIDI 文件转换及其 MusicXML 导入/导出功能。

理应如此,如果演示版运行良好,那么完整软件包也应该运行良好。我想听听任何在 Finale/Wine 组合方面取得成功的读者,如果您有这样的故事,请留言。

SPEAR

Michael Klingbeil 的 SPEAR(图 5)是一个专门为音频分析设计的程序。它是 Common Music/GRACE 算法作曲环境的有用助手:它的分析文件可以被该系统的频谱函数读取,如果您以 Gerard GriseyClarence Barlow 的方式作曲,这将是一个非常有用的便利设施。我喜欢使用频谱作曲方法,我很高兴得知我可以通过在 Wine 下运行 SPEAR 来生成我的分析文件。该程序对系统没有特别高的要求——它不是一个实时应用程序——并且它按预期工作。报告结束。

图 5. SPEAR 分析 WAV 文件。

运行不太好的应用程序

我尝试了 Sibelius 6 的演示版,这是另一个大型乐谱软件包。安装过程顺利,但是当我尝试运行该程序时,它在初始化期间崩溃了。更糟糕的是,我不得不手动处理尸体,通过使用 htop 查找并删除其残余物。唉,这就是模拟边缘的生活。然而,快速搜索“Sibelius and Wine”后发现,一些用户在各种版本的程序中取得了不同程度的成功。

我下载了 Acid Pro 的演示版,并注册了免费下载 Sony 的 Acid Xpress。Acid Pro 由于缺少 Microsoft C++ 组件而安装失败。Xpress 也失败了,因为安装程序没有安装运行该程序所需的 DLL。显然,如果我从现有的 Acid 安装中复制 DLL,我会更幸运,但我没有。Grrr...

据报道,Celemony 的 Melodyne 可以在 Wine 下工作。遗憾的是,3.2.1.5 版本的演示版对我来说无法运行。安装过程顺利,但程序无法初始化。

图 6. FL Studio 9。

我期待在最新的 Wine 下测试 FL Studio(图 6)。唉,我的体验好坏参半。该程序安装没有问题,我能够运行一些演示和教程文件,但音频性能因 xrun(JACK 术语,表示缓冲区溢出/欠载)过多而受到影响,即使在这些报告中使用的高延迟下也是如此。尽管如此,我在 FL Studio 中玩得很开心,我必须承认它是一个非常酷的程序。我再次向读者询问他们可能拥有的关于 FL Studio 和 Wine 结合的任何成功案例。

完全无法运行的应用程序

还有一类音频应用程序可能永远无法在模拟器下工作。版权保护是 Cubase 和其他依赖于 加密狗 或类似硬件密钥的应用程序的罪魁祸首,这些密钥必须连接到主机才能验证程序的合法性。一些公司对自由软件表现出公然的敌意,并确保他们的产品只能在某些平台上运行,并且只能在某些条件下运行,例如硬件密钥的存在。自由软件的倡导者可能会觉得这种做法令人憎恶,但在其他世界中,这很正常。

结尾

结论是,Wine 1.2 是一个赢家。但是它能否运行那些深受基于 Windows 的音乐家和录音师喜爱的程序呢?正如本文所示,答案是“有条件的肯定”。我早就知道 Reaper 与 Wine 的兼容性,但模拟器能够运行 Ableton Live 演示版完全出乎意料。唉,许多最流行的程序在模拟下仍然是静音的,尽管也许未来的 Wine 版本会容纳它们。

Ubuntu 的设计师已将 Wine 很好地集成到他们对完整 Linux 发行版的愿景中。用户选择并启动 Windows 应用程序的方式与他或她选择并启动普通 Linux 应用程序的方式相同,即单击桌面图标或以通常方式选择菜单项。如果需要 wineasio,系统将自动启动和停止其 JACK 依赖项。就是这样,该过程是完全透明的,并且不需要 Wine 的任何特定知识。

那么我被说服切换了吗?不,并没有。我喜欢将 VST/VSTi 插件与 Festige 一起使用,并且我可能会花更多时间在 Ableton Live 和 Addictive Drums 上。我可以用可用的原生 Linux 音频做我想做的事情,但我总是在寻找有趣的音乐软件,无论平台如何。但是,我非常怀疑我会再次将 Windows 作为主要系统运行,所以我将继续关注 Wine 的发展轨迹。

问题仍然是,运行正常的软件是否可以在生产环境中使用。同样,答案是有条件的。在实时操作期间无法保证稳定性,并且可能会出现导致性能下降的计时问题。此事涉及在封闭源代码操作系统的模拟下运行的封闭源代码应用程序,因此我不希望性能统计数据与在原始环境中运行的软件生成的性能统计数据相同。就我个人而言,我对其中任何一个程序都能运行感到惊讶——我认为这证明了 Wine 开发团队的魔力——并且我很高兴其中一些程序确实运行得非常好。但是,当涉及到在模拟环境中运行音频应用程序时,YMMV(您的里程可能会有所不同)的警告是最恰当的。

顺便说一句,我特意避免评论我已经在本专栏中介绍过的程序,包括出色的 Reaper DAW、用于管理 Behringer BCx 和 FCB 控制器的 Mountain Utilities 软件,以及各种独立的软件合成器和 VST/VSTi 插件。

我想听听其他在模拟或虚拟化环境中使用 Windows 音乐和声音软件的用户的意见。正如我所说,Wine Apps DB 已经过时了。Google 搜索会找到程序 X 在 Wine N.n.n 下运行的 informative success stories,但如果有一个专门用于评估 Windows 音频/MIDI 程序在 Wine、Crossover、Virtualbox 和其他类似环境下的性能的网站,那就太好了。

加载 Disqus 评论