Aller au contenu

[Mpd] Installation De Music Player Daemon Sur Un Ds207+

Featured Replies

Posté(e)

Bonjour à tous,

Jusqu'à maintenant j'utilisais le service AudioStation couplé à une carte son usb (Behringer UCA202) pour lire mes fichiers Flac sur mon ampli.

Cela fonctionne plutôt bien mais d'après ce que j'ai lu la qualité n'est pas optimale pour lire directement sur la carte son (je n'ai pas besoin de la fonction streaming) et la lecture des Flac avec AudioStation est assez gourmande en ressources sur le syno.

Je voulais donc essayer avec le service MPD pour voir...

Sauf que je n'arrive pas à faire reconnaître la carte son usb par MPD, qui pourtant doit bien être reconnue par le système vu qu'elle fonctionne correctement avec AudioStation.

Voici ce que j'ai fais jusqu'à maintenant :

- Installation avec MPD avec : ipkg install mpd

- Création des différents répertoires pour les logs, la database, etc...

- Création du fichier de conf mpd.conf avec comme configuration audio :


audio_output {

type "oss"

name "UCA202"

device "/dev/dsp"

auto_resample   "no"

mixer_type	  "disabled"

}

Je lance MPD avec : mpd -v /etc/mpd.conf :

config: loading file /etc/mpd.conf

listen: binding to any address

listen: binding to socket address [::]:6600

listen: binding to socket address 0.0.0.0:6600

path: path_set_fs_charset: fs charset is: UTF-8

database: reading DB

daemon: opening pid file

daemon: daemonized!

daemon: writing pid file

Et quand je lance le client ncmpc et que je veux jouer une chanson, l'état passe tout de suite en "paused" et voici ce que j'obtiens dans le log :

Dec 16 14:46 : output: Failed to open "UCA202" [oss]: Error opening OSS device "/dev/dsp": No such device or address

Pourtant, je lance pour l'instant le démon MPD en root. J'ai essayé avec différents devices (/dev/dsp4 par exemple) mais j'ai toujours le même résultât. Une idée du problème ? Voici le log complet :

Dec 16 14:38 : avahi: Initializing interface

Dec 16 14:38 : avahi: Failed to create client: Daemon not running

Dec 16 14:38 : avahi: Shutting down interface

Dec 16 14:38 : state_file: Saving state file

Dec 16 14:40 : avahi: Shutting down interface

Dec 16 14:40 : listen: listen_global_finish called

Dec 16 14:40 : db_finish took 0.000000 seconds

Dec 16 14:45 : avahi: Initializing interface

Dec 16 14:45 : avahi: Failed to create client: Daemon not running

Dec 16 14:45 : avahi: Shutting down interface

Dec 16 14:45 : state_file: Saving state file

Dec 16 14:45 : client: [0] opened from 127.0.0.1:2348

Dec 16 14:45 : client: [0] process command "status"

Dec 16 14:45 : Unable to open oss mixer "/dev/mixer"

Dec 16 14:45 : client: [0] command returned 0

Dec 16 14:45 : client: [0] process command "playlistinfo"

Dec 16 14:45 : client: [0] command returned 0

Dec 16 14:45 : client: [0] process command "idle"

Dec 16 14:45 : client: [0] command returned 1

Dec 16 14:45 : client: [0] process command "lsinfo """

Dec 16 14:45 : client: [0] command returned 0

Dec 16 14:45 : client: [0] process command "idle"

Dec 16 14:45 : client: [0] command returned 1

Dec 16 14:46 : client: [0] process command "addid "01_Highway_To_Hell.flac""

Dec 16 14:46 : add to playlist: 01_Highway_To_Hell.flac

Dec 16 14:46 : database: get song: 01_Highway_To_Hell.flac

Dec 16 14:46 : client: [0] command returned 0

Dec 16 14:46 : client: [0] process command "playid "0""

Dec 16 14:46 : playlist: play 0:"01_Highway_To_Hell.flac"

Dec 16 14:46 : decoder: audio_format=44100:16:2, seekable=true

