Toujours connecté :

> Recherche avancée...

Menus

Connexion Inscription

Recherche

Pages: [1] 2  Toutes   Bas de page
  Répondre  |  Envoyer ce fil  |  Imprimer  
Auteur Fil de discussion: Configurer sa sortie son SPDIF ou HDMI avec Xbmc sous Ubuntu  (Lu 7521 fois)
0 Membres et 2 Invités sur ce fil de discussion.

En ligne Voir le profil Homme

# Seb - Hello World

Fait partie du Décor - Messages: 2217

Fondateur

Configuration d'une sortie son NUMERIQUE avec XBMC

Les sorties sons numeriques sont souvent sources de problèmes sous linux. Alors que pour une sortie classique il suffit généralement de brancher les hauts parleurs sur la carte son et d'écouter, le fait d'utiliser une sortie optique reliée à ; votre ampli nécessite souvent quelques manipulations et surtout beaucoup de recherches sur internet.
L'objectif ici est donc de vous expliquer de manière synthétique comment faire marcher une sortie son optique avec xbmc sous linux (ubuntu). Cet article peut plus généralement servir de base pour faire fonctionner une sortie son sous ubuntu. Nous irons seulement un peu plus loin pour la rendre compatible avec xbmc en créant un fichier .asoundrc qui vous simplifiera grandement la vie lorsque vous désirerez configurer votre sortie son, et ce pour la plupart des applications.

Attention! Pour suivre ce tutoriel, vous devez avoir le pilote ALSA installé sur votre machine. Il l'est par défaut sous Ubuntu mais si ce n'est pas le cas reportez vous aux liens en bas de page.

A noter :
l'ensemble des commandes qui sont indiquées ici utilise l'editeur de texte shell "nano" qui peut etre remplacer par "gedit" si vous êtes sous GNOME ou "mousepad" si vous êtes sous XFCE 

Partie 1 : Configuration simplifiée.

Pour information la dénomination IEC958 correspond aux sorties optique et/ou numérique RCA
le HDMI reste nommé tel quel pour sa dénomination sous Linux

Pour commencer il faut activer la sortie IEC958 qui par défaut est désactivée:

Code:
alsamixer


se deplacer sur la droite jusqu'à trouver le ou les sorties IEC958
S'il y a "MM" (mute=désactivé), tape m pour obtenir "00" (activé).

Il est possible de faire la même manip graphiquement sous gnome depuis le contrôleur de volume


Pour être sûr que les paramètres soit bien sauvegardés on peu faire:

Code:
sudo alsactl store 1

ATTENTION: sous Ubuntu 9.04 il y a un bug qui peut être contourné de cette manière:

Code:
sudo nano /etc/modprobe.d/alsa-base.conf

rajouter une des 3 lignes ci dessous qui correspond a votre materiel

Code:
options snd-hda-intel model=6stack-dig
options snd-hda-nvidia model=6stack-dig
options snd-hda-ati model=6stack-dig


Partie 2 : Redirection du son sur la bonne sortie

Nous allons pouvoir passer à ; la seconde partie de cet exposé qui sera de créer un fichier afin de faciliter la prise en compte du SPDIF par vos applications, et plus spécifiquement par Xbmc.

  • pour activer la sortie SPDIF il faut créer ce fichier :

Code:
sudo nano /etc/asound.conf

et d'y rajouter :

Code:
pcm.!default {

   type plug
   slave {
       pcm "iec958"
   }

}

ou

  • pour activer la sortie HDMI il faut créer ce fichier :

Code:
sudo nano /etc/asound.conf

et d'y rajouter :

Code:
pcm.!default {

   type plug
   slave {
       pcm "hdmi"
   }

}


Partie 3 :Configuration de XBMC, enfin!

Maintenant que votre asound (ou .asoundrc) est correctement configuré vous allez pouvoir configurer le son sur Xbmc. Pour cela allez dans /Settings/System/Audio Hardware.

Les paramètres par défaut "Digital" sont prets pour le son en optique


