Connecter Rosegarden avec Qsynth et une ou plusieurs soundfonts
Ce tutoriel explique de manière avancée les principes de fonctionnement, une version très simplifiée, pas à pas et en image existe, cliquez sur Rosegarden - Qsynth et Titanic en images dans la boite de navigation.
Table des matières
Avant toute chose :
Utiliser Qsynth avec Rosegarden n'est pas compliqué ; Si des règles simples sont suivies, le démarrage de la session MAO se déroulera parfaitement. C'est mieux d'avoir QJackCtl de démarré, il permettra de changer les connexions aisément, ou de vérifier si tout est bien connecté.
Pour ce tuto, nous considérerons que les bases de Qsynth et Rosegarden sont acquises.
Les tests ont été effectué avec Ubuntu 10.04 noyau RT, Rosegarden 12.04 et Qsynth 0.3.6.
Dans le texte peuvent apparaître RG pour Rosegarden et QS pour Qsynth.
ATTENTION
Dans les versions actuelles de Rosegarden, le paramètre d'instrument : canal automatique qui attribuait automatiquement un canal vers QSynth ne fonctionne plus. Si bien que les fichiers Rosegarden contenant des instruments placés sur le même canal et dans des instances d'instrument différentes ce qui fonctionnait très bien, pourraient poser des soucis quand ils sont joués, entre autre la disparition du son de ces instruments. Pour résoudre ce problème sans réaffecter des canaux midi différents, il faut fixer le canal d'instruments dans Rosegarden au lieu de automatique, et dans Qsynth->canaux : affecter dans l'instance du moteur de cet instrument, le même canal, ensuite sauvegarder le pré-réglage des canaux pour cet instance de moteur.
Rappel
Si les modules sont démarrés manuellement (ou par un shell) : le démarrage de QJackCtl se fait en premier et le démarrage de Rosegarden se fait en dernier, entre les deux (pour ce qui nous occupe) Qsynth, un clavier virtuel.
Le démarrage de jack doit être terminé, quand les logiciels "annexes" sont mis en route, simplement pour que jackd puisse organiser ses connexions, il ne s'agit pas d'attendre de -longues- secondes, mais deux au minimum, surtout si Timidity sur jack est appelé, comme il vérifie si jack est présent, s'il ne le trouve pas il abandonne et la connexion n'existera pas. De même, avant de démarrer Rosegarden, les "accessoires" doivent être connectés et disponibles (ZynaddSubFX met parfois quelques secondes, surtout si un fichier de config est chargé automatiquement). En suivant cette simple procédure, qui ne dépasse pas les 10 secondes, tous les périphériques prévus autour du séquenceur seront connectés impeccablement. Essai effectué avec Jack, Timidity, ZynaddSubFX (fichier de config avec 4 canaux instruments), Qsynth (avec 4 "engins"), VMPK(clavier virtuel).
Le principe de la connexion des soundfonts
Rosegarden envoie à Qsynth les signaux pour jouer la piste. Les données qui créent le son sont utilisées par "l'engin" de Qsynth pour SA soundfont ; mais pour envoyer les bons ordres, il faut que Rosegarden ait "l'entête" de cette soundfont, elle doit donc être chargée comme banque au périphérique d'exécution connecté sur le port MIDI Qsynth:.... .
Quelle philosophie de chargement adopter ?
Comme toujours, ça dépend... de vous !
- Option bibliothèque gigantesque : alors la mémoire sera bien occupée, tous les instruments seront disponibles, mais le nombre de ports Qsynth sera restreints, toutefois un port peut varier de 16 à 256 canaux MIDI.
- Option fragments de bibliothèque : vous obtenez une économie de mémoire, mais il faudra bien gérer le contenu des soundfonts (par ex : avec swami ) pour ne pas retirer ou ajouter sans arrêt des instruments. Vous pourrez aussi multiplier les ports (par ex : attribuer une SF2 par port) ou plusieurs SF2 sur un seul port.
Voir les chapitres "à savoir" et "banques sons" de Qsynth, pour se rafraîchir la mémoire vive.
En avant
Utiliser la SF2 titanic sur Qsynth avec Rosegarden
Étant donné la taille de cette librairie de sons (275 M ) nous nous contenterons d'un seul port dans Qsynth ("engine"). Dans ce qui suit les numéros de ports sont des exemples.
- Préparer Qsynth :
- Créer un engin #1 en lui attribuant plus de canaux MIDI si nécessaire (pour nos tests 64) (voir le chapitre "prise en main" dans Qsynth). A noter qu'en utilisation avec Rosegarden+jackd il est préférable de choisir le MIDI Driver "alsa-seq".
- Charger la soundfont titanic.
- Préparer Rosegarden :
- Dans le cadre Sorties MIDI, vous devez voir les ports de sortie (appuyez sur rafraîchir), dans notre cas nous dirons que seul Qsynth est connecté avec 1 port "engin" 134 et ce port à 4 sousport 134:0 134:1 134:2 134:3 ; Et si on fait une petite opération matheuse, ça nous donne 4 ports de 16 canaux = 64 canaux. Si nous avions mis 60, nous aurions d'office 4x16=64 canaux (QS définit un nombre multiple de 16 supérieur au chiffre demandé).
- Dans le cadre Périphériques d'exécution MIDI, vous créez un périphérique (je le nomme PE0), et, à ce périphérique je lui attribue un port de sortie 134:0. Ce qui signifie que les pistes connectées à PE0 sortiront vers les 16 canaux de 134:0.
Aparté à propos de banques, :
Dans RoseGarden, le numéro affiché d'origine des patches de la banque peut-être 0 ou 1. Vous pouvez modifier l'affichage des numéros en cliquant sur l'origine des chiffres de la liste, mais c'est juste un aperçu ; Dans paramètres d'instruments l'origine est 1. Si bien qu'il y aura décalage entre les N° si la banque importée a un patch à 0.
Dans une banque, les patches acceptent n'importe quel chiffre de 0 à 127. Si le numéro 0 est utilisé, il se calera sur le 1 de RG. Si les patches de la banque démarre à 1, le patch 1 se calera sur le 2 de la liste.
Il semble que RG considère toutes les banques démarrants à 0 et automatiquement les cale sur son origine 1 en ajoutant 1. ex : une banque commençant par un patch à 4, il devient 5 dans RG.
- Attribuer la banque titanic à PE0 : Il ne doit y avoir aucune autre banque associée à PE0
- Ouvrir la fenêtre banque et "importer" la soundfont titanic, (le même fichier que celui qui est chargé dans QS). Choisissez fusion ou écraser. Les listes des patches pour les banques attribuées à PE0 sont créées. Il arrive que la désignation du patch 1(ou0) de la banque 0:0 soit (EOP) il suffit de le changer et tout est OK.
- Associer une piste à un instrument Qsynth : on suit la méthode habituelle, mais c'est dans les paramètres d'instruments qu'il faut s'attarder ; Nous avons la possibilité de fixer le canal ou de laisser RG choisir. Pour bien saisir cette nuance de fixe/auto il suffit de laisser la fenêtre "channels" de l'engin Qsynth en cours de jeu, et les leds des canaux s'allument quand ils sont sollicités.
Et si on n'attribuait pas de banque à RG ?
Eh bien, voilà ! Il est possible de jouer les banques 0:x autres que 0:0. Est-ce le résultat d'une anomalie de logiciel ou une situation prévue ? Quoiqu'il en soit, ne pas attribuer de banque dans RG (rien que des périphériques ex : PE0 PE1 PE2) permet de jouer les instruments qui sont affichés dans les canaux de QS.La difficulté étant que les noms n'apparaissent pas puisque la liste est vide. Il faut donc retenir les n° de canaux.
- Préparer Qsynth :
- Dans channels supprimer tous les instruments (clic droit : unset) donner un nom ex:"vide" dans la zone popup et sauver.
- La zone 1 à 16 sera jouée par PE0 : placer un instrument de la banque 0:0 (par ex:1 piano) au canal 4. La zone de 17 à 32 sera jouée par PE1 : placer un instrument de la banque 0:8 (par ex:1 synth brass 3) au canal 21. donner un nom au preset ex:"essai" et sauver. Vérifier en choisissant défaut puis revenez sur essai. Qsynth est prêt.
- Préparer Rosegarden:
- Créer les deux périphériques d'exécution PE0 et PE1 sans leur attribuer de banque.
- Connecter PE0 sur 134:0 et PE1 sur 134:1
- Créer une piste et dans paramètres de la piste attribuer PE0 et l'instrument #4, dans paramètres d'instrument il n'y a que la ligne canal : choisissez fixé. Créer une deuxième piste et affectez PE1 canal 21-16= 5 et fixez la.
- Placer quelques notes. Ouvrez la fenêtre "channels" de QS et jouer le morceau, les leds devant les instruments doivent clignoter. Si ce n'est pas le cas, il faut refixer l'instrument.
Utiliser plusieurs banques dans un seul engin Qsynth :
Pourquoi ?
Suivant la
Procédure
- Préparer les banques : pour ce faire voir swami ou un autre éditeur de soundfont, et si possible créez des banques 0:0. Ou alors téléchargez des petites banques (voir des banque à un seul type instrument).
- Préparer Qsynth : Vous remplacez la titanic par trois ou quatre petites SF2 en leur attribuant un "offset" différent à chacune. Si vous laissez 0 il y aura une fusion des banques et ce n'est pas ce qu'on veut. Dans channels la colonne bank contiendra ce numéro lorsque vous affecterez l'instrument au canal. Vous affectez maintenant les instruments aux canaux vous le souhaitez (clic-droit edit), et sauvez cette preset.
- Préparez Rosegarden : il suffit de procéder comme au paragraphe du dessus. Et le tour est joué.
Liens et commentaires
Voir le paragraphe Les sites Web fournissant les SoundFonts. de la page soundfont de linuxmao.org qui répertorie plusieurs banques de son disponibles dont la Titanic.
Voir également cette page : http://funix.org/fr/linux/index.php?ref=mao#Rosegarden .
[+]