Pas de son midi + Lancer en root des applications graphiques


#1

Bonsoir,

Je n’arrive pas à faire fonctionner le midi. Je suis sous une distribution Debian testing et environnement KDE : en allant dans le menu Configuration>Sons&Multimedia>Sons systèmes, et en cliquant sur “Tester le midi”, aucun son ne me parvient à l’oreille (qui est plutôt fine, pourtant ! [Non mais cela fonctionne très bien avec “Test sound” juste à côté, preuve que ma carte son fonctionne plus ou moins bien]).

Lorsque je lance mon fichier midi avec Kmid, il est joué (j’en ai la preuve avec le piano qui s’active [enfin ce n’est pas vraiment une preuve mais bon]), mais là encore, aucun son ne sort. En allant sur Settings>Midi Setups, et où il me demande «Select the MIDI device you want to use», j’ai un élément qui s’affiche : «Midi Through Midi Through Port-0 ALSA-device» (l’élément est bien sûr sélectionné).

J’ai, au fur et à mesure de mes divers recherches, téléchargé plusieurs packages, dont timidity, pmidi (que j’ai désinstallé car je le croyais la cause d’un autre problème ; je n’arrive plus à éditer des fichiers de configuration en graphique, en root), et playmidi.

Avec ce dernier (playmidi), lorsque j’essaie de jouer mon fichier en console, il me ressort :

Et avec timidity, il me ressort les informations qu’on peut attendre (enfin je ne sais pas si c’est réellement ce qu’il est censé afficher), à savoir l’auteur du midi, la séquence, etc. Mais en plus :

Enfin bref, tout cela pour dire que je ne sais pas comment configurer ce midi (et j’ai cherché un package qui pouvait faire la même chose qu’alsa, à savoir configurer le tout automatiquement, mais je n’ai rien trouvé).

Merci de m’avoir lu, et merci beaucoup d’avance à ceux qui sauront m’apporter leurs aides.


#2

Houlà… la configuration du son :angry:
Je ne suis pas très musicien, moi.
Sinon, ton son peut être joué avec au moins un utilitaire, donc ca veut dire que ta config de base n’a pas l’air trop de travers…

C’est normal si tu as ouvert ta session graphique en tant que user normal, tu n’a pas le droit de démarrer une appli graphique en tant que root sur un display qui ne t’appartient pas…
Regardes un peu sur le forum, il y a déjà eu plusieurs posts à ce sujet. Je te laisse un peu chercher, comme ça, tu en apprendras un max. :wink:
Mots clés pour ta recherche: DISPLAY, xhost …

Sinon, redémarre ta session graphique en tant que root et là tu pourra éditer tout ce que tu veux. (rappel: il n’est pas recommandé de démarrer Xwindow en tant que root…).

Je pense que tu utilises le démon de son de KDE, soit artsd, non ?
Alors regarde bien que le démon de son de Gnome ne tourne pas en parallèle, sinon ca peut provoquer des conflits.

Démon KDE: artsd
Démon Gnome: esd

J’espère que quelqu’un d’autre de plus qualifié que moi pourra mieux t’aider pour ce problème de son …


#3

Mon son = le son normal (celui qui n’est pas midi) ? Si non, justement, non. À moins qu’avec timidity, cela fonctionne, mais que je n’ai juste pas configuré ce qu’il fallait pour qu’il joue par lui-même. Car j’ai lu qu’il n’envoyait pas directement le midi sur la carte son, mais qu’il “interprètait” le son avec ses propres instruments, et si c’est le cas, alors normalement ça devrait fonctionner. Mais apparemment, je n’ai pas d’instruments. Si quelqu’un sait où je peux en trouver, pour timidity ? Je vois partout sur le net qu’on parle de timidity-patches, mais je n’ai aucun packages de ce nom (avec apt-cache search timidity ni apt-cache show timidity-patches)…
Si oui, alors… euh… oui.

[quote=“jabba”]Je pense que tu utilises le démon de son de KDE, soit artsd, non ?
Alors regarde bien que le démon de son de Gnome ne tourne pas en parallèle, sinon ca peut provoquer des conflits.

Démon KDE: artsd
Démon Gnome: esd

J’espère que quelqu’un d’autre de plus qualifié que moi pourra mieux t’aider pour ce problème de son …[/quote]
Oui, dans le gestionnaire des tâches, il y a bien un artsd, mais il n’y a pas de esd (ce qui est logique, vu que je n’ai pas Gnome, non ?).

