Se connecter
Se connecter

ou
Créer un compte

ou
Tutoriel

Jouer un synthé depuis piano Yamaha amplifié

Par Dr.Riton le 12/02/2024 - (Confirmé)

 

Ce tuto n’est pas pour les débutants. Il fait appel à pas mal de composants logiciels pas super aboutis, ni très bien documentés, et à des instructions en ligne de commande testées uniquement sur Linux Mint et donc vraisemblablement utilisable sur tous les dérivés d’ubuntu.

Ce tuto est fini, mais pas forcément abouti. Toutes contributions constructives sont bienvenues, mais c’est fourni tel quel, sans garantie de résultat. Les utilisateurs confirmés y trouveront peut-être la clé d’une des nombreuses difficultés sur le chemin. D’autres apprendront peut-être que ce dont ils n’ont pas osé rêver est possible. J’ai pataugé pendant plusieurs mois pour arriver à exploiter cette fonctionnalité que je trouve extraordinaire, et qui me permet de jouer les deux jeux d’orgue du Korg à partir de mon seul P-121 splitté (l’idée de Yamaha d’utiliser 2 canaux MIDI consécutifs sur le split est d’une simplicité géniale). Avec ça,  j’interprète Whiter Shade of Pale sur l’accompagnement rythmique du P-121 et le son du Korg : c’est un ravissement et ça m’a fait progresser beaucoup plus vite que si je m’étais contenté du son du seul P121.

Le yamaha P-121 (et P-125) dispose d'une amplification de qualité, qui peut notamment servir de retour. Ce même clavier peut aussi piloter d'autres claviers midi ou virtuels à travers le port usb. Mais comme il ne dispose pas d'une entrée audio analogique, est-il possible quand même d'avoir le retour d'un clavier piloté par MIDI?

Ce piano contenant une carte son, celle-ci est susceptible de reproduire un flux audio qui lui serait adressé par usb. Pour cela, encore faut-il passer l'audio analogique du synthé piloté vers un flux audio numérique sur usb. Eh bien cela, n'importe quel PC équipé d'une entrée ligne et d'une carte son de base peut le faire. En principe, donc, on doit pouvoir amplifier sur un P-121/P-125 n'importe quel synthé esclave, qu'il soit hard ou soft, et en prime n'importe quel synthé virtuel embarqué sur ce PC.

En pratique, tout va peut être un peu compliqué à faire. Le tuto détaille comment y parvenir, avec simultanément un synthé hard (un Korg Vox Continental) et un synthé soft (Pianoteq), joués depuis le P-121, et amplifiés de même. Une fois le setup fonctionnel, tout se passe comme si le P-121 générait les sons du Vox ou de Pianoteq. La configuration est particulière, mais doit être aisément généralisable à d'autres combinaison de synthés.

Le schéma de câblage est représenté ci-dessous. Pianoteq tourne sur le PC central. A droite figure la table de mixage qui envoie l''audio vers l'ampli de façade (et permet de contrôler ce qui se passe en audio quand le retour ne marche pas).

g14994

Schéma de câblage - en gris: câbles usb, en noir câbles audio

Le composant-clé pour réaliser ces connexions est le serveur de son JACK, et son utilitaire de contrôle Qjackctl. L'installation a eu lieu sous Linux Mint, mais JACK est multiplateforme. Certains réglages feront aussi appel au composant ALSA, spécifique à Linux. Dans mon cas, le PC utilisé est un fanless assez ancien, dédié à cette seule fonction de hub MIDI + audio. Il embarque en outre une instance du  piano virtuel pianoteq.

Dans ce tuto, on va donc apprendre à :

1. mettre en place le pilotage midi du synthé esclave

2. paramétrer la sortie audio vers le P-121

