Skip to main content

6 - Le MIDI


midi virtuel

Bonjour à tous & toutes,

Nouveau sous linux, j'ai installé mandriva le 2005 (sous KDE). Je souhaite pouvoir étoffer des enregistrements (voix + guitare) mais n'ayant pas de synthé j'ai installé vkeybd. J'ai aussi TiMidity++, AmSynth et Rosegarden.

Apparemment j'ai pas tout faux question midi car lorsque j'ouvre un fichier .mid avec Timidity il le lit sans problème. Par contre je n'arrive pas à sortir un son avec vkeybd.

Ça donne ça :

Copy to clipboard
[kristen@localhost ~]$ /usr/bin/timidity -iA -B2,8 -Os & [1] 26717 Requested buffer size 2048, fragment size 1024 ALSA pcm 'default' set buffer size 2048, period size 1024 bytes TiMidity starting in ALSA server mode Opening sequencer port: 128:0 128:1 128:2 128:3 [kristen@localhost ~]$ vkeybd & [2] 27303 [kristen@localhost ~]$ aconnectgui client 0: 'System' [type=kernel] 0 'Timer ' 0 1 'Announce ' 0 Connecting To: 63:0 client 62: 'Midi Through' [type=kernel] 0 'Midi Through Port-0' 2 client 129: 'Virtual Keyboard' [type=user] 0 'Virtual Keyboard' 1048578 client 62: 'Midi Through' [type=kernel] 0 'Midi Through Port-0' 2 client 128: 'TiMidity' [type=user] 0 'TiMidity port 0 ' 2 1 'TiMidity port 1 ' 2 2 'TiMidity port 2 ' 2 3 'TiMidity port 3 ' 2 Connection failed (Operation not permitted) Requested buffer size 2048, fragment size 1024 ALSA pcm 'default' set buffer size 2048, period size 1024 bytes [1]- Segmentation fault /usr/bin/timidity -iA -B2,8 -Os


Je ne comprends pas d'où vient le 'connection failed (Operation not permitted)'...
Merci de votre aide

Kristen
Bonjour à tous & toutes,

Nouveau sous linux, j'ai installé mandriva le 2005 (sous KDE). Je souhaite pouvoir étoffer des enregistrements (voix + guitare) mais n'ayant pas de synthé j'ai installé vkeybd. J'ai aussi TiMidity++, AmSynth et Rosegarden.


Salut,
Sous KDE, y'a kaconnect qui fait la même chose qu'aconnectgui. On le trouve ici : http://alsamodular.sourceforge.net/
Et google me trouve même un rpm pour mandriva là : http://rpm.pbone.net/index.php3/stat/4/idpl/2825307/com/kaconnect-1.1.1-3mdk.i586.rpm.html
Sinon, Rosegarden doit reconnaître et te permettre d'utiliser directement timidity, regarde la page rosegarden sur ce site.

Je ne comprends pas d'où vient le 'connection failed (Operation not permitted)'...

Un problème de droits ? Tu obtiens la même chose en lançant tes commandes en "root" ? aconnectgui fonctionne correctement sans timidity ? Pourquoi tu n'utilises pas Jack/Qjackctl ?

Trinine
Merci Trinine

En fait je lance déjà aconnect via aconnectgui (cf. listing 1er post). J'ai essayé en root, j'ai exactement le même résultat...

Pour le reste j'avoue que midi sous linux reste un grand mystère pour moi. Exemples :
1 - dans aconnectgui j'ai 4 tableaux : système, midi through, virtual Keyboard et TiMidity. J'ai donc relié la sortie virtual keyboard à l'entrée TiMidity port 0 (j'ai essayé avec le port 1, mêmes soucis)

Doit-on passer passer par les midi through ?

2 - Je suis largué quand tu me demande si aconnectgui fonctionne correctement sans Timidity. À quoi servirait-il ? Son role est bien de connecter non ?

3 - Rosegarden... ben je le lance et je n'ai aucune idée comme l'utiliser pour le moment..

Kristen
En fait je lance déjà aconnect via aconnectgui (cf. listing 1er post). J'ai essayé en root, j'ai exactement le même résultat...

Bon c'est pas un problème de droits, dommage, ça aurait été plus simple ! Kaconnect tu as essayé ?

Je suis largué quand tu me demande si aconnectgui fonctionne correctement sans Timidity. À quoi servirait-il ? Son role est bien de connecter non ?