Dec 16 14:46 : client: [0] command returned 0

Dec 16 14:46 : client: [0] process command "idle"

Dec 16 14:46 : client: [0] command returned 1

Dec 16 14:46 : client: [0] process command "status"

Dec 16 14:46 : client: [0] command returned 0

Dec 16 14:46 : client: [0] process command "playlistinfo"

Dec 16 14:46 : client: [0] command returned 0

Dec 16 14:46 : client: [0] process command "idle"

Dec 16 14:46 : client: [0] command returned 1

Dec 16 14:46 : output: Failed to open "UCA202" [oss]: Error opening OSS device "/dev/dsp": No such device or address

Dec 16 14:46 : player_thread: problems opening audio device while playing "01_Highway_To_Hell.flac"

Dec 16 14:46 : client: [0] process command "status"

Dec 16 14:46 : client: [0] command returned 0

Dec 16 14:46 : client: [0] process command "idle"

Dec 16 14:46 : client: [0] command returned 1

Dec 16 14:46 : client: [0] process command "playid "0""

Dec 16 14:46 : playlist: play 0:"01_Highway_To_Hell.flac"

Dec 16 14:46 : decoder: audio_format=44100:16:2, seekable=true

Dec 16 14:46 : client: [0] command returned 0

Dec 16 14:46 : client: [0] process command "idle"

Dec 16 14:46 : client: [0] command returned 1

Dec 16 14:46 : client: [0] process command "status"

Dec 16 14:46 : client: [0] command returned 0

Dec 16 14:46 : client: [0] process command "idle"

Dec 16 14:46 : client: [0] command returned 1

Dec 16 14:46 : output: Failed to open "UCA202" [oss]: Error opening OSS device "/dev/dsp": No such device or address

Dec 16 14:46 : player_thread: problems opening audio device while playing "01_Highway_To_Hell.flac"

Dec 16 14:46 : client: [0] process command "status"

Dec 16 14:46 : client: [0] command returned 0

Dec 16 14:46 : client: [0] process command "idle"

Dec 16 14:46 : client: [0] command returned 1

Dec 16 14:46 : client: [0] process command list

Dec 16 14:46 : command_process_list: process command "clear"

Dec 16 14:46 : playlist: stop

Dec 16 14:46 : command_process_list: command returned 0

Dec 16 14:46 : command_process_list: process command "status"

Dec 16 14:46 : command_process_list: command returned 0

Dec 16 14:46 : client: [0] process command list returned 0

Dec 16 14:46 : client: [0] process command "idle"

Dec 16 14:46 : client: [0] command returned 1

Dec 16 14:46 : client: [0] process command "status"

Dec 16 14:46 : client: [0] command returned 0

Dec 16 14:46 : client: [0] process command "idle"

Dec 16 14:46 : client: [0] command returned 1


Voici le résultât de la commande ls -al /dev/dsp*

crw-r--r--	1 root	 root	   14,   3 Mar 20  2007 /dev/dsp

crw-r--r--	1 root	 root	   14,  19 Aug 19  2010 /dev/dsp1

crw-r--r--	1 root	 root	   14,  35 Aug 19  2010 /dev/dsp2

crw-r--r--	1 root	 root	   14,  51 Aug 19  2010 /dev/dsp3

crw-r--r--	1 root	 root	   14,  67 Aug 19  2010 /dev/dsp4

crw-r--r--	1 root	 root	   14,  83 Aug 19  2010 /dev/dsp5

crw-r--r--	1 root	 root	   14,  99 Aug 19  2010 /dev/dsp6

crw-r--r--	1 root	 root	   14, 115 Aug 19  2010 /dev/dsp7

Et de dmesg | grep -i audio :

hiddev104: USB HID v1.00 Device [Burr-Brown from TI			   USB Audio CODEC ] on usb-ehci_platform.4523-1.2

Le fichier de conf temporaire complet:

music_directory				 "/volume1/music/ACDC_2003_Highway_To_Hell_\(Remastered\)/"

playlist_directory			  "/var/services/homes/mpd/playlists"

