我正在使用音乐播放器守护程序(mpd
) 和ncmpcpp
在 OS X 上,ncmpcpp
有一项功能,即音乐可视化器,可以绘制您当前正在播放的音乐的实时波形/频谱。
为了使用此功能,您必须启用 fifo 输出mpd
。
嗯,它能正常工作,但打开它时音频效果非常糟糕:声音嘶哑,有时甚至会卡住。就像是mpd
跳过了某些帧。
mpd
fifo 的设置如下:
audio_output {
type "fifo"
name "FIFO"
path "/tmp/mpd.fifo"
format "44100:16:2"
}
并ncmpcpp
设定:
visualizer_in_stereo = "yes"
visualizer_fifo_path = "/tmp/mpd.fifo"
visualizer_output_name = "fifo"
visualizer_sync_interval = "0"
visualizer_look = "||"
visualizer_color = "blue"
visualizer_type = "spectrum"
是否存在需要更改的错误设置或者我发现了一个错误?
答案1
我提交了一个错误报告在 mpd 错误跟踪器上。该问题与 OS X 音频输出插件有关,该插件已无人维护。因此,保留常规音频输出和 FIFO 的唯一方法是流式传输到其他播放器。
例如,您可以通过 http 或其他 fifo 输出并将音频流式传输到 vlc。对于 http,请将其添加到您的配置中:
audio_output {
type "httpd"
name "http stream"
encoder "vorbis"
port "8000"
quality "2"
format "44100:16:2"
}
然后设置这个别名:alias cvlc='/Applications/VLC.app/Contents/MacOS/VLC --intf=rc'
然后运行cvlc http://localhost:8000
如果您想使用两个 FIFO,只需复制当前设置并使用以下命令启动 vlc:
cvlc --demux=rawaud --rawaud-channels 2 --rawaud-samplerate 44100 /tmp/mpd-vlc.fifo
我注意到的缺点是您将无法再使用 mpd 更改输出音量,并且滞后相对较小。
答案2
我注意到您的配置中有 visualizer_sync_interval = “0”,这几乎肯定是问题所在。首先尝试将其设置为“30”,如 ncmpcpp 文档中所建议的那样——如果这不起作用,请尝试该参数的几个不同值。