OVH Cloud OVH Cloud

[Debutant]Configuration CD et MIDI

15 réponses
Avatar
Ignace
Bonjour


Mon Linux marche (si). Ceux qui ont suivi mes avatars savent ce que je veux
dire...
Mandrake 9.1. (9.2 l'install se bloque)

Sauf quelques fonctions "son".
Les fichiers RAM et MP3 fonctionnent, ainsi que les lectures de DivX.


Par contre le lecteur de CD ne fonctionne pas.
Pourtant, cela doit être une fonction simplissime ...
kscd se lance correctement, lit les pistes, mais pas de son
(le mixer est correctement réglé)

De même, mon synthétiseur MIDI marche plutot mal : désynchronisation entre
les flux, saccades. Se bloque souvent, souvent définitivement jusqu'au
prochain démarrage.
Voici un message que je peux recevoir :

"aRts init failed: can't connect to aRts soundserver
Couldn't open Arts device"

ou

"ERROR: Couldn't open /dev/sequencer to get some information"

Evidemment j'ai une "mauvaise" configuration : nVidia, nForce 220/420, ou
quelque chose comme ça.
Mais le fait que ça marche "parfois", ca devrait pouvoir marcher "toujours",
non ?

Pistes, liens ?

Pardon si "évidence sous le nez" : je ne la vois pas.

Merci.

-- Ignace

5 réponses

1 2
Avatar
J. Mayer
On Sat, 06 Dec 2003 19:23:14 -0800, Nikoo wrote:

Hum, dit plutot que les logiciels ne savent pas le faire.
Linux le fait très bien, si on lui demande.
C'est même assez trivial à coder...


ET COMMENT FAIS-TU ?
MERCI


Le principe est simple:

int cdrom_get_audio_data (int fd, unsigned char *buffer,
long position, long nb_frames)
{
struct cdrom_read_audio raudio;
raudio.addr.lba = position;
raudio.addr_format = CDROM_LBA;
raudio.nframes = nb_frames;
raudio.buf = buffer;
return ioctl(fd, CDROMREADAUDIO, &raudio, 0);
}

remplit le buffer (en DMA) avec les données audio.
Il suffit juste ensuite de les envoyer à la carte son (write)
ou mieux, de lui dire ou aller les chercher.


Avatar
viphakoneniko
"J. Mayer" wrote in message news:...
On Sat, 06 Dec 2003 19:23:14 -0800, Nikoo wrote:

Hum, dit plutot que les logiciels ne savent pas le faire.
Linux le fait très bien, si on lui demande.
C'est même assez trivial à coder...


ET COMMENT FAIS-TU ?
MERCI


Le principe est simple:

int cdrom_get_audio_data (int fd, unsigned char *buffer,
long position, long nb_frames)
{
struct cdrom_read_audio raudio;
raudio.addr.lba = position;
raudio.addr_format = CDROM_LBA;
raudio.nframes = nb_frames;
raudio.buf = buffer;
return ioctl(fd, CDROMREADAUDIO, &raudio, 0);
}

remplit le buffer (en DMA) avec les données audio.
Il suffit juste ensuite de les envoyer à la carte son (write)
ou mieux, de lui dire ou aller les chercher.


Personnellement, je ne sais pas trop coder..... :) (j'ai des notions
de basic et de pascal seulement).

Si j'ai bien tout compris, Linux doit être capable de lire les CD par
le même moyen que Windows (sans le câble), mais tu disais qu'en fait
ce sont les logiciels de lecture qui ne contiennent pas les
instructions nécessaires.

Le truc qui m'intrigue, c'est que dans le bout de doc de Xmms que j'ai
posté dans

http://groups.google.fr/groups?dq=&hl=fr&lr=&ie=UTF-8&oe=UTF-8&threadm=pan.2003.12.07.12.35.28.435304%40magic.fr&prev=/groups%3Fhl%3Dfr%26lr%3D%26ie%3DUTF-8%26oe%3DUTF-8%26group%3Dfr.comp.os.linux.configuration