db_file						 "/var/services/homes/mpd/database"

log_file						"/var/services/homes/mpd/log"

pid_file						"/var/services/homes/mpd/pid"

state_file					  "/var/services/homes/mpd/state"

user							"root"

log_level					   "verbose"

audio_output {

type "oss"

name "UCA202"

device "/dev/dsp4" # optional

}

Mes sources : http://www.audiophil...lna-t21815.html Edit du 18-01-2012 : Config OK avec ce fichier de conf /etc/mpd.conf :

music_directory "/volume1/music/"

playlist_directory "/volume1/music/playlists"

db_file "/var/lib/mpd/database"

log_file "/var/log/mpd/log"

pid_file "/var/run/mpd/pid"

state_file "/var/run/mpd/state"

user "mpd"

bind_to_address "any"

port "6600"

#log_level "verbose"

zeroconf_enabled "no"

audio_output {

type "oss"

name "USB Audio CODEC"

device "/dev/dsp4"

auto_resample "no"

#mixer_type "disabled"

mixer_type "oss"

mixer_device "/dev/mixer4"

mixer_control "PCM"

}


Modifié par 2spirit

Posté(e)

Salut,

Liste les devices USB pour voir (je sais pas si la commande marche sur un syno) :

lsusb
sinon
lsdev

Posté(e)
  • Auteur

j'ai installé lsusb avec ipkg :


Bus 001 Device 003: ID 08bb:2902 Texas Instruments Japan PCM2902 Audio Codec

Bus 001 Device 002: ID 05e3:0608 Genesys Logic, Inc. USB-2.0 4-Port HUB

Bus 001 Device 001: ID 0000:0000 

Normalement c'est le 1er listé

Posté(e)
  • Auteur

Un truc que j'aimerais bien savoir aussi, ou sont les fichiers de conf audio de AudioStation ? (qui fonctionne avec ma carte)

Parce qu'il doit y avoir des informations sur le périphérique audio utilisé....

Posté(e)
  • Auteur

J'ai du nouveau, quand le service AudioStation est coupé, le répertoire /proc/asound/ n'éxiste pas mais après son démarrage :

ls -la /proc/asound/ :


dr-xr-xr-x    5 root	 root			 0 Dec 16 16:51 .

dr-xr-xr-x   86 root	 root			 0 Jan  1  1970 ..

dr-xr-xr-x    4 root	 root			 0 Dec 16 16:51 card0

-r--r--r--    1 root	 root			 0 Dec 16 16:51 cards

lrwxrwxrwx    1 root	 root			 5 Dec 16 16:51 default -> card0

-r--r--r--    1 root	 root			 0 Dec 16 16:51 devices

-r--r--r--    1 root	 root			 0 Dec 16 16:51 hwdep

-r--r--r--    1 root	 root			 0 Dec 16 16:51 modules

dr-xr-xr-x    2 root	 root			 0 Dec 16 16:51 oss

-r--r--r--    1 root	 root			 0 Dec 16 16:51 pcm

dr-xr-xr-x    2 root	 root			 0 Dec 16 16:51 seq

-r--r--r--    1 root	 root			 0 Dec 16 16:51 syno_audio_volume

-r--r--r--    1 root	 root			 0 Dec 16 16:51 timers

-r--r--r--    1 root	 root			 0 Dec 16 16:51 version

Il doit activer certaines choses pour le son, reste à savoir les paramètres à appliquer avec MPD...

Ce répertoire est bien celui d'ALSA ?

Posté(e)
  • Auteur

Personne pour m'aider ? j'aimerais au moins savoir quel périphérique est utilisé par AudioStation.

Posté(e)

Le syno utilise OSS pour la gestion du son, une rapide recherche ma confirmer que MPD s'avait exploité l'OSS.

Le point de montage de ta carte son doit être qq chose du type /dev/dsp ou /dev/dsp1 .... 9, jamais utiliser pour la lecture mais pour l'enregistrement cela marche et le mic de ma webcam est monté en /dev/dsp4. Pour trouver le point de montage tu peux essayer directement mdp ou avec ffmpeg avec l'option "-f oss"

