Difference between revisions of "Controller Input/fr"

From TidalCycles userbase
Jump to: navigation, search
(Created page with "Vous devriez pouvoir jouer avec un pattern qui utilise le paramètre CC 12 :")
(Created page with "Si vous souhaitez utiliser le MIDI pour créer un pattern, vous aurez besoin de le segmenter, puisque les valeurs entrantes sont généralement en très haute r...")
Line 80: Line 80:
 
</source>
 
</source>
  
If you want to use MIDI in a pattern forming statement, you may find it helpful to [[segment]] the input first, as the raw pattern coming from your MIDI device will be at very high resolution. This example takes only one value per cycle & remaps the value with the <source inline>range</source> function:
+
Si vous souhaitez utiliser le MIDI pour créer un pattern, vous aurez besoin de [[segment | le segmenter]], puisque les valeurs entrantes sont généralement en très haute résolution. Cet exemple ne sélectionne qu'une valeur par cycle, et l'applique à l'aide de la fonction <code>range</code> :
  
 
<source>
 
<source>

Revision as of 11:47, 15 December 2019

Other languages:
English • ‎français

Tidal 1.0.0 vous permet de contrôler le code directement à l'aide d'un contrôleur. Voici quelques explications rapides pour mettre en place le système. Nous avons inclus un petit outil qui permet de mettre en place le système.

Open Sound Control

Si vous souhaitez faire entrer du MIDI dans Tidal, vous pouvez sauter la section suivante.

Si la dernière version de Tidal est installée (> 1.0.0), Tidal écoute automatiquement les messages reçus par OSC (Open Sound Control), sur le localhost (127.0.0.1), port 6010.

Vous pouvez changer cette configuration : écouter une autre interface, changer le port, etc :

tidal <- startTidal superdirtTarget (defaultConfig {cCtrlAddr = "0.0.0.0", cCtrlPort = 6060})

Si vous souhaitez empêcher Tidal d'écouter les messages entrants, utilisez cette ligne :


tidal <- startTidal superdirtTarget (defaultConfig {cCtrlListen = False})

Les messages OSC attendus par Tidal ont un nom de chemin particulier : /ctrl, suivi de deux valeurs, la clé correspondant au contrôle et sa valeur effective. La clé peut être sous forme textuelle ou numérique. La valeur peut être un float, un int ou une string. Exemple de message : /ctrl sf hello 0.4. Dans cet exemple, sf est un typetag. Il spécifie que la première value est une string et que la seconde valeur est un float. Consultez la documentation OSC pour en apprendre plus.

Vous pouvez utiliser un message pour contrôler un pattern :

d1 $ sound "bd" # speed (cF 1 "hello")

cF est utilisé pour les messages de type float. Le second paramètre 1 est la valeur par défaut, utilisée lorsque Tidal n'a pas encore reçu de contrôle. Il existe également cS pour les string et cI pour les int. Pour des valeurs qui évoluent dans le temps, utilisez cT. Pour des ratios, utilisez cR.

MIDI

Si vous utilisez le MIDI, vous n'aurez pas à vous soucier de la section précedente. Vous aurez besoin de quelque chose qui convertira le MIDI en OSC. Voici comment procéder en utilisant SuperCollider. Avec Atom et SuperCollider lancés, évaluez la ligne suivante dans SuperCollider :

// Ce bloc mappe les contrôles MIDI en OSC.
(
var on, off, cc;
var osc;

osc = NetAddr.new("127.0.0.1", 6010);

MIDIClient.init;
MIDIIn.connectAll;

on = MIDIFunc.noteOn({ |val, num, chan, src|
	osc.sendMsg("/ctrl", num.asString, val/127);
});

off = MIDIFunc.noteOff({ |val, num, chan, src|
	osc.sendMsg("/ctrl", num.asString, 0);
});

cc = MIDIFunc.cc({ |val, num, chan, src|
	osc.sendMsg("/ctrl", num.asString, val/127);
});

if (~stopMidiToOsc != nil, {
	~stopMidiToOsc.value;
});

~stopMidiToOsc = {
	on.free;
	off.free;
	cc.free;
};
)

// Evaluez cette ligne pour tout arrêter.
~stopMidiToOsc.value;

Vous devriez pouvoir jouer avec un pattern qui utilise le paramètre CC 12 :

d1 $ sound "bd" # speed (cF 1 "12")

Si vous souhaitez utiliser le MIDI pour créer un pattern, vous aurez besoin de le segmenter, puisque les valeurs entrantes sont généralement en très haute résolution. Cet exemple ne sélectionne qu'une valeur par cycle, et l'applique à l'aide de la fonction range :

d1 $ sound "amencutup" + n (run (segment 1 $ range 1 16 $ cF 0 "32" ))

Alternative: pure-data

The above SuperCollider instructions are most convenient if you're using SuperDirt, but as an alternative you can use puredata to convert midi to OSC. You can get puredata from https://puredata.info/ (the 'vanilla' version is recommended).

Then download this file: https://raw.githubusercontent.com/tidalcycles/Tidal/master/pd/midi-osc-bridge.pd

Then if you start tidal, open that file in puredata, and configure your MIDI device in puredata, things should start working.