Jump to content

Question sur le son sous linux


Recommended Posts

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.

Link to comment
Share on other sites

ç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

Link to comment
Share on other sites

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)

Link to comment
Share on other sites

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?

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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 ...

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...