musicpd skips when I enable a fifo

cat /usr/local/etc/musicpd.conf|sed "/^#/d;/^ *$/d;"

cat .config/ncmpcpp/config

No names, no buffers, no intervals. Try to remove unnecessary lines.

I'm still trying to find a solution to this.

fdnull's answer did not stop the skipping.

Has anyone found a viable solution to the problem? I'm wondering if changing from unix socket to TCP/IP will make any difference?
 
Just incase anyone is still having a problem with this, try commenting out "visualizer_sync_interval" in your ncmpcpp config. I had little micro dropouts (skips) until I did this.
 
I am having similar issues: When attaching with ncmpcpp and showing the visualization (key 8), music skips. Setting visualizer_sync_interval had no impact for me. I tried:
  • renice ncmpcpp and mpd
  • ktrace and running mpd with verbose flag (nothing spurious in the output):
    • Code:
      sudo ktrace musicpd --no-daemon --stderr --verbose /usr/local/etc/musicpd.conf
  • setting visualizer_sync_interval to 0, 20, 30, 60, 120 (seems to have no/little effect)
  • Everything works as expected when not viewing "Music visualizer" tab.

Are there other visualizers one can try? I am not sure if its an mpd or ncmpcpp issue.

Here is my ncmpcpp config:
Code:
x230:~ % grep -v "^#" ~/.ncmpcpp/config                                                                                             
ncmpcpp_directory = ~/.ncmpcpp
audio_output {
       type            "fifo"
       name            "Visualizer feed"
       path            "/tmp/mpd.fifo"
      format          "44100:16:2"
}
visualizer_fifo_path = /tmp/mpd.fifo
visualizer_in_stereo = yes
visualizer_sync_interval = 20
visualizer_type = wave

My musicpd.conf:

Code:
x230:~ % grep -v "^#" /usr/local/etc/musicpd.conf | grep -v '^$'
music_directory         "/usr/home/mpd/music"
playlist_directory              "/usr/home/mpd/playlists"
db_file                 "/usr/home/mpd/database"
log_file                        "/usr/home/mpd/log"
pid_file                        "/usr/home/mpd/pid"
state_file                      "/usr/home/mpd/state"
sticker_file                    "/usr/home/mpd/sticker.sql"
user                            "mpd"
bind_to_address         "/usr/home/mpd/socket"
input {
        plugin "curl"
}
audio_output {
        type "fifo"
        name "My FIFO"
        path "/tmp/mpd.fifo"
        format "44100:16:2"
}
audio_output {
        type            "oss"
        name            "My OSS Device"
}
audio_output {
        type            "httpd"
        name            "My HTTP Stream"
        encoder         "flac"          # optional, vorbis or lame
        port            "8000"
        bind_to_address "0.0.0.0"               # optional, IPv4 or IPv6
        bitrate         "128"                   # do not define if quality is defined
        format          "44100:16:1"
        max_clients     "0"                     # optional 0=no limit
}
 
I just tried again and I am getting skipping in spite of the change to the visualizer sync setting so disregard my post above. The problem is definitely with ncmpcpp and FIFO. Fifo is the culprit. When I cat /tmp/mpd.fifo > /dev/null then everything sounds find but my visualizer slows down to a slideshow. Disabling it outright fixes it too. Not sure what to do with ncmpcpp to get it to work.
 
Just an update to this, I noticed on FreeBSD current this works without issues. Not sure what patch could have fixed it? I still skips on 12.2.
 
Back
Top