[quote=“jabba”]Houlà… la configuration du son :angry:
Je ne suis pas très musicien, moi.
Sinon, ton son peut être joué avec au moins un utilitaire, donc ca veut dire que ta config de base n’a pas l’air trop de travers…

C’est normal si tu as ouvert ta session graphique en tant que user normal, tu n’a pas le droit de démarrer une appli graphique en tant que root sur un display qui ne t’appartient pas…
Regardes un peu sur le forum, il y a déjà eu plusieurs posts à ce sujet. Je te laisse un peu chercher, comme ça, tu en apprendras un max. :wink:
Mots clés pour ta recherche: DISPLAY, xhost …

Sinon, redémarre ta session graphique en tant que root et là tu pourra éditer tout ce que tu veux. (rappel: il n’est pas recommandé de démarrer Xwindow en tant que root…).[/quote]
D’accord, merci, je ne savais pas… J’ai cru que j’avais réussi, une fois. C’était sûrement sous Gnome, il me semblait n’avoir aucun problème de ce style…

Donc j’ai trouvé ceci : http://forum.debian-fr.org/viewtopic.php?p=17413, j’ai sudo, et tout, mais j’ai beau cherché, je ne trouve pas la commande qu’il faudrait que je mette dans mon /etc/sudoers pour pouvoir ouvrir n’importe quel fichier avec KEdit (par exemple, ou n’importe quel autre éditeur de texte) avec les droits de root. J’ai essayé en mettant la commande /usr/bin/kedit (ce qui donne, pour mon /etc/sudoers, dans les commandes :

quote
Cmnd_Alias DEBIAN_TOOLS = /sbin/halt, /sbin/reboot, /usr/bin/apm, /usr/bin/apt-get, /usr/bin/auto-apt, /usr/bin/dpkg, /usr/bin/dselect, /usr/bin/dpkg-reconfigure, /usr/bin/kedit
(…)[/quote]
…), mais ça ne fonctionne pas ; lorsque je fais par exemple $sudo kedit /etc/modules, il me retourne :

[quote]edit: cannot connect to X server
zsh: exit 1 sudo kedit /etc/modules[/quote]

Bref : Pourriez-vous m’indiquer ce que je dois mettre dans mon /etc/sudoers pour pouvoir éditer un fichier avec un éditeur de texte (ou n’importe lequel, de préférence, mais bon là je rêve sûrement ^^) avec les droits de root ?

Merci, déjà, et merci d’avance !


#4

Alors, pour sudo, tu écris ces deux lignes :

[quote]root ALL=(ALL) ALL
ton_user ALL=(ALL) ALL
[/quote]
en changeant, bien sûr, ‘ton_user’ :laughing:
Pour midi, j’avais cherché et trouvé, il y a > 1 an et voilà ce que j’avais écrit sur mes fiches :
paquet = TiMidity++
l’exécutable est ds /usr/bin/timidity
en console taper en ‘user’ : timidity -ik
ou /usr/bin/timidity -ik
pour jouer un son directement du gestionnaire de fichier : clic DR sur le fichier/ouvrir avec/
Voilà, c’est brut de décoffrage car je ne m’en sers plus depuis.


#5

OK, merci ! Ça fonctionne, ça ouvre donc timidity en mode graphique… mais il n’y a toujours aucun son ! :frowning:
Enfin c’est autrement étrange, puisque timidity ne produit normalement pas du midi “pur”, mais interprète avec ses propres instruments. Cela voudrait dire que je n’ai pas d’instruments !? Quelqu’un sait où je peux en trouver ? (Enfin j’irai déjà voir sur le site officiel.)

Et pour l’ouverture d’applications graphiques en root, j’ai remarqué en fait qu’il s’agissait de toutes les applications. N’y a-t-il pas un moyen de désactiver ce truc (qui est de ne pas autoriser les utilisateurs qui ne sont pas dans leurs sessions à ouvrir des applications graphiques) ? Parce que le sudo avec tous les droits, c’est une manière de contourner le problème (que je vais utiliser en attendant), mais ça ne règle pas vraiment le problème (oui parce que pour moi, ne pas pouvoir ouvrir des applications graphiques en root est un problème, surtout qu’avant avec Gnome [je crois], j’y arrivais)…

Merci pour votre aide ! Et merci d’avance.


#6

