爱意满满的作品展示区。
GeruzoniAnsasu
1.23D
0.96D

又写了一个让 fb2k(foobar2000)支持空间音频的 component

  •  
  •   GeruzoniAnsasu ·
    pnck · 1h 42m ago · 156 views

    没错又是我全 v 站唯一一个 fb2k 插件开发者

    M Series 的 macOS 配合 airpods 有个很酷空间音频特性,在你选择 head tracking 的空间音频模式时,声音会渲染成好似从你头部前方某个空间中固定的位置发出的,无论你怎么转动头部或者站起来小幅度走动,这个相对位置锁定都保持不变,听起来就像你物理空间的前方固定位置真有一个声源。

    但这个特性是 AVFoundation 框架中的虚拟音频节点实现的,而 fb2k 使用的是更底层的 coreaudio,因此在它播放时,无法启用这个空间音频特性。所以我又 vibe 了一个插件,用 AVF 框架来输出,这样就能通过 fb2k 播放音乐同时启用空间音频了。

    (截图右上角:正在播放的 icon )


    但是 airpods 的音质也没 那么 好,我使用的是其它的耳机怎么办?

    —— 所以我又做了一套完整的虚拟 5.1 渲染引擎。这个模式使用成熟的经典 STFT upmix 配合 AVF 的 HRTFHQ 渲染器,把分离到不同声道的声音渲染到 6 个虚拟空间中的环绕喇叭,你可以自由调整这些喇叭的摆放来微调自己喜欢的声场。

    (预留了控制层的结构,理论上来讲可以做一个脚本引擎让这些虚拟喇叭围着自己转,但有点太癫了所以 暂时 没做)

    • 我其实想以后能配合外挂的空间定位设备做成任意耳机头部追踪的,但我还没想好那个「空间定位设备」是什么形态。

    这个项目几乎完全由 Opus 完成,所以包含 DSP 在内的复杂的算法都完全开源,我把踩过的坑都留存在了 memo 文档里,方便以后移植或开发同类项目时参考。(如果你做的播放器也想移植类似的空间音频效果,让我来混个 contribution 也是可以的

    2 replies    2026-06-29 09:15:41 +08:00
    wensonsmith
        1
    wensonsmith  
       33 mins ago
    这个可以呀,请教下你的 fb2k 的插件配置是怎么样的,学习一下
    GeruzoniAnsasu
        2
    GeruzoniAnsasu  
    OP
       9 mins ago
    @wensonsmith 是指我使用了哪些插件?……我只用功能性插件,音乐播放器都万年后台所以也没什么界面和歌词的需求,自带的 refacets 已经能很好地支撑最难的「找歌」环节了,自带的 metadata 功能也都够用。所以也就装了另一个我自己写的网易云格式的 decoder 而已。

    很古早的时候 fb2k 有很多插件是做解码的,还有一批 dsp ,现在这部分都收编进本体了,因此剩下的社区活跃度基本都围绕着 ui 插件和怎么用 js/webview 写 ui 上 —— 但我不太感兴趣所以没关注过。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5524 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 01:25 · PVG 09:25 · LAX 18:25 · JFK 21:25
    ♥ Do have faith in what you're doing.