ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

柔性ASIO桥接:让普通声卡接入低延迟音频通路

柔性ASIO桥接:让普通声卡接入低延迟音频通路 柔性ASIO桥接让普通声卡接入低延迟音频通路【免费下载链接】FlexASIOA flexible universal ASIO driver that uses the PortAudio sound I/O library. Supports WASAPI (shared and exclusive), KS, DirectSound and MME.项目地址: https://gitcode.com/gh_mirrors/fl/FlexASIO录音工程师用普通USB声卡做监听时卡在80ms以上的延迟上声卡厂商没有随卡提供ASIO驱动专业音频软件依赖的低延迟音频接口规范。FlexASIO 是一款通用ASIO驱动把任意 Windows 音频设备桥接到支持ASIO的软件中让普通声卡进入低延迟音频工作流。 桥接架构FlexASIO 扮演适配器的角色宿主软件对ASIO接口的调用由它转发给 PortAudio 库跨平台音频输入输出库再由 PortAudio 把音频流导向 Windows 系统提供的 WASAPIWindows 音频会话API、DirectSound、Kernel Streaming 等音频子系统。它绕开声卡厂商的专属驱动让系统音频列表里出现的任何设备都能被ASIO软件使用。与其他通用驱动相比有两点值得注意一是后端路径可选从经过 Windows 音频引擎的共享通路到绕过引擎的独占通路都可以配置二是共享模式下 FlexASIO 允许与其他程序共用同一设备多数同类驱动只提供独占模式。 低延迟音频首次运行路径安装后FlexASIO 会出现在任何支持ASIO的应用如 Cubase、Sound Forge的驱动列表中。从源码构建只需要一步git clone https://gitcode.com/gh_mirrors/fl/FlexASIO cd FlexASIO cmake -B build cmake --build build --config Release不构建也可以使用项目 releases 页面提供的预编译安装器。安装后在 Windows 用户目录如C:\Users\你的用户名\下创建FlexASIO.toml项目推荐的低延迟起点配置如下backend Windows WASAPI bufferSizeSamples 480 [input] device suggestedLatencySeconds 0.0 [output] device Speakers (Realtek High Definition Audio) wasapiExclusiveMode true配置修改后驱动会自动检测并要求宿主软件复位多数场景无需重启。设备名称不确定时运行安装目录内的PortAudioDevices.exe可以列出精确名称配置中的device必须与输出逐字一致。 WASAPI独占模式延迟数据默认配置DirectSound 后端、20ms 缓冲为可靠性而设计其报告的延迟会低估实际值。不同后端与模式的组合差异如下配置ASIO缓冲典型端到端延迟默认 DirectSound20 ms30-50 ms且上报值偏低WASAPI 共享 480 样本10 ms约 20 ms含音频引擎内部约 10 ms 缓冲WASAPI 独占 480 样本10 ms个位数到低两位数毫秒WDM-KS 480 样本10 ms与 WASAPI 独占相当对使用者而言从默认状态切换到 WASAPI 独占监听延迟可从数十毫秒压到个位数毫秒代价是设备被独占占用且缓冲参数需要按设备微调。⚙️ ASIO驱动配置三核心项backend作用决定走哪条 Windows 音频API通路直接决定延迟下限与可靠性推荐区间低延迟场景取 Windows WASAPI兼容性回退取 Windows DirectSoundwasapiExclusiveMode作用true时绕过 Windows 音频引擎直达硬件false时走共享通路可与其他程序共用设备推荐区间监听、录音用true需要与其他软件共用设备的播放场景用falsesuggestedLatencySeconds作用提示 PortAudio 在 ASIO 缓冲之外追加多少缓冲时间与缓冲大小强相关同时影响稳定性与延迟推荐区间低延迟从 0.0 起步出现爆音再逐步上调默认值为缓冲长度的 3 倍适用边界与限制平台限制仅支持 Windows Vista 及以上macOS、Linux 无对应驱动宿主软件需选择匹配的 32/64 位架构。独占占用WASAPI 独占与 WDM-KS 后端会独占设备FlexASIO 运行期间其他程序无法使用同一设备。全双工约束输入输出若来自两块不同声卡两个设备的时钟漂移会导致爆音项目不做基于重采样的漂移补偿。延迟上报上报值不含硬件自身如蓝牙协议栈部分共享通路的 Windows 音频引擎内部缓冲实测约 10 ms共享后端无法低于该值。配置体验无官方图形界面只有 TOML 配置文件Windows 可能把文件静默改名为FlexASIO.toml.txt导致配置不生效。两类用法对照低延迟监听需求是输入到输出回环时间最短单向工作即可。 关键差异backend Windows WASAPI、wasapiExclusiveMode true、suggestedLatencySeconds 0.0缓冲 256-480 样本不用的一侧设device 。与其他软件共存播放需求是 FlexASIO 不抢占设备OBS、浏览器等程序可同时出声。 关键差异保持wasapiExclusiveMode false或直接使用默认 DirectSound 后端缓冲提高到 1920-3840 样本suggestedLatencySeconds留空使用默认值。核心源码指路src/flexasio/FlexASIO/flexasio.cppASIO驱动核心实现src/flexasio/FlexASIO/portaudio.cppPortAudio桥接层src/flexasio/FlexASIO/config.cppTOML配置解析src/flexasio/PortAudioDevices/list.cpp设备列表工具源码src/flexasio/FlexASIOTest/main.cpp自检测试程序源码项目定位作为通用ASIO驱动FlexASIO 的价值不在于改造声卡硬件而在于把任意 Windows 音频设备变成ASIO软件可访问的入口实际延迟取决于后端与缓冲大小的组合。【免费下载链接】FlexASIOA flexible universal ASIO driver that uses the PortAudio sound I/O library. Supports WASAPI (shared and exclusive), KS, DirectSound and MME.项目地址: https://gitcode.com/gh_mirrors/fl/FlexASIO创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表