TUTORIAL  SCHWARTZPETER
(26 janvier 2010)

Asservir des départs sons intégrés dans une conduite 

A l'heure où les conduites se croisent de plus en plus, une proposition de pilotage par éthernet  peut rebuter certains ( pas de carte dmx ODE en art-net / peur de l'aspect programmation graphique sous VVVV ).
Cependant j'ai mis sur le forum whitecat des ressources pour cette technique: pilotage de vidéos, envois de son en art-net.

A la demande d'Eiffel, et pour la communauté, voici donc un petit tuto, qui, je l'espère, pourra vous aider.

Ce tutoriel propose deux techniques, utilisant le pilotage midi, au travers de deux logiciels:

VVVV est un logiciel de programmation graphique, qui permet de créer des patchs très très puissants, notamment en vidéo. Il est libre et demande l'achat d'une license uniquement si vous l'utilisez dans le cadre d'une activité commerciale. L'achat de cette license est moral.

SeqCon est un séquenceur conditionnel, c'est à dire un déclencheur d'évènements sonores à réception d'un signal.
SeqCon est libre et gratuit, il est construit sur base MAX/NSP, et est diffusé sur l'excellent site de l'Happax.

Schwartzpeter émettra des signaux midi qui piloteront donc l'une de ces deux applications, sur le même ordinateur.

Pré-requis

* Communication Midi:

De façon à faire communiquer schwartzpeter avec l'un des deux logiciels précités, il vous faut installer sur votre machine MidiYoke.
Midi Yoke fonctionne parfaitement sous XP et Seven. Par contre sous Vista ce n'est pas acquis que vous puissiez l'installer.

Le port Midi est un port qui ne peut être affecté qu'à une seule application. Nous avons donc besoin de midi yoke pour splitter un port midi en plusieurs, et permettre ainsi un "pont midi" entre différents logiciels.

La différence entre MidiYoke et Midi-Ox:
-MidiYoke permet de router ses entrées et un sytème de ports midis virtuels.
-Midi-Ox est beaucoup plus élaboré et demande à être lancé en toile de fond: il permet de re-router ses entrées et de trucher les signaux midis reçus ( transformer un signal
Pitch Wheel  en Ctrl Change par ex). Vous n'avez pas besoin d'installer pour ce tuto Midi-Ox.

Installez MidiYoke puis rédémarrez votre PC.

* Logiciels:

SeqCon est une archive en statique, que vous pouvez dézipper ( click droit >> extraire tout ) et poser où vous le souhaitez sur votre disque dur. SeqCon peut donc fonctionner sur une clé Usb, comme Schwartzpeter.
Cependant vous aurez besoin d'installer:
- le Runtime Direct X (9c)


VVVV est lui aussi une archive statique que vous pouvez dézipper
( click droit >> extraire tout ) et poser où vous le souhaitez sur votre disque dur.
Cependant vous aurez besoin d'installer:
- le Runtime Direct X (9c)

Eventuellement, si par la suite vvvv vous plait, il faudra installer:
- le SlimDX ( pour certains plug-ins )
- le pack net 2.0 si vous utilisez les plug-ins vvvv développés par la communauté

Redémarrer après installation de tout çà !

configuration des ports midi in / out de schwartzpeter

