Aller au contenu

Question sur le son sous linux


Messages recommandés

Posté(e)

Bonjour,

Ma question est la suivante: pourquoi est-ce impossible sous linux d'avoir du son provenant de plusieurs sources en même temps (exemple: jouer à unreal en écoutant de la musique), alors que sous Windows ça marche très bien.

Je me suis toujours posé cette question, merci d'avance.

Posté(e)

Mais pourtant lorsque j'écoute de la musique et que je lance UT2004, j'ai un message qui dis quelque chose comme "Sortie audio occupé...".

Posté(e)

question existentielle en effet, sous windows, j'avais déjà fait, mais j'avais jamais essayé sous nux

mais je viens de lancer un mp3 et un divX sous Etch, on entend bien les deux ;)

Posté(e)

Je viens de faire le test et effectivement ca marche aussi sur ma SuSe, j'entend à la fois ma musique sur XMMS et mon divx sur Kaffeine... mais pourquoi pas avec un jeu?

Posté(e)

ça dépend des cartes son (pas de problème pour les cartes son qui gèrent le hardware mixing), des bibliothèques utilisées (l'association alsa+oss marche rarement), de la configuration (alsa sans dmix sur une carte qui ne fait pas le hardware mixing ça ne va pas marcher non plus)

Donc :

Hardware mixing + (plein d'applis OSS + plein d'applis alsa) => OK

Software mixing + alsa dmix + plein d'applis alsa => OK

Software mixing + une appli OSS *ou* alsa => OK

tout le reste ne marche à priori pas.

Par exemple pour l'exemple ici, je pense qu'il faut configurer UT2004 (qui utilise OpenAL) pour qu'il utilise alsa dmix, ainsi que toutes les applications.

On trouve facilement sur internet de la doc pour OpenAL+alsa dmix

Posté(e)

Merci pour cette réponse claire tuXXX, je vais regarder ça.

Ah, et comment on sait si notre carte supporte le hardware mixing (Y a-t-il une commande?).

Posté(e)

Il y a moyen notamment avec :

 $ cat /proc/asound/card0/pcm0p/info

Par exemple :

Sound Blaster Live! 5.1 : hardware mixing :

% cat /proc/asound/card0/pcm0p/info
card: 0
device: 0
subdevice: 0
stream: PLAYBACK
id: emu10k1
name: ADC Capture/Standard PCM Playback
subname: subdevice #0
class: 0
subclass: 0
subdevices_count: 32
subdevices_avail: 30

subdevices_count c'est le nombre total de canaux disponibles sur la carte.

subdevices_avail c'est le nombre de canaux qui ne sont pas encore utilisés.

Ici j'ai 32 canaux de disponibles, et 30 restent non utilisés (j'en utilise actuellement 2, donc tout va bien)

Carte son intégrée à la carte mère : pas de hardware mixing :

% cat /proc/asound/card1/pcm0p/info
card: 1
device: 0
subdevice: 0
stream: PLAYBACK
id: Intel ICH
name: AMD AMD768
subname: subdevice #0
class: 0
subclass: 0
subdevices_count: 1
subdevices_avail: 1

Un seul canal de libre (non utilisé pour l'instant).

C'est là qu'on voit le problème...

(et même qu'on pourrait éventuellement avoir besoin de software mixing si on utilise trop de sources sonores sur une carte qui gère le hardware mixing... mais normalement y'a de quoi voir venir)

Posté(e)

J'utilise une carte son intégré à la carte mère (Intel HDA), donc je n'ai pas de hardware mixing.

cat /proc/asound/card0/pcm0p/info me donne: (XMMS fonctionne)

card: 0
device: 0
subdevice: 0
stream: PLAYBACK
id: CMI9880
name: CMI9880
subname: subdevice #0
class: 0
subclass: 0
subdevices_count: 1
subdevices_avail: 0

Alors comment je peux faire pour écouter de la musique en jouant a UT?

Posté(e)

Software mixing avec alsa dmix + plein d'applis alsa.

C'est à dire :

1) configurer alsa pour mettre dmix par défaut.

2) configurer les applis pour utliser alsa (device "default")

Posté(e)
  snakesg a dit :
Eh bien dans UT2004, le seul choix pour le son c'est OpenAL, il n'y en a pas d'autres...

Tu peux configurer OpenAL pour qu'il utilise alsa (à voir sur internet)

Posté(e)
  Citation
UT2004 utilise OpenAL, mais la librairie incluse ne supporte ni alsa ni SDL, et la librairie SDL incluse ne supporte pas alsa...

Il faut donc supprimer (renommer?) openal.so et libSDL-1.2.so, puis créer des liens symboliques : /usr/lib/libopenal.so -> openal.so et /usr/lib/libSDL.so -> libSDL-1.2.so.0

Il faut ensuite mettre

(define devices '(sdl))

Pour pouvoir avoir un peu de son (mais pas exactement synchronisé... pas cool)

Aussi bien laisser tomber puisque ça ne fonctionnera pas bien à la fin.

Posté(e)
  snakesg a dit :
Aussi bien laisser tomber puisque ça ne fonctionnera pas bien à la fin.

Tu peux aussi essayer, peut-être que ça marche maintenant, c'est toi qui voit.

Posté(e)

Redirigé par le Topic Linux et les jeux, je poste ici une question.

J'ai une Sound Blaster Live! 5.1 intégrée à la mobo., j'obtient ca:

morneithan@Panoramix:~$ cat /proc/asound/card0/pcm0p/info
card: 0
device: 0
subdevice: 0
stream: PLAYBACK
id: ca0106
name: CA0106
subname: subdevice #0
class: 0
subclass: 0
subdevices_count: 1
subdevices_avail: 1

C'est normal ? Car apparment tuXXX a la même est pourtant il a 32 canaux ...

Posté(e)
  Morneithan a dit :

Redirigé par le Topic Linux et les jeux, je poste ici une question.

J'ai une Sound Blaster Live! 5.1 intégrée à la mobo., j'obtient ca:

morneithan@Panoramix:~$ cat /proc/asound/card0/pcm0p/info
card: 0
device: 0
subdevice: 0
stream: PLAYBACK
id: ca0106
name: CA0106
subname: subdevice #0
class: 0
subclass: 0
subdevices_count: 1
subdevices_avail: 1

C'est normal ? Car apparment tuXXX a la même est pourtant il a 32 canaux ...

tuXXX il passe sous le bureau aussi.

Posté(e)
  Morneithan a dit :
Redirigé par le Topic Linux et les jeux, je poste ici une question.

J'ai une Sound Blaster Live! 5.1 intégrée à la mobo., j'obtient ca:

morneithan@Panoramix:~$ cat /proc/asound/card0/pcm0p/info
card: 0
device: 0
subdevice: 0
stream: PLAYBACK
id: ca0106
name: CA0106
subname: subdevice #0
class: 0
subclass: 0
subdevices_count: 1
subdevices_avail: 1

C'est normal ?

Ça serait pas une 24 bits? (avec le ca0106 ça se pourrait fortement)

Je crois que les SB Live 24 bits ne font pas de hardware mixing.

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...