3. paramétrer la capture audio du synthé esclave (c'est le plus compliqué)

Qjackctl au démarrage fait juste apparaître une fenêtre assez ingrate:

Capture du 2024-02-11 23-04-25

On va devoir utiliser surtout le Graphe, la Baie de Brassage (pour sauvegarder les connexions établies dans le Graphe) et les Réglages, où un nombre conséquent de paramètres vont devoir être ajustés.

Le Graphe représente les différentes sources et destinations pour les flux midi et audio :Capture d’écran du 2024-02-11 19-50-27

Graphe des connexions midi et audio dans JACK

Sur le Graphe, on peut tirer manuellement des connexions entre, par exemple, les sorties audio (en vert) 'out1' et 'out 2' de pianoteq, et les bornes 'playback_1' et 'playback_2' de la boîte 'system', qui représente la sortie son par défaut (celle-ci est définie ailleurs, dans le dialogue 'Réglages').

Pour que Pianoteq apparaisse sur ce Graphe, il faura bien sûr fallu configurer Pianoteq de façon à ce qu'il utilise JACK. Cela se fait dans les réglages de Pianoteq : AUTO JACK ON  apparaît dans la liste des drivers quand on règle le périphériques de sortie de Pianoteq.

A noter : l'entrée midi de Pianoteq n'utilise ici pas JACK. Elle est réglée directement dans Pianoteq, qui accepte tous les phériphériques d'entrée. A noter cependant, par défaut Pianoteq réagit à tous les canaux. Il conviendra de restreindre à un seul canal pour éviter le layering intempestif. Dans mon setup, Le Korg écoutant par défaut les canaux 1 et 2, le canal 3 sera donc celui de Pianoteq.

Les canaux midi (en violet) sont connectés de la façon suivante :  la sortie de 'Digital Piano' (le Yamaha) envoie son flux midi vers l'entrée de 'Midi-through Port0', un port midi virtuel. du PC. Celui-ci ressort aussitôt vers l'entrée de 'VOX Continental'.

Note : On pourrait connecter directement le flux USB MIDI sortant de 'Digital Piano' à l'entrée USB MIDI 'VOX Continental', toutefois dans ce cas le PC ne verrait plus passer le flux MIDI sur son port Midi-Through, ce qui nous priverait potentiellement d'utilitaires de remappage Midi.

Une fois les connexions réalisées, eh bien, en réalité, si on éteint et qu'on redémarre Qjackctl ou le PC, on va s'apercevoir qu'elles ne sont pas rétablies. Le Graphe en effet est reconstruit à chaque démarrage, et n'affiche que les périphériques détectés automatiquement. Pour que les connexions soient permanentes, il  va falloir passer dans la Baie de Brassage identifier les périphériques à utiliser et les liens entre eux, et les enregistrer.

Toutefois, avant d'aller à la Baie de Brassage, il y a plusieurs paramètres à aller vérifier ou modifier dans les Réglages, à commencer par celui qui restaure les connexions du Graphe à partir de la Baie de Brassage : 'activer la persistance de la baie de brassage' sous l'onglet 'Options':

Capture d’écran du 2024-02-11 19-52-52

A ce stade on va aussi saisir la commande qui va créer un port de capture audio depuis la carte son du PC (qui ne sera bientôt plus la carte par défaut) grâce à l'exécution d'un script au démarrage de JACK :

alsa_in -dhw:Generic -r 44100 &

Ensuite, sur l'onglet Paramètres, vont avoir lieu de grands changements. Tout d'abord, sur le sous-onglet (sic) 'Paramètres':

Capture d’écran du 2024-02-11 19-51-49

L'interface doit être routée vers le Yamaha, dont le petit nom pour le driver son est : 'hw:Piano', là où la carte son du PC est 'hw:Generic'. Il convient aussi de passer le driver en mode temps réel (cocher) et réduire la taille de buffer à une valeur qui n'entraîne pas de latence perceptible, tout en ne générant pas de craquements caractéristiques de problèmes de surcharges processseur. Les paramètres ci-dessus (buffer de 128 échantillons) conviennent pour un PC déjà très modeste il y a quelques années, et ne génèrent pas de latence perceptible pour moi.

Puis sur le sous-onglet 'Avancé':

Capture d’écran du 2024-02-11 19-52-17

Ajuster la priorité à un nombre élevé (90), et décaler le démarrage de 2s (en bas à droite).

Ensuite, onglet Divers, s'assurer qu'on a bien ça :

Capture d’écran du 2024-02-11 19-53-17

Et pour finir : revenir à l'onglet Paramètres et bien sauvegarder le pré-réglage (par défaut ou autre, selon votre choix, mais le sauvegarder !) afin de le restaurer après redémarrage de Qjackctl.

 C’est le bon moment pour quitter et relancer Qjackctl. À partir de là, la carte son principale pour tout ce qui est connecté par JACK sera le P-121. Si vous aviez tiré des liens dans le Graphe, ceux-ci ont disparu. On va donc s’occuper de pérenniser les connecions du Graphe. C’est le rôle de la Baie de Brassage :

Interfaces MIDI : Capture d’écran du 2024-02-11 19-56-59

Vous allez ajouter méthodiquement chacune des entrées disponibles dont vous avez besoin à gauche (TO DO - détailler) et chacune des sorties à droite, puis sur cette même fenêtre relier ‘manuellement’ celles qui doivent l’être en les reliant d’un ‘trait’ à la souris.

En particulier, l’entrée audio du PC s’appelle ‘alsa_in’ et il faut bien la connecter à la sortie usb audio du piano.

À l’issue de cette configuration, avant de fermer cette fenêtre, surtout penser à sauvegarder la baie de brassage ainsi créée car Qjackctl ne le fera pas pour vous (dans la session en cours).

À ce stade, en principe, quand JACK est démarré, si les connexions MIDI et audio sont bien établies entre les appareils comme dans le Graphe ci-dessus, le son de votre synthé doit être audible sur le P-121. Toutefois, il y a des chances qu’il soit vraiment faible, même volume poussé à fond…

On approche du but, mais une étape qui peut paraître évidente va se révéler épineuse sur Linux. Il faut en effet régler le gain audio de la numérisation du signal en entrée, alsa_in. Par défaut celui-ci est très faible, et le volume du synthé piloté en sortie du P-121 pas cohérent avec celui du P-121 utilisé seul. Or les outils habituels du panneau de contrôle du son ne sont pas utilisables pour cela (en tout cas je n’ai pas réussi : sur Linux le composant qui fait cela est pulseaudio, qui est ‘concurrent’ de JACK). 
On va donc travailler dans l’ombre et commencer par paramétrer ce gain à la main avant de donner les instructions à Qjackctl dans un script de démarrage.

Pour ajuster le gain de capture de son de l’instrument piloté, on utilisera alsamixer. Cet utilitaire en ligne de commande permet de faire la même chose que le panneau de mixage de l’app’et de bureau, mais détaille les paramètres dont on a besoin pour l’instruction qui ajustera le gain.

Alsamixer va permettre de retrouver le nom de la carte, le nom du périphérique de capture sur la carte, et permet de régler interactivement le gain jusqu’à obtenir le bon réglage. Ceci est illustré ci-dessous, après avoir simplement lancé la commande alsamixer dans un terminal :

étape 1 : alsamixer affiche la carte par défaut ; ici ce n’est pas celle qui fait la capture, puisqu’il s’agit du périphérique de sortie, le Yamaha P-121

Interfaces MIDI : Capture d’écran du 2024-02-11 19-54-35

étape 2 : une pression sur F6 affiche le menu des cartes son disponibles :

Interfaces MIDI : Capture d’écran du 2024-02-11 19-55-05

On peut être surpris de trouver autant de cartes son pour un petit PC basique… il y a bien une sortie son sur le port HDMI du PC, et le synthé connecté ici un Vox Continental de Korg, est reconnu comme carte son alors qu’il n’est utilisé qu’en MIDI.

Il reste donc la carte ‘Generic’ qui est la puce son de base du PC, dont on a déjà vu apparaitre le nom plus haut. Bien sûr, le nom va varier d’un équipement à l’autre, et il est possible que ça soit délicat. La commande aplay -L permet de lister les équipements du PC pour trier les possibilités au calme.

étape 3 : afficher la section de capture du son en pressant F4

Micro-ordinateurs : Capture d’écran du 2024-02-11 19-56-26

étape 4 : avec les flèches du clavier sélectionner chacune des entrées ‘capture’ et vérifier celle qui ajuste effectivement le volume du synthé en entrée. Sur l’image il s’agit de ‘Capture’ (par opposition à ‘Capture 1’) et le niveau de gain est 20. Pour établir la réglage correct, je recommande la procédure suivante :
1. volume du P-121 à fond

2. Volume synthé à fond

3. Augmenter (flèches) le gain de capture jusqu’à ce que le volume en jeu fortissimo au synthé corresponde (à l’oreille) au volume en jeu fortissimo au P-121. Dans mon cas, il montera à 40%

Bien noter la valeur de gain et le nom de l’entrée qui assure la capture.

Enfin, reprendre les paramètres de Qjackctl et compléter la ligne de commande au démarrage avec l’instruction suivante :
amixer -D "hw:CARD=Generic" sset Capture 40% 

Interfaces MIDI : Capture d’écran du 2024-02-11 19-52-52

Le reste de cette ligne de commande permet ensuite d’attendre 5 secondes avant de lancer pianoteq.

Quelques réglages sur pianoteq aussi permettront de le rendre indépendant du synthétiseur piloté, en réglant le canal midi de réception,  car le réglage par défaut ‘omni’ le fait répondre à tous les canaux. Le canal d’émission du P-121 est très facile à changer (à condition de se rappeler la combinaison de touches toutefois).

Voilà, il me reste à vous souhaiter bonne chance, et une excellente musique, en partage, ou pour soi.

Soyez le premier à réagir à ce tutoriel

    Vous souhaitez réagir à cet tutoriel ?

    Se connecter
    Devenir membre