(où tu as aussi répondu, je t'en remercie)

Il est dit que dans l'onglet de configuration du pluggin de lecture
des CD (libcdaudio.so), onglet "Périphérique" ("Device") je suis censé
avoir un onglet intitulé "Play mode" avec dedans :

Play mode:
Analog
Analog playback requires that you have a cable connected
between the CD-ROM and the soundcard. Also it will not be
passed through any effect or visualization plugins.

Digital audio extraction
This allows XMMS to pass the sounddata through the effect and
visualization plugins.

Or, je n'ai que les sections Device et Volume control.

Je pense que le problème se situe là.
La section "Digital audio extraction" est peut-être ce qu'il faut
choisir pour que la lecture des CD se fasse comme sous Windaube sans
le fil. Elle permet peut-être d'utiliser un code comme celui dont tu
m'as parlé.

Mon Xmms est pourtant tout neuf (Mandrake 9.2). Je ne sais pas
pourquoi cette option "Play mode" est absente.

Est-ce que quelqu'un a cette option ?
Il faut regarder dans "Options">"Préférences">"E/S audio"
Sélectionner le pluggin "Lecteur de CD Audio 1.2.7" et cliquer sur
"Configurer".
Dans l'onglet "Périphérique", moi je n'ai que les rubriques
"Périphérique" et "Réglage du volume".

Voilà, je pense que c'est un problème essentiel. Cette histoire de
câble est débile (Les pertes de qualité ne sont sûrement pas énormes).



Avatar
J. Mayer
On Sun, 07 Dec 2003 11:17:01 -0800, Nikoo wrote:

Si j'ai bien tout compris, Linux doit être capable de lire les CD par
le même moyen que Windows (sans le câble), mais tu disais qu'en fait
ce sont les logiciels de lecture qui ne contiennent pas les
instructions nécessaires.


Tout à fait...

Il est dit que dans l'onglet de configuration du pluggin de lecture
des CD (libcdaudio.so), onglet "Périphérique" ("Device") je suis censé
avoir un onglet intitulé "Play mode" avec dedans :

Play mode:
Analog
Analog playback requires that you have a cable connected
between the CD-ROM and the soundcard. Also it will not be
passed through any effect or visualization plugins.

Digital audio extraction
This allows XMMS to pass the sounddata through the effect and
visualization plugins.

Or, je n'ai que les sections Device et Volume control.

Je pense que le problème se situe là.
La section "Digital audio extraction" est peut-être ce qu'il faut
choisir pour que la lecture des CD se fasse comme sous Windaube sans
le fil. Elle permet peut-être d'utiliser un code comme celui dont tu
m'as parlé.


Oui, elle doit faire exactement celà..


Mon Xmms est pourtant tout neuf (Mandrake 9.2). Je ne sais pas
pourquoi cette option "Play mode" est absente.


J'ai regardé le code de xmms. Si tu n'as pas l'option, c'est que
Mandrake ne l'a pas sélectionné dans la config avant de compiler...

Voilà, je pense que c'est un problème essentiel. Cette histoire de
câble est débile (Les pertes de qualité ne sont sûrement pas énormes).


Quelles pertes de qualité ? C'est avec le cable, en analogique,
que tu a le moins de qualité, pas en extraction numérique...

Avatar
viphakoneniko
La section "Digital audio extraction" est peut-être ce qu'il faut
choisir pour que la lecture des CD se fasse comme sous Windaube sans
le fil. Elle permet peut-être d'utiliser un code comme celui dont tu
m'as parlé.


Oui, elle doit faire exactement celà..


Mon Xmms est pourtant tout neuf (Mandrake 9.2). Je ne sais pas
pourquoi cette option "Play mode" est absente.


J'ai regardé le code de xmms. Si tu n'as pas l'option, c'est que
Mandrake ne l'a pas sélectionné dans la config avant de compiler...



Ok, merci.
Crois tu que je pourrais intégrer cette option en recompilant un
src.rpm (j'aime pas trop les tar.gz.......hum.)

Merci de suivre :p


Avatar
J. Mayer
On Sun, 07 Dec 2003 17:04:06 -0800, Nikoo wrote:

La section "Digital audio extraction" est peut-être ce qu'il faut
choisir pour que la lecture des CD se fasse comme sous Windaube sans
le fil. Elle permet peut-être d'utiliser un code comme celui dont tu
m'as parlé.


Oui, elle doit faire exactement celà..


Mon Xmms est pourtant tout neuf (Mandrake 9.2). Je ne sais pas
pourquoi cette option "Play mode" est absente.


J'ai regardé le code de xmms. Si tu n'as pas l'option, c'est que
Mandrake ne l'a pas sélectionné dans la config avant de compiler...



Ok, merci.
Crois tu que je pourrais intégrer cette option en recompilant un
src.rpm (j'aime pas trop les tar.gz.......hum.)

Merci de suivre :p


Je n'utilise que les tgz, mais, à priori, il ne devrait pas
y avoir de problème.
Tout ce qu'il faut vérifier, c'est que dans le fichier
Input/cdaudio/cdaudio.o la fonction read_audio_data a bien
été compilée (tu peux le faire avec nm).



1 2