Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Son AC'97 trop rapide - y a-t-il quelque chose à faire ?

6 réponses
Avatar
manuel viet
Bonjour,

J'ai une fedora core 2 sur carte MS1837C+ avec son ac'97 intégré ;
le son est (bien ?) détecté, au moins en apparence : ça fait bip
quand il faut, je peux jouer mes CD, des mp3 et même mes DVD. Mon
bonheur aurait pu être total MAIS je me suis rendu compte d'une
part que la demo de quake3 segfault lors de l'initialisation du
son -- c'est pas dramatique, mais bon, ça ne fait pas plaisir, et
surtout, lorsque je joue un flux audio d'une net-radio, mon tampon
est consommé au fur et mesure que le temps passe jusqu'à tomber à
0, et le son devient alors une bouillie hâchée inécoutable.

En jouant avec mplayer, je me suis rendu compte que mon chip ac'97
ne connaît semble-t-il que 2 fréquences d'échantillon, 24.000 Hz et
48.000 Hz, ce qui n'est compatible avec... rien. D'ailleurs, si
j'utilise mplayer pour re-sampler le flux en 24.000 Hz, mon tampon
n'est plus consommé, mais là, c'est la qualité qui trinque. Un coup
d'½il sur les FAQ quake3 m'envoie dans la même direction : le jeu
plante s'il ne peut pas ouvrir un flux à 44,1 KHz. Donc je pense que
mon diagnostic est bon : le sur-échantillonage en entrée est trop
faible pour être vraiment audible, mais le chip joue le son un
poil trop vite.

Est-ce que quelqu'un a déjà eu la même expérience et trouvé une
bonne solution ? Ou est-ce que je rebranche tout de suite ma
SB64 qui ne m'a jamais posé de problèmes (si ce n'est qu'elle
chipe un slot PCI) ?