Juste une suggestion, le son midi est peut être associé à un canal différent du canal usuel, or par défaut je crois que alsa met à zéro le niveausonore de tous les canaux. As tu vérifier cela? Sinon, je n’ai pas trop di’dées.


#7

[quote]alsa met à zéro le niveausonore de tous les canaux. [/quote] Certainement une bonne piste, en effet.


#8

Non, écoutez, j’ai un peu regardé partout, je ne vois nulle part là où le son pourrait être éteint, ou lorsqu’il y a eu ces réglages à zéro, j’ai modifié (et ai redémarrer le système de son au cas où) et ça ne fonctionnait toujours pas.

D’ailleurs, petite question en passant : comment fait-on pour redémarrer le système de sons en commande ? (Là j’ai été “obligé” de le faire avec la configuration de KDE.)

Non mais à mon avis, il faut que je “crée” le canal, puisque dans la liste que KMid me propose dans le MIDI Setup, il y a ce fameux «Port-0 ALSA-device» (où le port 0 correspond à rien, j’imagine). Mais comment faire ?..

Avec «aRts Control Tool» (qui est une application installée par défaut avec KDE), j’ai été dans le menu «View» → «MIDI Manager», où là encore, j’ai une liste qui ne contient que l’élément «Midi Through Port-0 ( 62:0 )». En essayant de faire un «Add» → «System MIDI Port», je peux indiquer le chemin vers un midi (/dev/mid*).
En jettant un coup d’oeil dans /dev/, j’ai :
[ul][li]midi@ (lien qui pointe vers midi00)[/li]
[li]midi00[/li]
[li]midi01[/li]
[li]midi02[/li]
[li]midi03[/li]
[li]midi1[/li]
[li]midi2[/li]
[li]midi3[/li][/ul]
En entrant n’importe laquelle de ces valeurs dans le prompt que MIDI Manager me demande, rien ne se produit !

Vous avez quoi, vous, dans cette liste (pour ceux qui ont MIDI Manager ou KMid [dans MIDI Setup]) ?

Merci pour votre aide !


#9

Bon je me lance:

Source de .mid: kissdesign.net/musiquemidi/page/page.htm (je choisis Renaud et Barbara)

apt-get install timidity

$ timidity
Il gueule: pas de timidity.cfg

Celui est dans /etc/timidity

Par contre il semble que les tables d’onde soit dans freepats.

apt-get install freepats (30M!!)

francois@totoche:/tmp$ timidity L_aigle_noir_Barbara.mid
/dev/dsp doesn’t support 8192-byte buffer fragments (13)
Playing L_aigle_noir_Barbara.mid
MIDI file: L_aigle_noir_Barbara.mid
Format: 1 Tracks: 10 Divisions: 120
Track name: Soft karaoke
Text: @KMIDI KARAOKE FILE
Track name: Words
Track name: Melodie 4
Text: (Barbara ; Ed Warner C.M.F.)
Track name: Piano 1
Track name: Basse 2
Track name: GuitarAc3
Track name: Choeurs 5
Track name: Drums
Track name: L’aigle noir
Text: F
Text: C

Ça marche du feu de dieu… :slightly_smiling:

Voilà, ça devrait faire pareil pour toi…

Note: Je n’ai pas Alsa mais un (bon vieux (!)) 2.4.28 personnel (venant de kernel.org) avec les modules sons du i810 qui sont ceux du 2.4.23 recopiés et compilés car les modules i810 du 2.4.28 n’ont jamais marchés chez moi.


#10

