DSH Web 的对话轨道负责导航,当播放背景音乐时,这些轨道通常保持静止,缺乏动态感。Rail Music 插件通过采集运行 DSH 的主机上的系统音频并驱动轨道高度,解决了这个问题。它提供了一种将听觉节奏转化为视觉律动的机制,同时保持导航的可用性。
工作原理¶
插件运行在 DSH Web Profile 中。它利用 Python 的音频库采集系统混音输出(包括播放器、浏览器视频或本地文件的声音),通过频段分析生成数据,发送给 DSH 客户端进行渲染。
系统要求¶
使用前需满足以下条件:
- DSH 版本:0.2.0-rc.2 及以上。
- Python 环境:3.9 及以上,需安装
soundcard和numpy库。 - 音频驱动:
- Windows:WASAPI 共享模式 loopback。
- Linux:PulseAudio 或 PipeWire 的 sink monitor,需 libpulse 支持。
- macOS:CoreAudio 虚拟输入(如 BlackHole 2ch),需配置多输出路由。
安装¶
通过 DSH Agent 或命令行安装:
dsh plugin --profile web add github:YOU-SHOULD-KNOW-ME/dsh-rail-music
安装前请确认系统环境。Windows 用户可在 PowerShell 中检查:
python -m pip install soundcard numpy
python -c "import soundcard, numpy; print('Audio dependencies ready')"
如果 DSH 使用的 Python 与此不同,或未在 PATH 中,需在配置文件中指定路径:
~/.dsh/profiles/web/cordis.patch.yml
- id: dsh-rail-music
config:
pythonPath: 'C:\Python311\python.exe'
核心功能¶
- 音频采集与渲染:采集系统混音,支持 Windows WASAPI、Linux PulseAudio/PipeWire、macOS CoreAudio。
- 交互逻辑:鼠标悬停或键盘进入轨道时,恢复 DSH 原有的导航样式;离开后继续律动。
- 控制与快捷键:支持
Alt + M暂停或恢复律动;右上角电平按钮也可控制。 - 视觉风格:提供四种配色(经典、极光、暖焰、单色)、条宽调整、律动幅度调整及峰值保持功能。
使用方法¶
- 在 DSH 的 Plugins 页面启用
dsh-rail-music。 - 打开带有轮次导航轨道的对话页面。
- 播放音乐或视频。
- 点击右上角的
⋯进入设置面板,调整配色、条宽和幅度。
注意事项¶
- 独占输出:播放器使用 WASAPI 独占输出时,插件可能无法采集到声音,需切换至共享模式。
- 浏览器偏好:如果浏览器开启了“减少动态效果”,插件将暂停渲染。
- 音频路由:macOS 和 Linux 需预先配置好虚拟音频设备或监听源。