--
(\(\ Manuel Viet * mailto:manuel@m-viet.net
(^.^)
(")")

6 réponses

Avatar
Nicolas George
manuel viet wrote in message :
En jouant avec mplayer, je me suis rendu compte que mon chip ac'97
ne connaît semble-t-il que 2 fréquences d'échantillon, 24.000 Hz et
48.000 Hz, ce qui n'est compatible avec... rien.


Est-ce que Google confirme cette limitation ?

D'ailleurs, si
j'utilise mplayer pour re-sampler le flux en 24.000 Hz, mon tampon
n'est plus consommé, mais là, c'est la qualité qui trinque.


Et en resamplant à 48 kHz plutôt que 24, ça ne rend pas un peu mieux ?

Est-ce que quelqu'un a déjà eu la même expérience et trouvé une
bonne solution ? Ou est-ce que je rebranche tout de suite ma
SB64 qui ne m'a jamais posé de problèmes (si ce n'est qu'elle
chipe un slot PCI) ?


Dans <URL: http://www.alsa-project.org/documentation.php >, le lien parlant
de .asoundrc indique :

# Neither of the .asoundrc or alsa.conf files are required for ALSA to work
# properly. Most applications will work without them. They are used to allow
# extra functionality, such as routing and sample-rate conversion, through
# the alsa-lib layer.

« sample-rate conversion », ça me semble intéressant. La page est vaste,
mais ça a l'air bien didactique. Tu nous racconteras si tu arrives à quelque
chose ?

Avatar
Nicolas George
La Fred wrote in message <1q3e39otlbz0y$:
Aucun moyen de
"resampler" en 48 kHz, dans ce cas !


Il a dit qu'il y arrivait à 24, il n'y a pas de raison qu'il n'y arrive pas
à 48.

Au fait, c'est ALSA ou OSS ? Si c'est OSS, je conseillerais d'essayer ALSA,
car la libasound est censée resampler à la volée à la fréquence disponible
la plus proche. Si c'est déjà ALSA, vérifier que ça ne passe pas par
l'émulation OSS d'ALSA.

Avatar
no_spam
On Mon, 15 Nov 2004 14:54:37 +0000, manuel viet wrote:

Bonjour,

J'ai une fedora core 2 sur carte MS1837C+ avec son ac'97 intégré ;
le son est (bien ?) détecté, au moins en apparence : ça fait bip
quand il faut, je peux jouer mes CD, des mp3 et même mes DVD. Mon
bonheur aurait pu être total MAIS je me suis rendu compte d'une
part que la demo de quake3 segfault lors de l'initialisation du
son -- c'est pas dramatique, mais bon, ça ne fait pas plaisir, et
surtout, lorsque je joue un flux audio d'une net-radio, mon tampon
est consommé au fur et mesure que le temps passe jusqu'à tomber à
0, et le son devient alors une bouillie hâchée inécoutable.

En jouant avec mplayer, je me suis rendu compte que mon chip ac'97
ne connaît semble-t-il que 2 fréquences d'échantillon, 24.000 Hz et
48.000 Hz, ce qui n'est compatible avec... rien.


Tous les CODECS AC97 fonctionnent à fréquence fixe de 48kHz. Le
resampling, quand il se fait, sur ces codecs est fait de façon triviale,
mais mauvaise: il suffit de répéter certains échantillons de temps en
temps. C'est comme celà, en jouant 2 fois chaque échantillon, qu'il
arrive à jouer en 24 kHz.
La solution à ton problème est, à mon avis, d'utiliser un daemon comme
esound ou arts qui se chargera de resampler et de fournir une interface
plus souple pour ces clients.

Avatar
manuel viet
In article , no_spam wrote:
On Mon, 15 Nov 2004 14:54:37 +0000, manuel viet wrote:

En jouant avec mplayer, je me suis rendu compte que mon chip ac'97
ne connaît semble-t-il que 2 fréquences d'échantillon, 24.000 Hz et
48.000 Hz, ce qui n'est compatible avec... rien.


Tous les CODECS AC97 fonctionnent à fréquence fixe de 48kHz. Le
resampling, quand il se fait, sur ces codecs est fait de façon triviale,
mais mauvaise: il suffit de répéter certains échantillons de temps en
temps. C'est comme celà, en jouant 2 fois chaque échantillon, qu'il
arrive à jouer en 24 kHz.


Ok, j'ai compris ; c'est clair, et décevant.

La solution à ton problème est, à mon avis, d'utiliser un daemon comme
esound ou arts qui se chargera de resampler et de fournir une interface
plus souple pour ces clients.


Je vais rebrancher ma Sound Blaster ; je n'aime pas que mon processeur
perde son temps à faire ce qu'une puce spécialisée fait bien mieux que
lui depuis plus longtemps.

Merci pour la réponse.

--
(( Manuel Viet * mailto:
(^.^)
(")")


Avatar
manuel viet
In article <1q3e39otlbz0y$, La Fred wrote:
Le lundi 15 novembre 2004, voici ce qu'écrivait Nicolas George:

Et en resamplant à 48 kHz plutôt que 24, ça ne rend pas un peu mieux ?


Si je comprends bien, c'est en écoutant la radio sur le net que ça ne
marche pas, parce que le tampon se vide trop vite. Aucun moyen de
"resampler" en 48 kHz, dans ce cas !


Si, je peux, mais je n'ai pas vu l'intérêt ; je voulais passer de 22,1 KHz
à la valeur la plus proche admise par mon chipset pour avoir un tempo
correct.

D'un autre côté, je n'ai pas de réponse, si ce n'est "gaspiller" un port
PCI pour y réinstaller une carte qui a fait ses preuves.


Elle me faisait la tête en haut de l'étagère, et je sens qu'elle frétile
à l'idée de reprendre du service.

--
(( Manuel Viet * mailto:
(^.^)
(")")


Avatar
manuel viet
In article <cncjt4$1bon$, Nicolas George wrote:
La Fred wrote in message <1q3e39otlbz0y$:
Aucun moyen de
"resampler" en 48 kHz, dans ce cas !


Il a dit qu'il y arrivait à 24, il n'y a pas de raison qu'il n'y arrive pas
à 48.

Au fait, c'est ALSA ou OSS ? Si c'est OSS, je conseillerais d'essayer ALSA,
car la libasound est censée resampler à la volée à la fréquence disponible
la plus proche. Si c'est déjà ALSA, vérifier que ça ne passe pas par
l'émulation OSS d'ALSA.


Merci de t'être intéressé à mon problème ; a priori j'ai un alsa, déjà,
mais de toute façon, si c'est incompatible avec les jeux qui mmap()
/dev/dsp, ça ne résoudra pas totalement mon problème. Je suis sidéré de
voir à quel point c'est 'bas de gamme', la norme ac'97 ; j'avoue avoir
pris la CM sans me poser la question du son, je voulais conserver ma SB,
et en découvrant les sorties audio, je me suis dit que puisqu'elles i
étaient là, autant les utiliser. Franchement, au prix du composant es1371,
qui est infiniment plus souple, je ne comprends pas le choix d'un chip
aussi bridé.

--
(( Manuel Viet * mailto:
(^.^)
(")")