Chargement...
 
Skip to main content

4 - Toutes les autres applications, les émulateurs...


Utilisation Beatrix avec JACK

Articles: 10
Bonjour à tous! Je suis un utilisateur de Rosegarden avec synthés virtuels (QSynth, ZynAddSubFX, Hydrogen) intégrés avec Jack, sur 64studio.

J'ai découvert il y a quelques jours Beatrix, le synthé virtuel émulateur d'orgue Hammond. Tout marche très bien si je le lance tout seul, mon clavier se connecte bien et j'arrive à en jouer (mince, il a vraiment un bon son!). Par contre je n'arrive pas à l'activer en même temps que JACK: c'est comme s'il y avait un conflit sur l'accès à /dev/dsp.

Si je lance d'abord Beatrix, JACK ne part pas:
the playback device "hw:0" is already in use. Please stop the application using it and run JACK again
cannot load module alsa

Si je lance JACK, Beatrix ne part pas:
/dev/dsp: Device or resource busy

C'est comme s'ils n'arrivaient pas à se partager la carte son...

Pour le reste, les indications que j'ai trouvées sur le site sont OK (modprobe snd_virmidi, etc.), mais pour l'instant je suis bloqué sur ce problème de Device busy.

J'ai même essayé (juste pour voir) de faire les mêmes manips sur une installation virtuelle en VMWare (même laptop, sous Windows cette fois — installation Debian pure) et j'ai exactement les mêmes symptômes, comme si ce n'était pas un problème de 64studio.

Comme je crois savoir qu'il y en a parmi vous qui ont réussi à intégrer Beatrix à leurs synthés virtuels, je serais curieux de savoir comment ils ont fait.

Merci d'avance, et longue vie à Linux MAO!

Phisto
Articles: 30
Salut,

Je ne peux pas vraiment répondre à ta question mais je vais quand même préciser un truc : justement l'accès à /dev/dsp n'est pas partagé. A ma connaissance il ne l'est jamais. C'est pour ça qu'on utilise des serveurs de son, comme artsd ou gstreamer : pour qu'ils ait un accès exclusif à la carte son mais que plusieurs logiciels puissent se connecter au serveur. Jackd est un serveur de son. Il a besoin de l'accès exclusif à la carte. Le problème est de dire à Beatrix d'utiliser jack plutôt que d'accéder directement à la carte.

Après je n'ai pas encore utilisé ce soft, donc je n'ai pas de réponse, mais il me semble que l'article sur linuxmao en parle, non ?

Matthieu
Articles: 10
Merci pour ta réponse. La page wiki sur Beatrix parle d'intégration avec JACK au plan MIDI, avec l'utilisation de porte MIDI virtuelle. Au plan audio Beatrix indique un paramètre de configuration comme:

main.audiodevice=/dev/dsp

Mais avec ce que tu dis, il me semble qu'il y a une impossibilité de fond à faire ce qui est écrit, ce qui m'étonne parce que sinon personne n'aurait écrit cette page 😉

Je me demandais donc s'il n'y avait pas un moyen de créer une porte audio virtuelle, à configurer su Beatrix et à câbler dans JACK. Ou bien une autre idée plus rusée...

Merci,
Ph.
Articles: 49
Je me rappelle avoir la manip à l'époque pour tester Beatrix : l'astuce consiste bien à envoyer la sortie de Beatrix, qui utilise le driver OSS dans Jack. Pour celà, il faut installer oss2jack, qui permet de rediriger les flux oss vers jack.