il suffit de mettre "hdmi" à la place de "iec958" en peripherique de sortie utiliser cette derniere
par contre avec certaine carte mère DTS et AC3 décochés pour que ça marche

En cas d'utilisation du fichier .asoundrc (voir config avancée) dans Audio Output Device tapez SPDIF ou e nom que vous avez mis dans ce fichier.


Vous avez désormais votre sortie son optique configurée pour Xbmc! Profitez!
Si cela ne marche pas vous pouvez rentrer plus dans le detail avec la partie 4!


Partie 4 : Configuration avancée.

Pour commencer il faut connaître exactement quelle sortie son on veut utiliser et surtout comment elle est reconnue. Il faut donc taper dans une console (généralement Applications/Accessoires/Terminal) :

Code:
aplay -l

Ce qui donne quelque chose comme :

Code:
**** Liste des PLAYBACK périphériques ****
carte; 0: ICH5 [Intel ICH5], périphérique 0 : Intel ICH [Intel ICH5]
; Sous-périphériques: 1/1
; Sous-périphérique: #0: subdevice #0
carte; 0: ICH5 [Intel ICH5], périphérique 4 : Intel ICH - IEC958 [Intel ICH5 - IEC958]
; Sous-périphériques: 1/1
; Sous-périphérique: #0: subdevice #0
carte; 1: External [SB Live! 24-bit External], périphérique 0 : USB Audio [USB Audio]
; Sous-périphériques: 0/1
; Sous-périphérique: #0: subdevice #0
; 2: Modem [Intel ICH5 Modem], périphérique 0 : Intel ICH - Modem [Intel ICH5 Modem - Modem]
; Sous-périphériques: 0/1
; Sous-périphérique: #0: subdevice #0

Petite explication : dans cet exemple j'utilise une carte son SB Live! externe, je n'ai pas à ; me préoccuper de savoir si le son sort en SPDIF ou pas ; je dois juste rediriger le son vers cette sortie. Identifions là , il s'agit de ces lignes :

Code:
carte; 1: External [SB Live! 24-bit External], périphérique 0 : USB Audio [USB Audio]
; Sous-périphériques: 0/1
; Sous-périphérique: #0: subdevice #0

Dans ces lignes les informations importantes sont le numéro de la carte, ici c'est la carte 1, et le numéro du périphérique ici le périphérique 0. Une convention veut que pour définir cette sortie on utilise une ligne du type « hw=carte.périphérique »; ce qui nous donne dans cet exemple :
Code:
hw=1.0

Un autre exemple plus simple de sortie optique sur un autre pc avec une autre carte son (en gras la sortie optique) :

Code:
**** Liste des PLAYBACK périphériques ****
carte; 0: M5461 [HDA ULI M5461], périphérique 0 : ALC880 Analog [ALC880 Analog]
; Sous-périphériques: 0/1
; Sous-périphérique: #0: subdevice #0
carte; 0: M5461 [HDA ULI M5461], périphérique 1 : ALC880 Digital [ALC880 Digital]
; Sous-périphériques: 1/1
; Sous-périphérique: #0: subdevice #0
Ici la carte utilisée pour le SPDIF est intégrée à; la carte mère, mais cela ne change en rien la manière de procéder. La sortie qui nous intéresse se nomme ALC880 Digital, il s'agit cette fois; de la carte 0 et du périphérique 1. Nous avons donc ici :
Code:
hw=0.1

Attention!
Si vous vous arrêtez à ce stade de la procédure et que vous ne désirez pas créer de asound.rc il faut savoir qu'en l'état cette convention reste relative, parfois il faut remplacer le « = » par « : » et le « . » par « , ». Tout dépend des applications que vous utilisez. C'est pour cela que je vous conseille, si tout marche, de créer un fichier .asoundrc qui facilitera grandement la configuration sonore de vos applications.

Munis de ces informations vous allez pouvoir effectuer un premier test. Le plus simple est d'utiliser mplayer, qui est le lecteur vidéo le plus généralement utilisé par les media center. Si vous ne l'avez pas je vous conseille fortement de l'installer.