Ah, voilà ce que je demandais ! Excellent, ça fonctionne maintenant, je peux lire un midi avec timidity, mais uniquement avec timidity… (Il faut juste faire un # mv /etc/timidity/freepats.cfg /etc/timidity/timidity.cfg)

Mais le problème n’est pas réglé pour autant, puisque je n’ai toujours que le port 0 dans les choix de midis, et aucun ne sort avec KMid. Disons que dans l’idéal, j’aurais aimé pouvoir faire fonctionner la vraie sortie midi…

Par ailleurs, et je ne sais pas si ça te le fait à toi aussi (?), en jouant un midi avec timidity, je ne peux rien faire d’autre sinon le son est totalement alteré : il suffit que je minimise une page pour qu’il y ait une coupure du son (le temps de la minimisation), de même lorsque je scrolle, etc… Bref, je ne peux pas écouter avec timidity en faisant autre chose, et ça aussi c’est embêtant.


#11

Le problème est que je crois que timidity est un player midi soft, en clair il synthétise lui même le son (et donc utilise du CPU). Visiblement tu cherches à utiliser les capacités midi de ta carte son. Il faut donc vérifier

  1. la carte a-t-elle ces capacités? Dans la mesure ou une SB16 a un Midi incorporé, j’aurais pensé que oui mais lis plus loin…

  2. Comment le faire fonctionner? Je regarde les source des noyaux. C’est apparemment gérer au niveau des OSS. Je ne l’ai ai pas compilé (ce qui confirme ce que j’ai dit sur timidity), et ça ne te concerne pas, toi c’est alsa.

Bon Un coup de doc sur Alsa.
L’article linuxfocus.org/Francais/Sept … e259.shtml semble dire (ce qui m’étonne mais bon) que tu as de grandes chances de ne pas avoir de Midi sur ta carte ce qui explique que Alsa n’arrive pas à lui faire cracher du Midi (c’est logique). Bref avant de continuer, es tu sur que ta carte fait partie des rares cartes PCI avec le Midi.

Enfin dans l’article que je t’envoie, il explique comment utiliser timidity avec kmid.

Voilà, à toi de jouer (du midi)


#12

Mmmh, d’accord, merci. Mais comment fait Windows, alors, si ma carte son ne supporte pas le midi ??

Bref, merci beaucoup pour toutes ces aides ! Sujet presque résolu (de toute façon je repasse à Windows :unamused: )


#13

Windows fait comme linux avec timidity, il intègre en soft un synthétiseur MIDI. Il est intégré dans le driver. C’est pareil avec les winmodems…

Pourquoi diable repasses tu à Windows?


#14

Parce qu’il est plus stable.

(Haha)
Non mais c’est parce que j’ai beau adorer Linux, ainsi que son principe (le fait qu’il soit libre…), je ne m’y sens toujours pas très à l’aise…

J’imagine qu’on peut à peu près tout configurer de toute façon, et j’étais parti dans cette optique : dès que quelque chose, du point de vue graphique, me dérangeait, je n’avais qu’à le modifier (et chercher, avant, pour savoir le modifier). Et c’est ainsi que je me suis mis à installer diverses polices, à tout configurer un peu partout.
Il reste des choses que je n’ai pas réussi à faire, configurer l’apparence des applications dans la barre des tâches (par exemple pouvoir mettre leur mettre une bordure, ou choisir leurs couleurs indépendamment de la barre des tâches, ou l’apparence lorsqu’on les survole, etc), (ou assigner le bouton “Windows” [la petite fenêtre, sur le clavier] au menu K, mais ça c’est vraiment du chipotage) ou encore pouvoir faire clignoter (littéralement, comme lorsque j’ouvre une application en arrière-plan) une application dans la barre des tâches lorsqu’elle m’appelle (je parle de aMSN, en fait), faire fonctionner ces accents circonflexes sous OpenOffice.org, pouvoir faire disparaître ce truc qui apparaît dans la barre des tâches à chaque fois que je lance une application (le truc de lancement d’applications, pour dire qu’elle est en train de se lancer)… Et encore pouvoir mettre un menu contextuel de plus (clic droit sur certains fichiers), par exemple choisir directement dans la liste qui apparaît si je veux ouvrir ce fichier HTML avec Mozilla Firefox, ou avec Gedit (ou Quanta+, ou que sais-je)…

Mais si ce n’était que ça. La chose qui m’embête le plus, c’est que, dépendant ce que je fais, j’ai des petits “vides”, comme si mon processeur n’était pas à jour. C’est-à-dire que des fois, le curseur de la souris, ou toute autre chose, se bloque durant une demi seconde. De même lorsque je maximise une application qui était minimisée dans la barre des tâches, il faut une demi seconde (ou légèrement moins) à mon ordi pour pouvoir afficher la fenêtre. Ce n’est rien, mais c’est… ça qui me “met mal à l’aise” ^^
Je cherche un moyen de régler ça, mais je ne sais même pas ce que je pourrais entrer pour une recherche.
Enfin j’essaierai de compiler le noyau, ces temps prochains, histoire de voir si y a moyen de régler ça par là.

Y a aussi cette histoire de midi. Je réglerai ça, mais j’aurais aimé trouver une application qui me permet de créer des partitions de musique, en choisissant mes instruments, et tout, mais je n’ai rien trouvé. (Mais j’imagine que ça doit bien exister ! J’ai dû mal cherché… Mais justement, en attendant, j’irai sous Windows)

C’est vrai qu’en me relisant, je ne suis pas de très bonne foi, mais je compte bien garder Linux sur une partition, et y revenir plus tard.

Enfin bref, vous croyez que compiler le noyau (ce que je n’ai jamais fait) est une étape nécessaire à la configuration personnelle de mon ordinateur ? (Dans le sens où je dois aussi compiler le noyau même si je veux rester dans cet esprit de “tester” ?)

Enfin bref, merci quand même pour votre aide à tous ! Bonne soirée.

PS : Notez que si vous savez comment faire pour une de ces nombreuses choses que j’ai énumérées, n’hésitez pas à me le dire ! :stuck_out_tongue:


#15

Le gel d’une demi seconde est une application qui doit chercher une ressource (un CD, une ressource réseau). Unix utilise beaucoup les douilles (sockets) pour la communication entre processus. Poiur cela il faut qu’il n’y ait pas de soucis dans la résolution de noms: Donc

Donc

  1. vérifies que /etc/hosts commence par hosts: typiquement
    order hosts,bind
    multi on
  2. Vérifies que /etc/hostname contient un nom (le nom de ta machine, mettons toto) et que ton fichier /etc/hosts commence par

127.0.0.1 toto localhost

  1. Vérifie que tu as une interface loopback, i.e qu’il y ait dans /etc/network/interfaces au début
    auto lo
    iface lo inet loopback

Pour ton problème de logiciel, fais une demande sur la liste debian-user-french et une recherche dans les archives de cette liste, j’ai déjà vu passé cette demande il n’y a pas longtemps (1 ou 2 ans qd même) , il me semble qu’il y avait même un programme de «scrach»…


#16

Merci !

Donc /etc/hosts contient :

[quote]127.0.0.1 localhost.localdomain localhost
127.0.1.1 debian

The following lines are desirable for IPv6 capable hosts

::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts[/quote]
…(«debian» est le nom de ma machine). Mais même après avoir changé localhost.localdomain (que j’imaginais correct, mais j’ai modifié au cas où), et après avoir redémarré le serveur graphique (avec # /etc/init.d/kdm restart), ça n’arrange pas grand chose.

J’ai essayé avec ces versions :

[quote]#127.0.0.1 localhost.localdomain localhost
127.0.0.1 debian localhost
127.0.1.1 debian[/quote]

[quote]#127.0.0.1 localhost.localdomain localhost
127.0.0.1 debian localhost
#127.0.1.1 debian[/quote]
Puis j’ai rétabli comme c’était avant, puisque ça ne change pas grand chose.

/etc/hostname contient bien :

Et j’imagine que tu parlais de /etc/host.conf en ce qui concerne le point 1 (parce que sinon ça ne veut rien dire ^^), et effectivement, il contient bien :

[quote]order hosts,bind
multi on[/quote]

Donc tout est bon, pour ces liaisons de sockets. Malheureusement… :frowning: (C’est vrai que j’avais l’espoir de pouvoir régler ça comme ça)


#17

Qu’est ce que c’est que ce 127.0.1.1 debian, met
127.0.0.1 debian

en fait met

127.0.0.1 localhost.localdomain localhost debian

et supprime (commente la ligne avec 127.0.1.1)


#18

Essaye de faire tourner

$ while true ; do ps aux >> /tmp/trace; echo “----”>> /tmp/trace ;done

et lors qu’un gel s’est produit, tu stoppes le truc (^C) et tu regardes dans /tmp/trace si un processus apparait lors de ce gel. Tu refais ça plusieurs fois, ça permettra de voir.

Tu peux éventuellement en parler sur la liste debian.

PS: A mon avis, c’est «fam», ce truc (qui met à jour en temps réel le bureau et les fenêtres de Konqueror bouffe un temps CPU pas croyable), tu peux éventuellement le désiinstaller pour voir.


#19

En fait, j’ai fait un test : je me suis créé une nouvelle session pour voir si ça allait mieux, et… à mon grand étonnement, ça allait mieux, en effet.

Je ne sais pas d’où venait exactement mais le problème, mais il est en quelques sortes résolu.

En tout cas, là je suis repassé sous Windows, et je sens un manque… :stuck_out_tongue: Je repasserai sous Linux d’ici très peu, en me créant une troisième partition ext3 qui me servira de lieu d’échange entre Windows et Linux (puisque Windows et Linux peuvent avoir accès à cette partition en lecture et en écriture).

Merci pour ton aide !