Lancer msdrivers.exe ( Schwartzpeter doit être éteint )
Clickez la première case en haut à gauche.
Puis clickez Midi Yoke NT 1 sur les ports de sortie ( comme sur l'image):





Vous venez d'affecter la sortie midi de schwartzpeter au port midi virtuel Midi Yoke 1.
Clickez exit.


encoder un départ midi dans une mémoire schwartzpeter

Lancez Schwartzpeter.
Créez une mémoire dans votre conduite.

Cliquez le menu des automations:

La page verte s'affiche.
Nous allons nous concentrer uniquement sur l'envoi d'évènements ponctuels:



Vous pouvez enregistrer plusieurs départs midi dans une même mémoire.
Les paramètres d'envois:
Type:
le type de signal midi à émettre:
0 / Note     1 / Key On     2 / Key Off     4 / Ctrl Change

Port:
le port midi de midishare ( la case rouge sélectionnée était la 0). Rester en 0.

Channel Midi: de 0 à 15, fonction de ce que attend le logiciel à piloter
Pitch: la hauteur de note, de 1 à 127. Ici 44.

Vel: la vélocité ( allias intensité) , mettre quelquechose au dessu de zéro

Dur: la durée d'émission du signal, en milli-secondes ( 10 ou 50 sont des bonnes valeurs) !

Delay: uniquement si vous désirez envoyer plusieurs départs sons dans la même mémoire. Les départs ne doivent pas se produire en même temps. Rajouter un delay pour les séparer dans les envois. Exprimé aussi en millisecondes.

Une fois paramétrér clicker <save in numéro de mémoire>.

Dans l'image montrée ci dessus,en jouant du W/X, ou du Go, vous enverrez un départ d'une note Key On Ch: 0 Pitch 44, avec une vélocité de 100, vers le port midi out configuré ( midi yoke nt 1).

Ce qui nous interresse maintenant est de regarder les paramétrages des logiciels qui vont diffuser le son.



départ son sous vvvv

Ouvrir le patch lecteur_audio_midi_simplifie.v4p.


Ce lecteur est téléchargeable dans la section ressources du forum WhiteCat.
Il s'agit du patch simplifié (pas de pilotage du volume et du pan).




Comment fonctionne ce patch:

-il attend un signal midi Key On : Channel Midi 0 / Pitch de 30 à 50 pour sélectionner un fichier audio.
-Lors du changement de sélection de fichier, la position sur le fichier est remise à 0.
-il attend un signal midi Key On : Channel Midi 0 / Pitch 7 pour lancer ou pauser la lecture.
-un bouton manuel 
Seek ( click droit  pour actionner)  permet de revenir au début du morceau.



Interragir avec le patch:

Dossier des sons:
-Click droit dans audio_directory pour choisir le dossier où résident les sons à diffuser

Types de fichiers lus:
-par défaut nous sommes en format wma: *.wma
-Clicker droit pour renommer l'extension des fichiers à sélectionner:
*.* pour tous les types de fichiers
*.mp3 pour uniquement l'extension mp3
*.wav pour l'extension wav uniquement

Ordre des sons:
-les sons sont triés par un filtre ne faisant apparaitre que les extensions ( voir juste au dessus)
-ils apparaissent par ordre alphabétique
-privilégier si beaucoup de fichiers un renommage:
01_danse_du_lac.wav
02_toto_a_la_plage.wav
12_voila_voila.wav

Choix du port midi à écouter pour les ordres:
-Clicker droit les cases périphériques midi ou ports midi yoke
-Choisir Midi Yoke NT1

Choix du driver de sortie des sons:
-Maintenir le click droit appuyer sur une zone sans rien, vide, et bouger vers le bas la souris
-clicker droit la case de Audio Out qui affiche Default Direct Sound Device

Mettre en boucle des sons:
-Clicker droit sur le numéro de fichier ( LOOP). Quand la case est grisée, le LOOP est ON. Il s'exerce du début du fichier à sa fin.
Si le loop n'est pas activé, la lecture s'arrête en fin de fichier.

Comprendre les indexs:
-Position 0= fichier 1
-Position 1= fichier 2 ....
Mettre en boucle le fichier numéro 4 mets en boucle le 5ème fichier dans le dossier des musiques.

Mise en oeuvre avec le patch simplifié:

dans VVVV:
je sélectionnes mon dossier son ( Mes Musiques / Alain Bashung / Bleu Pétrole)

depuis Schwartzpeter:
je désire lancer la chanson 5, Vénus.

Dans les automations, je rentre un premier signal Key On pour sélectionner le 5ème  fichier:
30 / 31 / 32 / 33 / 34 .... Il s'agit donc du Key On Pitch 34

Puis un petit peu après je lance la lecture par l'envoi d'un Key On Pitch 7

Noter que ces deux envois doivent être séparés d'un delay pour qu'un signal n'écrase pas l'autre



Vous pouvez tester manuellement l'envoi par un click gauche sur les cases d'émission midi, ou utiliser W/X, ou les GO. Il est possible, fonction des machines, de devoir changer le temps de durée de la note du Play.


départ son sous SeqCon

Sur les différents essais que j'ai pu faire avec SeqCon 1.5, seuls les wav ont été lus.
Personnellement je travaille sous vvvv, ce tutoriel concernant SeqCon n'explique absolument pas dans le détail son fonctionnement ( voir la doc, et essayer les différentes versions 1.5 / 1.75 / 1.78).

Le gros avantage de SeqCon est d'avoir une interface simplissime. Désavantage, c'est un exe issu de MaxNSP, donc il consomme de la ressource !

Pour être sur que tout fonctionne, notamment la sortie du son, munissez vous de quelsques waves, et soyez sûrs d'avoir installé le Runtime DirectX 9.C ( voir plus haut les pré-requis) pour pouvoir travailler sur un driver audio par défaut ( Audio DirectSound).

Paramétrage:

Sortie Son:
Dans le Setup, choisir Audio.


Sélectionner le driver ad_directsound, et s'assurer que l'audio est ON dans SeqCon.

Midi:
Dans SetUp Choisir Midi Remote et sélectionner le port Midi Yoke NT 1 en Input Device.
Noter que dans SeqCon les commandes sont de type Ctrl Change.
On peut régler les niveaux sonores, et les envois arrêts sur des commandes toutes en Ctrl-Change ( signal Type 4 dans Scwhartzpeter).
Nous prendrons la configuration de base de SeqCon, c'est à dire les déclencheurs midi qu'il attend par défaut.




Importation de pistes audio:




Puis mettre à la souris le niveau sur les lecteurs choisis ( ceci peut aussi se faire en pilotage midi, voir les commandes dans le setup):




Dans Schwartzpeter:



Premier évènement: un déclenchement du play du lecteur A ( Pitch 65)
Puis, 45 secondes de cri de coyottes après nous voulons stopper la bande;
lancement d'un Pitch 73, toujours en Ctrl-Change ( Type 4), qui est le signal par défaut pour faire stop sur le lecteur A.

On peut aussi utiliser les fades intégrés sur les départs Ctrl-Change des automations:
Ici, toujours dans la même mémoire, nous faisons partir le controle du niveau du lecteur A ( Ctrl Change 81) de 0 à 127 ( le full midi) sur le temps de transition de la mémoire.
(voir la doc pour plus de précisions)



Conclusion

Voilà !
That's all pour aujourd'hui !

christoph