Toujours dans un terminal vous pouvez taper (remplacez la carte et le périphérique du hw= par les paramètres de votre carte son):
Code:
mplayer -ao alsa:device=hw=1.0 /chemin/fichier.mp3 ou avi
Noubliez surtout pas l'option -ao qui détermine que vous configurez le son!

Si aucun son ne sort essayez de rajouter l'option -softvol de cette manière :
Code:
mplayer -softvol -ao alsa:device=hw=1.0 /chemin/fichier.mp3 ou avi


Vous pouvez aussi effectuer ce test de manière graphique. Il faut lancer mplayer et aller dans les préférences Audio puis en cliquant sur « configure driver » en ayant Alsa de sélectionné dans la liste des drivers. Vous verrez apparaître une liste des configurations hw les plus fréquentes, si la votre n'apparaît pas, sélectionnez-en une qui ne correspond pas et adaptez là à votre configuration. Pour le reste laissez les options Mixer et Mixer channel à « driver default ». Pour vous aider, voici quelques copies d'écran :

;  ;

Lancez ensuite un fichier avec du son. De la même manière si aucun son ne sort cochez la case « enable software mixer ».

Si a ce stade vous n'avez toujours aucun son qui sort de votre sortie optique, recommencez depuis le début et analysez bien le retour de la commande « aplay -l ».

Configuration des paramètres de sortie:

Code:
nano ~/.asoundrc

Insérez dedans les lignes suivantes :

Code:
pcm.!SPDIF {

        type plug

        slave {

                pcm "hw:1,0"             

        }

}


Et remplacez « hw:1,0 » par la configuration que vous venez de déterminer. Il est aussi possible de mettre le hw dans le fichier asound.conf a la place (voir partie 2)

A noter : la ligne « pcm.!SPDIF » détermine la manière dont vous voulez nommer votre périphérique. Cela n'a rien d'obligatoire de la nommer comme tel. Vous auriez aussi bien pu écrire ; « pcm.!grandmèrefaitduboncafé » mais c'est tout de suite moins clair!

Enregistrer ensuite ce fichier dans votre /home/user. Il s'agit de votre dossier personnel qui est généralement nommé ainsi : /home/votrenom. Vous devez nommer ce fichier de cette manière :
Code:
.asoundrc

N'oubliez surtout pas le point avant asoundrc! Cela détermine que votre fichier est un fichier caché utilisé pour la configuration de votre système.

