Project Icon

yabridge

Linux系统运行Windows音频插件的开源桥接工具

yabridge是一个开源的音频插件桥接工具,允许在Linux系统上运行Windows VST2、VST3和CLAP插件。它支持32位和64位插件,采用并发架构实现高效运行和良好兼容性。yabridge提供插件分组功能,可实现VST2插件间通信并优化启动速度。其设计简洁透明,便于调试和维护。

yabridge

Automated builds Discord

Yet Another way to use Windows audio plugins on Linux. Yabridge seamlessly supports using both 32-bit and 64-bit Windows VST2, VST3, and CLAP plugins in 64-bit Linux plugin hosts as if they were native plugins, with optional support for plugin groups to enable inter-plugin communication for VST2 plugins and quick startup times. Its modern concurrent architecture and focus on transparency allows yabridge to be both fast and highly compatible, while also staying easy to debug and maintain.

yabridge screenshot

Table of contents

Tested with

Yabridge has been tested under the following hosts using Wine Staging 9.8. Wine 9.5-9.7 will not work with yabridge because of a Wine bug, either upgrade to Wine 9.8 or downgrade to Wine 9.4.

HostVST2VST3CLAP
Bitwig Studio 5.1.7:heavy_check_mark::heavy_check_mark::heavy_check_mark:
REAPER 7.12:heavy_check_mark::heavy_check_mark::heavy_check_mark:
Carla 2.5.5:heavy_check_mark::heavy_check_mark:Does not support CLAP
Qtractor 0.9.29:heavy_check_mark::warning: VST3 editor windows may not have the correct size:warning: Qtractor may not support every CLAP plugin
Renoise 3.4.3:heavy_check_mark::heavy_check_mark:Does not support CLAP
Waveform 12.1.3:heavy_check_mark::heavy_check_mark:Does not support CLAP
Ardour 8.1:heavy_check_mark::warning: Some plugins may cause Ardour 7.3-8.1 to freezeDoes not support CLAP
Mixbus 7.0.140:heavy_check_mark::heavy_check_mark:Does not support CLAP

Please let me know if there are any issues with other hosts.

*Bitwig Studio's Flatpak version will not work with yabridge. You'll need to use the .deb found on the release notes page instead.

Usage

  1. First of all, yabridge requires a recent-ish version of Wine (Staging). Users of Debian, Ubuntu, Linux Mint and Pop!_OS should install Wine Staging from the WineHQ repositories as the Wine versions provided by those distro's repositories may be too old to be used with yabridge. On other distros you should be able to just install wine-staging using your distro's package manager.

    For a general overview on how to use Wine to install Windows applications, check out Wine's user guide.

  2. Depending on your distro you can install yabridge and its yabridgectl companion utility through your distro's package manager or by using a binary archive from the GitHub releases page. Keep in mind that the distro packages mentioned below may not always be up to date, and some may also not be compiled with support for 32-bit plugins.

    • On Arch and Manjaro, yabridge and yabridgectl can be installed from the official repositories using the yabridge and yabridgectl packages.

    • On Fedora, you can install yabridge and yabridgectl from a COPR.

    • On the OpenSUSE distros, yabridge and yabridgectl are packaged by GeekosDAW.

    • On NixOS, yabridge and yabridgectl are in the repositories.

    • On Ubuntu, Debian, Linux Mint, Pop!_OS, and any other distro, you can simply download and install a prebuilt version of yabridge:

      1. First download the latest version of yabridge from the releases page. These binaries currently target Ubuntu 20.04, and should work on any other distro that's newer than that.

      2. Extract the contents of the downloaded archive to ~/.local/share, such that the file ~/.local/share/yabridge/yabridgectl exists after extracting. You can extract an archive here from the command line with tar -C ~/.local/share -xavf yabridge-x.y.z.tar.gz. If you're extracting the archive using a GUI file manager or archive tool, then make sure that hidden files and directories are visible by pressing Ctrl+H. You should also double check that your archive extraction tool didn't create an additional subdirectory in ~/.local/share. Dragging and dropping the yabridge directory from the archive directly to ~/.local/share is the best way to make sure this doesn't happen.

      3. Whenever any step after this mentions running yabridgectl <something>, then you should run ~/.local/share/yabridge/yabridgectl <something> instead.

        Alternatively, you can also add that directory to your shell's search path. That way you can run yabridgectl directly. If you don't know what that means, then add export PATH="$PATH:$HOME/.local/share/yabridge" to the end of ~/.bashrc and reopen your terminal.

  3. Setting up and updating yabridge for your plugins is done though the yabridgectl command line utility. The basic idea is that you first install your Windows plugins to their default locations within a Wine prefix just like you would on regular Windows. and yabridgectl then manages those plugin directories for you. You then tell yabridgectl where it can find those plugins so it can manage them for you. That way you only ever need to run a single command whenever you install or remove a plugin. Both yabridge and yabridgectl will automatically detect your yabridge installation if you used one of the installation methods from step 1.

    To tell yabridgectl where it can find your Windows VST2, VST3, and CLAP plugins, you can use yabridgectl's add, rm and list commands to add, remove, and list the plugin directories yabridgectl is managing for you. You can also use yabridgectl status to get an overview of the current settings and the installation status for all of your plugins.

    1. To add the most common VST2 plugin directory in the default Wine prefix, use yabridgectl add "$HOME/.wine/drive_c/Program Files/Steinberg/VstPlugins". This directory may be capitalized as VSTPlugins on your system, and some plugins may also install themselves to a similar directory directly inside of Program Files.
    2. VST3 plugins under Windows are always installed to C:\Program Files\Common Files\VST3, and you can use yabridgectl add "$HOME/.wine/drive_c/Program Files/Common Files/VST3" to add that directory to yabridge.
    3. CLAP plugins under Windows are always installed to C:\Program Files\Common Files\CLAP, and you can use yabridgectl add "$HOME/.wine/drive_c/Program Files/Common Files/CLAP" to add that directory to yabridge.
  4. Finally, you'll need to run yabridgectl sync to finish setting up yabridge for all of your plugins. After doing so, your VST2, VST3, and CLAP plugins will be set up in ~/.vst/yabridge, ~/.vst3/yabridge, and ~/.clap/yabridge respectively. Make sure your DAW searches ~/.vst, ~/.vst3, and ~/.clap for VST2, VST3, and CLAP plugins and you will be good to go.