Ceci dit, je me rappelle avoir un peu galéré pour installer oss2jack (qui si je me rappelle bien utilisait des librairie un peu anciennes), et ça avait foutu un peu le bordel dans ma config 😕. Depuis j'avouerais avoir un peu abandonné...
Articles: 10
Merci Silvain pour la suggestion: je vais essayer avec oss2jack (mes premiers essais de build sur mon installation virtuelle m'ont montré que ce ne sera pas si simple... comme prévu 😕). J'essaierai ce soir sur 64studio si je trouve un peu de temps.

Ph.
Articles: 606
Salut,

La page wiki sur Beatrix parle d'intégration avec JACK au plan MIDI, avec l'utilisation de porte MIDI virtuelle

Bon je chipote mais quand même : intégration non pas avec Jack mais avec Qjackctl pour être précis ... la nuance, c'est que le MIDI que pilote Qjackctl est géré en fait par ... ALSA !

Par contre je n'arrive pas à l'activer en même temps que JACK

Perso, ça marchait plutôt pas mal en le lançant avec jacklaunch... mais avec une latence insupportable 😑

T.
Articles: 10
Salut Trinine,

intégration non pas avec Jack mais avec Qjackctl pour être précis ... la nuance, c'est que le MIDI que pilote Qjackctl est géré en fait par ... ALSA !


Tu fais bien d'être précis, je n'avais pas saisi cette nuance. Cela a son importance d'ailleurs parce que ça veux dire que jackd tout seul ne pourrait pas gérer ces connexions.

ça marchait plutôt pas mal en le lançant avec jacklaunch... mais avec une latence insupportable


jacklaunch je l'avais essayé, mais ça n'avait rien changé. Je n'ai d'ailleurs pas bien compris comment ça marche vu que c'est qu'un script come aoss qui valorise LD_PRELOAD (de mémoire — je n'ai pas mon 64studio devant moi) avant d'exécuter le programme, et je ne comprends pas en quoi ça pourrait changer mon problème de conflit. Je n'ai pas encore approfondi la chose.

En tout cas merci pour ces infos.

Ph.
Articles: 606
Cela a son importance d'ailleurs parce que ça veux dire que jackd tout seul ne pourrait pas gérer ces connexions.

Ben pour être complet, jackmidi offre désormais cette possibilité à jack. Mais elle est moins répandue/implémentée (une liste d'applis compatibles ici : http://apps.linuxaudio.org/apps/categories/jack_midi , à comparer avec http://apps.linuxaudio.org/apps/categories/alsa_seq ). D'ailleurs, les dernières versions de qjackctl permettent de piloter les deux (via 2 onglets distincts). Allez, je m'auto-cite : http://www.linuxmao.org/tikiwiki/tiki-read_article.php?articleId=50

jacklaunch je l'avais essayé, mais ça n'avait rien changé. Je n'ai d'ailleurs pas bien compris comment ça marche vu que c'est qu'un script come aoss qui valorise LD_PRELOAD

jacklaunch est une commande fournie par le paquet libjackasyn qui permet de router le son d'applis prévues pour OSS vers Jack. Voir http://gige.xdv.org/libjackasyn/index.php
Attention, si tu le compiles à la main, de mémoire il ne passe pas avec gcc4 (le code est un poil vieux !), faut donc utiliser gcc3 pour le compiler 😕

T.
Articles: 10
Hier soir j'ai fait un essai avec jacklaunch, et ça marche plutôt pas mal!

J'ai réussi à intégrer complètement Beatrix dans mon studio virtuel.

Côté latence c'est pas mal du tout, je pense qu'en utilisation Home Studio ça devrait aller (pour la scène j'utilise un "vrai" clone — VK-8M de chez Roland).

Il y a juste un petit bémol: dans cette configuration, quand je joue avec le son de Beatrix, j'entends très régulièrement (genre toutes les 3-4 secondes) un très léger "tick", malheureusement dans une fréquence assez élevée qui s'entend même quand il y a d'autres instruments. Très curieux. En utilisation OSS-pure tout marche très bien, mais là il doit y avoir quelque chose qui interrompt le processus régulièrement et crée un petit retard. Je vais essayer en changeant la priorité du processus pour voir si ça l'"aide" un peu...

Merci encore pour le coup de main.

PS: ce qui est sûr c'est que ce petit synthé virtuel a un bon son! Quel dommage qu'il ne soit plus maintenu. Est-ce que le développeur a déjà été contacté? (du genre pour relaxer la licence et permettre à d'autres d'y travailler)