Vous pouvez d'ores et déjà ; effectuer un test toujours avec mplayer soit en utilisant la ligne suivante :
Code:
mplayer -ao alsa:device=SPDIF /chemin/fichier.mp3
Ou de manière graphique en remplaà§ant hw=1.0 par SPDIF (cf copie d'écran ci-dessous) :


Si rien ne sort et que vous êtes bien sà»r d'avoir correctement recopié les lignes précédemment citées alors reportez vous à ; la documentation ALSA en bas page.



Un peu de documentation :

Le wiki d'Ubuntu.fr est, je pense, une des documentations les plus complète qui existe à ; ce sujet :
http://doc.ubuntu-fr.org/installation/son?s=alsa

A lire aussi, la documentation ALSA (en):
http://alsa.opensrc.org
Et plus particulièrement dans notre cas :
http://alsa.opensrc.org/DigitalOut

Quelques sujets sur le forums officiel Xbmc (on y parle du .asoundrc)(en):
http://xbmc.org/forum/showthread.php?t=27691
http://xbmc.org/forum/showthread.php?t=27998
http://xbmc.org/forum/showthread.php?t=29131&highlight=SPDIF

Pour aller plus loin (surtout si vous désirez configurer le son Dolby ou DTS)(en) :
http://xbmc.org/forum/showthread.php?t=29131

Resolution du bug sous Ubuntu 9.04 :
url=http://forum.ubuntu-fr.org/viewtopic.php?id=311677

Malheureusement, la plus grande partie de la documentation que vous pourrez trouver sur ALSA et le SPDIF est en anglais, c'est ce qui m'a poussé à; écrire cet article.

EDIT par Meldrak: mise à jour du tuto
« Dernière édition: 24 Juillet 2009 16:08:52 par meldrak » Journalisée

"Gouvernements du monde industriel, géants fatigués de chair et d'acier, je viens du cyberespace, nouvelle demeure de l'esprit. Au nom de l'avenir, je vous demande, à  vous qui êtes du passé, de nous laisser tranquilles. Vous n'êtes pas les bienvenus parmi nous."  par John Perry Barlow

Script : Installeur Passion-XBMC     Tutoriel : Les scrapers ou comment associer des informations à vos films

Hors ligne Voir le profil WWW Homme

# meldrak

Createur MyXBMC - Colocataire - Messages: 295

Guide

Super TUTO sur lequel je me suis appuyé sans succès ....
j'essaye deseperement de faire fonctionner l'audio via la sortie HDMI de mon chipset AMD780G

si quelqu'un a le meme matos que moi et les meme soucis (resolus) qu'il m'aide !!! lol
Journalisée

A quoi sert Internet Explorer? A télécharger Firefox !!!

Hors ligne Voir le profil WWW Homme

# meldrak

Createur MyXBMC - Colocataire - Messages: 295

Guide

Salut,

j'ai resolu mon pb et voilà la solution

il faut simplement activer la sortie audio HDMI avant le reste
les drivers proprietaire ATI sont obligatoire pour que ça marche

via alsa mixer il faut changer le peripherique par defaut et choisir HDA ATI HDMI
maintenant alsa mixer doit ressembler à ça:



il faut cocher la case IEC958 et a partir de maintenant c'est activé
on sauvegarde les parametres definitivement par la commande

Citation
sudo alsactl store 1


ensuite on redirige tous les sons sur cette interface via l'outil de preferences sonnores



au passage on teste que ça marche et si c'est OK on reprends le TUTO de Seb depuis le debut

Voilà
Journalisée

A quoi sert Internet Explorer? A télécharger Firefox !!!

En ligne Voir le profil Homme

# Seb - Hello World

Fait partie du Décor - Messages: 2217

Fondateur

Bien vu, joli déterrage  smiley

Je n'avais pas vu ta question désolé, je n'étais pas trop là ces derniers temps. En tout cas je suis content que tu ai résolu ton problème et que tu partage la solution avec la communauté.

 
Journalisée

"Gouvernements du monde industriel, géants fatigués de chair et d'acier, je viens du cyberespace, nouvelle demeure de l'esprit. Au nom de l'avenir, je vous demande, à  vous qui êtes du passé, de nous laisser tranquilles. Vous n'êtes pas les bienvenus parmi nous."  par John Perry Barlow

Script : Installeur Passion-XBMC     Tutoriel : Les scrapers ou comment associer des informations à vos films

Hors ligne Voir le profil

# gbenoit

Explorateur - Messages: 2

Bonjour a tous !
Moi aussi, je deterre !!!

Alors de mon cote, j'avais reussi a faire fonctionner grace a ce tuto ma sortie optique avec xbmc 8.10 (je parle d'une version Live CD installee sur HDD)

Ces derniers jours, apres une tentative de mise-a-jour un peu cavaliere, je doit l'admettre, je me decide a reinstaller tout propre avec xbmc 9.04 (toujours live cd)

Mais maintenant, je n'arrive plus a refaire la conf pour exploiter ma sortie optique...et j'ai besoin de vous...

Voici ma conf :

(T: XBMCLive)xbmc@XBMCLive:~$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: ICH5 [Intel ICH5], device 0: Intel ICH [Intel ICH5]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 0: ICH5 [Intel ICH5], device 4: Intel ICH - IEC958 [Intel ICH5 - IEC958]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

Donc mon spdif est en hw=0.4
Quand je fais :

mplayer -softvol -ao alsa:device=hw=0.4 /versmachanson.mp3