Posté(e)
  • Auteur

J'ai déjà essayé avec /dev/dsp et /dev/dsp4 (par rapport à ce que j'ai lu sur les forums) mais cela ne fonctionne pas, je peux essayer avec les autres de 1 à 9 pour voir...

Pour trouver le point de montage, tu as un exemple de la ligne de commande avec ffmpeg ? il faut que je teste avec un MP3 alors ?

Posté(e)
  • Auteur

Je viens de tester avec les /dev/dsp de 1 à 9 et à chaque fois j'obtiens ceci dans le fichier de log :


Dec 19 11:08 : state_file: Saving state file

Dec 19 11:08 : database: get song: 02_You_Know_I'm_No_Good.flac

Dec 19 11:08 : playlist: play 0:"02_You_Know_I'm_No_Good.flac"

Dec 19 11:08 : decoder: audio_format=44100:16:2, seekable=true

Dec 19 11:08 : client: [0] opened from 127.0.0.1:4900

Dec 19 11:08 : client: [0] process command "status"

Dec 19 11:08 : Unable to open oss mixer "/dev/mixer"

Dec 19 11:08 : client: [0] command returned 0

Dec 19 11:08 : client: [0] process command "playlistinfo"

Dec 19 11:08 : client: [0] command returned 0

Dec 19 11:08 : client: [0] process command "idle"

Dec 19 11:08 : client: [0] command returned 1

Dec 19 11:08 : client: [0] process command "playid "0""

Dec 19 11:08 : playlist: play 0:"02_You_Know_I'm_No_Good.flac"

Dec 19 11:08 : decoder: audio_format=44100:16:2, seekable=true

Dec 19 11:08 : client: [0] command returned 0

Dec 19 11:08 : client: [0] process command "idle"

Dec 19 11:08 : client: [0] command returned 1

Dec 19 11:08 : client: [0] process command "status"

Dec 19 11:08 : client: [0] command returned 0

Dec 19 11:08 : client: [0] process command "idle"

Dec 19 11:08 : client: [0] command returned 1

Dec 19 11:08 : output: Failed to open "USB Audio" [oss]: Error opening OSS device "/dev/dsp9": No such file or directory

Dec 19 11:08 : player_thread: problems opening audio device while playing "02_You_Know_I'm_No_Good.flac"

Dec 19 11:08 : client: [0] process command "status"

Dec 19 11:08 : client: [0] command returned 0

Dec 19 11:08 : client: [0] process command "idle"

Dec 19 11:08 : client: [0] command returned 1

Dec 19 11:08 : client: [0] closed

Voici le fichier de conf utilisé avec cette config :

music_directory				 "/volume1/music/test/"

playlist_directory			  "/volume1/music/playlists"

db_file						 "/var/lib/mpd/database"

log_file					    "/var/log/mpd/log"

pid_file					    "/var/run/mpd/pid"

state_file					  "/var/run/mpd/state"

user						    "root"

bind_to_address		 "any"

port						    "6600"

log_level					   "verbose"

zeroconf_enabled			    "no"

audio_output {

type "oss"

name "USB Audio"

device "/dev/dsp9"

#auto_resample   "no"

#mixer_type	  "disabled"

format "44100:16:2" # optional

}

Posté(e)

et /dev/dsp tout cours (en gros il faut essayer tout les /dev/dsp_qqchose que tu trouve dans le répertoire /dev/)

Posté(e)

Difficile à dire essaye avec ffmpeg pour voir

Posté(e)
  • Auteur

Je veux bien mais ça m'a l'air compliqué comme programme, j'ai l'impression que c'est plus dédié à la conversion de fichier...? :

http://www.jcartier.net/spip.php?article36

Si tu as la ligne de commande adéquate pour lire un fichier audio, flac, wav ou mp3 sur la sortie son.

Modifié par 2spirit

Posté(e)
  • Auteur

Ca y est ! J'ai enfin réussi à paramétrer !

