Lecture audio mpd incorrecte avec fifo activé

3

J'utilise Music Player Daemon ( mpd) avec ncmpcppOS X. ncmpcpppossède une fonction, le visualiseur de musique, qui dessine une onde / spectre en temps réel de la musique que vous lisez actuellement.

Pour utiliser ceci, vous devez activer la sortie fifo dans mpd.

Eh bien, cela fonctionne, mais tant que cela est sur le son, l’audio est terrible: il craque et parfois même gèle. C'est comme si mpdon saute un cadre.

Les mpdréglages pour le fifo sont:

audio_output {
  type   "fifo"
  name   "FIFO"
  path   "/tmp/mpd.fifo"
  format "44100:16:2"
}

Et ncmpcppa mis:

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"

Y at-il un mauvais paramètre à changer ou j'ai trouvé un bogue?

Rnhmjoj
la source
1
Je peux le confirmer, le son commence à bégayer si j'active la sortie FIFO. ncmpcpp n'est pas la cause du problème, cela se produit également avec mpdviz.
honteux
@shrx Êtes-vous aussi sur OS X?
Rnhmjoj
Oui, OS X 10.10.2, mpd 0.19.9 installé avec homebrew.
honteux
1
J'ai déposé un rapport de bogue .
Rnhmjoj

Réponses:

2

J'ai déposé un rapport de bogue sur le traqueur de bogue de mpd. Le problème est lié au plug-in de sortie audio OS X, qui n'est plus maintenu. Ainsi, le seul moyen de conserver à la fois la sortie audio normale et la FIFO est de diffuser en continu sur un autre lecteur.

Vous pouvez générer une sortie via http ou un autre fifo et diffuser l'audio sur vlc par exemple. Dans le cas de http, ajoutez à votre configuration:

audio_output {
  type "httpd"
  name "http stream"
  encoder "vorbis"
  port "8000"
  quality "2"
  format "44100:16:2"
}

puis définissez cet alias: alias cvlc='/Applications/VLC.app/Contents/MacOS/VLC --intf=rc'

et courir cvlc http://localhost:8000

Si vous souhaitez utiliser deux FIFO, dupliquez simplement les paramètres actuels et démarrez vlc avec:

cvlc --demux=rawaud --rawaud-channels 2 --rawaud-samplerate 44100 /tmp/mpd-vlc.fifo

Les inconvénients que j'ai remarqués sont que vous ne pourrez plus modifier le volume de sortie avec mpd et le décalage est relativement faible.

Rnhmjoj
la source
J'ai le même problème, mais pour une raison quelconque, le streaming http ne résout pas le problème - la musique continue de s'interrompre - qu'il diffuse en streaming via http ou utilise simplement CoreAudio et FIFO ... La seule façon dont cela fonctionne pour moi est d'ouvrir Visualizer . Si je modifie l'onglet avec la touche de tabulation, par exemple, il commence à s'interrompre jusqu'à ce que j'appuie sur 8 pour afficher le visualiseur en arrière ou que je désactive le visualiseur FIFO en ne laissant que CoreAudio (ou un flux http)… Bizarre…
Dessiné
@ Andrew, j'ai eu exactement le même problème: si vous fermez le visualiseur, le son commence à geler. Pour moi, utiliser la sortie http l'a résolu. Cependant, je suis complètement passé à Linux, donc je ne peux plus travailler là-dessus.
Rnhmjoj
1

Je remarque que vous avez visualizer_sync_interval = "0" dans votre configuration, ce qui est certainement le problème. Commencez par définir le paramètre sur "30", comme recommandé dans la documentation ncmpcpp. Si cela ne fonctionne pas, essayez plusieurs valeurs différentes pour ce paramètre.

Gajogacchati
la source
2
Je pense que le problème est avec mpd, le problème persiste même lorsque ncmpcpp n'est pas en cours d'exécution.
Rnhmjoj