la chanson se lance mais je n'ai aucun son qui sort....
J'ai verifier avec alsamixer que mon interface iec958 soit pas en Mute, c'est ok. (j'ai vu ca sur un autre site (cf lien ci-dessous))

Autre piste, j'ai aussi suivi ca :
http://alsa.opensrc.org/index.php/DigitalOut

Voici ma conf :
(T: XBMCLive)xbmc@XBMCLive:~$ aplay -L
default:CARD=ICH5
    Intel ICH5, Intel ICH5
    Default Audio Device
front:CARD=ICH5,DEV=0
    Intel ICH5, Intel ICH5
    Front speakers
surround40:CARD=ICH5,DEV=0
    Intel ICH5, Intel ICH5
    4.0 Surround output to Front and Rear speakers
surround41:CARD=ICH5,DEV=0
    Intel ICH5, Intel ICH5
    4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=ICH5,DEV=0
    Intel ICH5, Intel ICH5
    5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=ICH5,DEV=0
    Intel ICH5, Intel ICH5
    5.1 Surround output to Front, Center, Rear and Subwoofer speakers
iec958:CARD=ICH5,DEV=0
    Intel ICH5, Intel ICH5 - IEC958
    IEC958 (S/PDIF) Digital Audio Output
null
    Discard all samples (playback) or generate zero samples (capture)


Quand je fais :
aplay -D default:CARD=ICH5 Noise.wav       =>J'ai le son sur ma sortie analogique

aplay -D iec958:CARD=ICH5,DEV=0 Noise.wav   =>J'ai ce message d'erreur :
Playing WAVE 'Noise.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Mono
aplay: set_params:966: Channels count non available

Des recherches sur ce message ne m'ont guere donné de piste...alors je bloque...et j'ai besoin de votre aide !
Car je me debrouille en unix mais j'ai un peu de mal avec le son...

Merci d'avance a tous ceux qui prendront la peine de me lire, et encore plus de me repondre ;)
Benoit.

PS : si quelqu'un sait comment faire pour que l'alsamixer ne mettent pas les PCM a +12db par defaut... J'ai beau le remettre a 0db, c'est pas persistent, et j'ai pas trouver de fichier de conf pour ca...(j'avais pas ce pb avec la 8.10, et vous?) Merci aussi !
« Dernière édition: 16 Mai 2009 16:43:45 par gbenoit » Journalisée

Hors ligne Voir le profil

# gbenoit

Explorateur - Messages: 2

Bon, j'ai fait une avancé...en revenant en arriere...

La version Atlantis (8.10) fait fonctionner sans probleme ma sortie optique, et sans rien avoir a faire (conf xbmc laissee a default/iec958)

Donc je me demande si le probleme ne viendrait pas de jaunty plutot que d'xbmc 9.04

Mais pour info, la commande ci-dessus (aplay -D iec958:CARD=ICH5,DEV=0 Noise.wav) me renvoit la meme erreur, donc je laisse tomber cette piste...

Plus etrange, ou alors j'ai rien compris (ce qui est tout a fait possible) :
quand je fait : aplay -L
je n'ai pas de ligne iec958...