Merci à toi spar0, j'ai réussi à trouver le bon device avec l'outil ffmpeg, il s'agit de /dev/dsp4, (tout les autres indiquaient une erreur) :

ffmpeg -i fichier.flac -f oss /dev/dsp4

Par contre, j'avais déjà indiqué ce device dans ma conf MPD mais il y avait une autre erreur, il faut indiquer le bon nom de device également.

Dans mon cas, c'est "USB Audio CODEC"

Je donne le mpd.conf complet por ceux que cela intéresse :


music_directory "/volume1/music/"

playlist_directory "/volume1/music/playlists"

db_file "/var/lib/mpd/database"

log_file "/var/log/mpd/log"

pid_file "/var/run/mpd/pid"

state_file "/var/run/mpd/state"

user "root"

bind_to_address "any"

port "6600"

log_level "verbose"

zeroconf_enabled "no"

audio_output {

type "oss"

name "USB Audio CODEC"

device "/dev/dsp4"

auto_resample "no"

mixer_type "disabled"

}

Je précise que cette conf ne fonctionne qu'avec AudioStation de lancé pour l'instant, il doit charger les modules audio nécessaires, il faudrait que je les gères plus tard avec mes scripts de lancement auto.

Modifié par 2spirit

Posté(e)
  • Auteur

D'après mes 1er tests, cette config respecte mieux la qualité qu'AudioStation comme indiqué sur le post : http://www.audiophil...lna-t21815.html

Les fichiers sont bien "bitperfect" quand ils sont en 16 bits par contre pour du 24 bit, il y a un ré-échantillonnage, exemple ici avec un Flac issu d'un rip d'un SACD :


Dec 19 17:19 : decoder: audio_format=88200:24:2, seekable=true

Dec 19 17:19 : output: opened plugin=oss name="USB Audio CODEC" audio_format=88200:16:2

Dec 19 17:19 : output: converting from 88200:24:2

Modifié par 2spirit

Posté(e)

Pour info, j'ai cross compilé le support ALSA pour Syno avec succès. Plus besoin de se faire chier à spécifier le device /dev/dspx :D

C'est ce que je vais utiliser pour mon SPK de reconaissance vocale.

Posté(e)

Ca y est ! J'ai enfin réussi à paramétrer !

Merci à toi spar0, j'ai réussi à trouver le bon device avec l'outil ffmpeg, il s'agit de /dev/dsp4, (tout les autres indiquaient une erreur) :

ffmpeg -i fichier.flac -f oss /dev/dsp4

Par contre, j'avais déjà indiqué ce device dans ma conf MPD mais il y avait une autre erreur, il faut indiquer le bon nom de device également.

Dans mon cas, c'est "USB Audio CODEC"

Je donne le mpd.conf complet por ceux que cela intéresse :

...

Je précise que cette conf ne fonctionne qu'avec AudioStation de lancé pour l'instant, il doit charger les modules audio nécessaires, il faudrait que je les gères plus tard avec mes scripts de lancement auto.

Mais c'est toujours un plaisir de partager mes modestes compétences !!!!

Pour info, j'ai cross compilé le support ALSA pour Syno avec succès. Plus besoin de se faire chier à spécifier le device /dev/dspx biggrin.png

C'est ce que je vais utiliser pour mon SPK de reconaissance vocale.

Merci pour la contribution constructive Diaoul ... d'un autre coté en installant une distro linux standard sur un pc standard on ce ferait encore moins "chier"

Posté(e)
  • Auteur

Et installer une distro "standard" genre Debian, c'est possible ou pas sur le syno ?

Posté(e)

Oui, mais que sur les Syno ARMv6+, PPC et x86

Le DS-207+ a un ARMv5, pas supporté par Debian

Posté(e)
  • Auteur

Dommage, j'aurais bien préparé mon nas au petits oignons en installant juste ce que j'ai besoin ;)

Posté(e)
  • Auteur

Pour gérer le mixer je dois modifier le fichier de conf comme suit :

mixer_type "oss"

mixer_device "/dev/mixer4"

mixer_control "PCM"

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.