Bitbridge

Yabridge can also load 32-bit Windows plugins so you can use them in your 64-bit Linux DAW. Yabridge will automatically detect whether a plugin is 32-bit or 64-bit on startup and it will handle it accordingly. If you've installed yabridge through a distro package, then it may be possible that your distro has disabled this feature.

Wine prefixes

It is also possible to use yabridge with multiple Wine prefixes at the same time. Yabridge will automatically detect and use the Wine prefix the Windows plugin's .dll, .vst3, or .clap file is located in. Alternatively, you can set the WINEPREFIX environment variable to override the Wine prefix for all yabridge plugins.

Drag-and-drop

Yabridge supports drag-and-drop both from a native (X11) Linux application to plugins running under yabridge, as well as from yabridge plugins to native X11 applications like your DAW or your file browser. When dragging things from a plugin to your DAW, then depending on which DAW you're using it may look like the drop is going to fail while you're still holding down the left mouse button. That's expected, since yabridge's and Wine's own drag-and-drop systems are active at the same time. If you're using yabridge in REAPER or Carla, then you may need to enable a compatibility option to prevent those hosts from stealing the drop.

Input focus grabbing

Yabridge tries to be clever about the way grabbing and releasing input focus for a plugin works. One important detail here is that when grabbing input focus, yabridge will always focus the parent window passed by the host for the plugin to embed itself into. This means that hosts like Bitwig Studio can still process common key bindings like Space for play/pause even while you are interacting with a plugin's GUI. The downside of this approach is that this also means that in those hosts you simply cannot type a space character, as the key will always go to the host.

For the very specific situations where you may want to focus the plugin's editor directly so that all keyboard input goes to Wine, you can hold down the Shift key while entering the plugin's GUI with your mouse. This will let you type spaces in text fields in Bitwig Studio, type text into the settings and license dialogs in Voxengo plugins, and it will also allow you to navigate dropdowns with the keyboard.

Downgrading Wine

If you run into software or a plugin that does not work correctly with the current version of Wine Staging, then you may want to try downgrading to an earlier version of Wine. This can be done as follows:

  • On Debian, Ubuntu, Linux Mint and other apt-based distros, you can use the command below to install Wine Staging 7.20 after you add the WineHQ repositories linked above. This command is a bit cryptic because on these distros the Wine package is split up into multiple smaller packages, and the package versions include the distros codename (e.g. focal, or buster) as well as some numeric suffix. Change the version to whatever version of Wine you want to install, and then run these commands under Bash:

    version=7.20
    variant=staging
    codename=$(shopt -s nullglob; awk '/^deb https:\/\/dl\.winehq\.org/ { print $3; exit 0 } END { exit 1 }' /etc/apt/sources.list /etc/apt/sources.list.d/*.list || awk '/^Suites:/ { print $2; exit }' /etc/apt/sources.list /etc/apt/sources.list.d/wine*.sources)
    suffix=$(dpkg --compare-versions "$version" ge 6.1 && ((dpkg --compare-versions "$version" eq 6.17 && echo "-2") || echo "-1"))
    sudo apt install --install-recommends {"winehq-$variant","wine-$variant","wine-$variant-amd64","wine-$variant-i386"}="$version~$codename$suffix"
    

    If you want to prevent these packages from being updated automatically, then you can do so with:

    sudo apt-mark hold winehq-staging
    

    Running the same command with unhold instead of hold will enable updates again.

  • On Arch and Manjaro, you can install the downgrade tool from the repos or the AUR, then run:

    sudo env DOWNGRADE_FROM_ALA=1 downgrade wine-staging
    

    Then select the package for the wine-staging version you want to isntall from the list. After installing downgrade will ask if you want to add the package to IgnorePkg. If you select yes, the package will be added to the IgnorePkg field in /etc/pacman.conf and it won't be updated again automatically.

Installing a development build

If you want to try to a development version of yabridge, then you can do so as follows:

  • On Arch and Manjaro, you can install the latest master branch version of yabridge by installing the yabridge-git and yabridgectl-git AUR packages.
  • Otherwise, you can find development builds on the automated build page. Before you can download these files, you need log in to GitHub. Then simply select the latest commit with a green checkmark next to it, scroll down the build page, and download the latest yabridge and yabridgectl binaries that match your system. You can also access the very latest build from this page without logging in to GitHub. You'll need to extract these files twice, since GitHub automatically puts the tarball inside of a .zip archive. Then simply overwrite the existing files in ~/.local/share/yabridge with the ones from the yabridge directory, and replace ~/.local/share/yabridge/yabridgectl with the new yabridgectl/yabridgectl binary. It's also possible to use
项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号