(aplay -l, j'ai bien les 2 cartes (analogique et iec958))

Pour le probleme avec la 9.04, pensez-vous que c'est un bug et qu'il faudrait ouvrir un trac xbmc ?
Merci.
Journalisée

Hors ligne Voir le profil WWW Homme

# meldrak

Createur MyXBMC - Colocataire - Messages: 295

Guide

je viens de passer sous mythbuntu 9.04 avec xbmc 9.04 et plus moyen de faire fonctionner
ma sortie SPDIF ou HDMI, le pb semble bien lié a la branche ubuntu 9.04 qui utilise maintenant pulseaudio

si qq un a avancé sur le sujet ça me ferait gagner du temps, sinon je continue de chercher de mon coté
Journalisée

A quoi sert Internet Explorer? A télécharger Firefox !!!

Hors ligne Voir le profil WWW Homme

# meldrak

Createur MyXBMC - Colocataire - Messages: 295

Guide

Voilà la solution pour avoir le son numerique en SPDIF ou HDMI sur buntu 9.04

il faut rajouter une ligne dans ce fichier:

Code:
sudo nano /etc/modprobe.d/alsa-base.conf

rajouter une des 3 lignes ci dessous qui correspond a votre materiel

Code:
options snd-hda-intel model=6stack-dig
options snd-hda-nvidia model=6stack-dig
options snd-hda-ati model=6stack-dig


  • pour activer la sortie SPDIF il faut créer ce fichier :

Code:
sudo nano /etc/asound.conf

et d'y rajouter :

Code:
pcm.!default {

   type plug
   slave {
       pcm "iec958"
   }

}

dans XBMC passer le son en numerique via iec958 et ça roule

ou


  • pour activer la sortie HDMI il faut créer ce fichier :

Code:
sudo nano /etc/asound.conf

et d'y rajouter :

Code:
pcm.!default {

   type plug
   slave {
       pcm "hdmi"
   }

}

dans XBMC il suffit de mettre "hdmi" à la place de "iec958" en peripherique de sortie
par contre avec certaine carte mère DTS et AC3 décochés pour que ça marche

source: http://forum.ubuntu-fr.org/
« Dernière édition: 10 Juillet 2009 18:24:35 par meldrak » Journalisée

A quoi sert Internet Explorer? A télécharger Firefox !!!

En ligne Voir le profil Homme

# Cricket

Oook. - Fait partie du Décor - Messages: 769

Admin Linux

Joli boulot! Tu permets que l'on mette ça dans le premier post?
Journalisée

Hors ligne Voir le profil WWW Homme

# meldrak

Createur MyXBMC - Colocataire - Messages: 295

Guide

bah oui ça serait plus clair de refaire le premier post pour tout le monde
de plus pour activer l'HDMI ou le SPDIF la modif du asound.conf est aussi valable pour les ancienne versions
Journalisée

A quoi sert Internet Explorer? A télécharger Firefox !!!

En ligne Voir le profil Homme

# Cricket

Oook. - Fait partie du Décor - Messages: 769

Admin Linux

Je suis pas super technicien donc je demande: le reste du tuto original de Seb reste valable quand même ou ta manip' le remplace?
Journalisée

Hors ligne Voir le profil WWW Homme

# meldrak

Createur MyXBMC - Colocataire - Messages: 295

Guide

non le tuto de Seb est toujours valable mais pour une configuration plus avancée dans certain cas
certain element sont obsoletes mais pas d'autres
je n'ai pas le temps tout de suite mais dans ce cas je vais mettre a jour le 1er post ce soir

a+
Journalisée

A quoi sert Internet Explorer? A télécharger Firefox !!!

Hors ligne Voir le profil WWW Homme

# meldrak

Createur MyXBMC - Colocataire - Messages: 295

Guide

voilà 1er post remis a jour, a relire !!!
Journalisée

A quoi sert Internet Explorer? A télécharger Firefox !!!

En ligne Voir le profil Homme

# Seb - Hello World

Fait partie du Décor - Messages: 2217

Fondateur

+1  smiley
Journalisée

"Gouvernements du monde industriel, géants fatigués de chair et d'acier, je viens du cyberespace, nouvelle demeure de l'esprit. Au nom de l'avenir, je vous demande, à  vous qui êtes du passé, de nous laisser tranquilles. Vous n'êtes pas les bienvenus parmi nous."  par John Perry Barlow

Script : Installeur Passion-XBMC     Tutoriel : Les scrapers ou comment associer des informations à vos films

Hors ligne Voir le profil

# larocca30

Explorateur - Messages: 4

Bonjour,

 Super tuto merci, mais ya t'il un moyen d'avoir le son qui sort a la fois sur le hdmi et sur la sortie optique.
 ou alors peut-etre un script qui permetterais de faire le changement de sortie seulement avec unoton de la telecommande.

Merci d'avance
Journalisée
Pages: [1] 2  Toutes   Haut de page
  Répondre  |  Envoyer ce fil  |  Imprimer  
 
Aller à:  

+ Réponse Rapide