Je voulais juste savoir si le problème est spécifique à timidity ! (donc si aconnectgui fonctionne avec d'autres trucs que timidity !

Rosegarden... ben je le lance et je n'ai aucune idée comme l'utiliser pour le moment..

Tu devrais essayer ... vkeybd c'est pas franchement de la tarte pour saisir un morceau complet !
Un séquenceur me parait en effet plus adapté (sauvegardes, gestion intégrée du midi, multipistes, etc...). En plus, la page rosegarden correspond à tes besoins !
Lance timidity puis rosegarden. Dans rosegarden, tu devrais voir les 4 ports timidity dans "Composition>Studio>Gérer les périphériques MIDI". Puis crées une piste, attribues-lui un des ports timidity et en avant la compo (touche M pour ouvrir le piano-roll).
Tu trouveras aussi d'autres infos ici : http://willow75.free.fr/article07/index.html

T.


Lorsque je lance Timidity puis Rosegarden (en toot ou pas), le dernier ne voit pas le premier : en lecture comme en écriture il ne voit que 62:0 midi through Port-0 (duplex)...
Lorsque je lance Timidity puis Rosegarden (en toot ou pas), le dernier ne voit pas le premier : en lecture comme en écriture il ne voit que 62:0 midi through Port-0 (duplex)...


Ca, c'est pas très bon ...
Si tu recommences en lançant rosegarden dans un terminal, t'as pas des messages du type :
"ALSA Client information:
128,0 - (TiMidity, TiMidity port 0) (WRITE ONLY) (ctype 1, ptype 2, cap 66)"
et autres messages concernant timidity ?

Si tu lances timidity, tu le voies dans Qjackctl (onglet midi de la fenêtre connections) quand Jack est démarré ?

Je ne sais pas si il ne faudrait pas revoir ton installation de timidity ... cf la page timidity sur ce site.

Sinon, il existe aussi qsynth (interface graphique à fluidsynth basé sur QT) qui te permettra de charger des soundfonts pour les utiliser sous rosgarden par exemple.

T.
[d'abord mes excuses pour le délai...]

voilà ce que donne le lancement successif de TiMidity++ et de Rosegarden :

Copy to clipboard
[root@localhost kristen]# timidity TiMidity++ version 2.13.2 -- MIDI to WAVE converter and player Copyright (C) 1999-2004 Masanao Izumo Copyright (C) 1995 Tuukka Toivonen This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA [root@localhost kristen]# rosegarden Link points to "/tmp/ksocket-root" QPixmap: Cannot create a QPixmap when no GUI is being used QPixmap: Cannot create a QPixmap when no GUI is being used Link points to "/tmp/kde-root" QPixmap: Cannot create a QPixmap when no GUI is being used QPixmap: Cannot create a QPixmap when no GUI is being used kbuildsycoca running... KWrited - Listening on Device /dev/pts/2 JACK compiled with System V SHM support [root@localhost kristen]# PluginFactory::instance(ladspa): creating new LADSPAPluginFactory [/root/.ladspa] [/usr/local/lib/ladspa] [/usr/lib/ladspa] Rosegarden 4-1.0 - AlsaDriver - alsa-lib version 1.0.8 JackDriver::initialiseAudio - JACK server not running ALSA Client information: 62,0 - (Midi Through, Midi Through Port-0) (DUPLEX) [ctype 2, ptype 2, cap 99] Creating device 0 in Play mode for connection 62:0 Midi Through Port-0 (duplex) Default device name for this device is MIDI output system device Creating device 1 in Record mode for connection 62:0 Midi Through Port-0 (duplex) Default device name for this device is MIDI input system device AlsaDriver::setCurrentTimer((auto)) Current timer set to "system timer" AlsaDriver::initialiseMidi - initialised MIDI subsystem SoundDriver::getMappedDevice(0) - name = "MIDI output system device" type = 0 direction = 0 connection = "62:0 Midi Through Port-0 (duplex)" recording = 0 SoundDriver::getMappedDevice(1) - name = "MIDI input system device" type = 0 direction = 1 connection = "62:0 Midi Through Port-0 (duplex)" recording = 0 RosegardenGUIDoc::xmlParse (reader.parse()): 10ms elapsed AlsaDriver::setMIDIClockInterval( 0.020833333R) SoundDriver::getMappedDevice(0) - name = "MIDI output system device" type = 0 direction = 0 connection = "62:0 Midi Through Port-0 (duplex)" recording = 0 SoundDriver::getMappedDevice(1) - name = "MIDI input system device" type = 0 direction = 1 connection = "62:0 Midi Through Port-0 (duplex)" recording = 0 SoundDriver::clearAudioFiles() - clearing down audio files


Rosegarden ne voit donc pas Timidity !?!

Autrement (on ne se moque pas des p'tits nouveaux svp) comment démarre-t-on Jacq ?
d'abord mes excuses pour le délai...

On a tout le temps 😉

root@localhost kristen# timidity
TiMidity++ version 2.13.2 — MIDI to WAVE converter and player
Copyright (C) 1999-2004 Masanao Izumo
Copyright (C) 1995 Tuukka Toivonen

Hum ... mauvaise commande, utilises plutôt celle du début ("/usr/bin/timidity -iA -B2,8 -Os &") et vois si c'est pas mieux !

Autrement (on ne se moque pas des p'tits nouveaux svp) comment démarre-t-on Jacq ?

Le plus simple sera d'utiliser l'interface graphique Qjackctl puis de consulter la page jack ici même ! Qjackctl te permettra de configurer jack, de le lancer, de gérer tes différentes connections, etc ... Cela te paraîtra peut-être un peu bizarre au début, mais Jack est le coeur d'un système MAO sous Linux car il offre de nombreux avantages : connections et synchronisation des applications, latence, etc.
Penses à lancer timidity (avec la commande "à rallonge" ❗ avant jack. Tu pourras aussi tester qsynth si tu veux utiliser des Soundfonts. Bon, ça te fait quelques liens à lire !
Quand tout fonctionnera, tu verras s'il est utile d'optimiser un peu ton système (kernel multimedia + realtime-lsm) pour limiter d'éventuels craquements ou problèmes de latence.

T.

Hum ... mauvaise commande, utilises plutôt celle du début ("/usr/bin/timidity -iA -B2,8 -Os &") et vois si c'est pas mieux !


OK je passe sous root dans une console et...

Copy to clipboard
[root@localhost kristen]# /usr/bin/timidity -iA -B2,8 -Os & [1] 13503 [root@localhost kristen]# Requested buffer size 2048, fragment size 1024 ALSA pcm 'default' set buffer size 2048, period size 1024 bytes TiMidity starting in ALSA server mode Opening sequencer port: 129:0 129:1 129:2 129:3


Ensuite on lance jack et paf une "erreur de segmentation" ????
Suspectant une mauvaise installation de Timidity, j'e l'avais auparavant désinstallé puis réinstallé (RPM sous mandriva)

Copy to clipboard
[root@localhost kristen]# qjackctl Warning: no locale found: /usr/share/locale/qjackctl_fr_FR.qm Requested buffer size 2048, fragment size 1024 ALSA pcm 'default' set buffer size 2048, period size 1024 bytes [1]+ Segmentation fault /usr/bin/timidity -iA -B2,8 -Os


Grrr...
Bon, y'a bien l'air d'avoir un soucis avec ton timidity !

Quelques pistes si tu veux quand même utiliser timidity :

=> désactives temporairement aRts, le système son de KDE (Centre de configuration KDE => Son et Multimedia => Système son => décocher la case "activer le système sosore" + "Appliquer") et réessaye ! ("/usr/bin/timidity -iA -B2,8 -Os" puis rosegarden dans un terminal)

=> tentes d'utiliser timidity en sortie Jack au lieu d'Alsa : ouvrir qjackctl, démarrer jack puis lancer timidity avec "/usr/bin/timidity -iA -B2,8 -Oj" ("Oj" et non pas "Os") puis lancer rosegarden

=> si rien de tout ça ne marche, désinstaller timidity (urpme timidity) et tenter une installation manuelle ! Les instructions (en anglais) sont là : http://timidity-docs.sourceforge.jp/cgi-bin/hiki/hiki.cgi?INSTALL.en la page du site officiel est là : http://timidity.sourceforge.net/
Pour résumer : télécharger la dernière version (par là https://sourceforge.net/project/showfiles.php?group_id=64316), vérifier et décompresser l'archive. Se placer dans le dossier créé et lancer la sainte trilogie ("./configure && make && make install"). Attention, le binaire sera peut-être installé dans /usr/local/bin au lieu de /usr/bin !
Croisez les doigts, et réessayer !


Si tu veux essayer autre chose (ou si la compilation t'effraies) :

=> Qsynth. Voir la page sur ce site. Installe qsynth et trouve une soundfont General Midi. Ouvrir qjackctl, lancer jack puis qsynth. Charger la soundfont désiréeavec qsynth et enfin lancer rosegarden.

=> Selon les sons que tu cherches, utilises d'autres synthés. Il sont également utilisables via Jack (donc avec tous les softs compatibles Jack). De plus, la spécialisation de certains synthés leur permet d'offrir un son de (bien) meilleure qualité que timidity. Ex : le très bon hydrogen pour tout ce qui est batterie et cie, l'excellent zynaddsubfx avec des sons prédéfinis (piano, orgues, etc.). Tu peux jeter un oeil à la page SynthesVirtuels. Tu as une idée des sons que tu recherches ?

T.
Bon, y'a bien l'air d'avoir un soucis avec ton timidity !


À qui le dis-tu !

Quelques pistes si tu veux quand même utiliser timidity :

= désactives temporairement aRts, le système son de KDE (Centre de configuration KDE = Son et Multimedia = Système son = décocher la case "activer le système sosore" + "Appliquer") et réessaye ! ("/usr/bin/timidity -iA -B2,8 -Os" puis rosegarden dans un terminal)


Ben c'est pareil...

= tentes d'utiliser timidity en sortie Jack au lieu d'Alsa : ouvrir qjackctl, démarrer jack puis lancer timidity avec "/usr/bin/timidity -iA -B2,8 -Oj" ("Oj" et non pas "Os") puis lancer rosegarden


OUIIIII !!! Victoire ! Chouchenn pour tout le monde !
Bon, sérieux : ton astuce (c'est pas vraiment le terme mais bon) m'a enfin permis de charger un fichier .mid dans Rosegarden et de l'entendre. Étonnant, non ?

D'accord j'ai de temps en temps un message comme quoi "le sous-système Jack perd des samples" mais rien ne peut ternir mon bonheur... On est dans la bonne voie.

Tu as une idée des sons que tu recherches ?


En fait j'ai enregistré quelques chansons chez un copain (voix + guitare comme je le disais au début. Pour ceux que ça interresserait ktonnelle.free.fr) et je souhaiterais utiliser un clavier virtuel - commeVkeybd ou tout autre qu'on me conseillerait - pour rajouter aux enregistrements (wave ou mp3 ou ogg) un peu de basse, violon ou flûte. Ça va être long et douloureux parce que je ne connais rien aux claviers -déjà la gratte... je gratouille ! - et carrément impossible aux percus. Mais j'espère pouvoir ainsi donner à des copains musiciens qui seraient intéressés une idée de ce que je souhaite pour aller + vite.

D'où mes questions suivantes : et maintenant comment lancer Vkeybd (est-ce bien _avant_ Timidity ? Rosegarden peut-il jouer les fichiers existant déjà pendant que je pianote et si oui sous quel format ?

De toutes façons, Trinine, tu és déjà bienvenue à une soirée crêpes (ou couscous ou autre) quand tu veux !

Merci encore

Kristen
tu es déjà bienvenue à une soirée crêpes (ou couscous ou autre) quand tu veux !


Je 'publie' trop vite moi ! Je voulais mettre 'bienvenu' sans e. Mais ça reste bien sûr valable au cas contraire.
tu es déjà bienvenue à une soirée crêpes (ou couscous ou autre) quand tu veux !


Je 'publie' trop vite moi ! Je voulais mettre 'bienvenu' sans e. Mais ça reste bien sûr valable au cas contraire.


Sans le "e", sans le "e" ... enfin ...

D'accord j'ai de temps en temps un message comme quoi "le sous-système Jack perd des samples" mais rien ne peut ternir mon bonheur... On est dans la bonne voie.


Ca, ça risque de devenir génant (craquements et tout et tout ...). Utilises Qjackctl (Setup ...) pour augmenter la latence (augmentes Frames/Period). Si le problème persistes, il faudra envisager sérieusement l'installation du kernel multimédia...

je souhaiterais utiliser un clavier virtuel - commeVkeybd ou tout autre qu'on me conseillerait - pour rajouter aux enregistrements (wave ou mp3 ou ogg) un peu de basse, violon ou flûte.


Rosegarden te permettra tout ça ! Intégrer tes pistes sons, rajouter une piste basse midi, une pour la flûte, etc. Pour la rythmique, je préfère hydrogen ...
Pour une présentation de Rosegarden, jetes un oeil au tutoriel traduit par willow75 : http://willow75.free.fr/article07/index.html
Pour le clavier ... ca tombe bien, le piano roll de rosegarden t'évitera cette gymnastique !

T.

Merci Trinine et à Linuxmao, de tout coeur.

Même Vkeybd fonctionne !

J'ai encore des petits soucis, mais je vais tâcher de régler ça tout seul sans abuser de votre temps. Je reviendrai si besoin est.

Fin du thread...

Kenavo
Salut

Kristen

Merci Trinine et à Linuxmao, de tout coeur.
Fin du thread...

Alors on va mettre un "résolu" dans l'objet ...

A l'occasion, penses à compléter les quelques pages de ce site si tu fais des découvertes intéressantes, histoire que ça profite à tous... c'est un peu l'esprit de ce site... faire en sorte que les problèmes résolus puisse enrichir tout le monde...
Bonne Zik' 😉

Trinine