Open Sound Control a été créé pour succéder au protocole de contrôle MIDI. Il permet la communication entre logiciels, synthétiseurs sonores et autres appareils multimédia qui supportent l'OSC.

Ses avantages par rapport MIDI comprennent: un style de nommage symbolique à haute résolution avec des données d'arguments numériques sous la forme d'une URL, plusieurs destinataires pour un message unique, haute résolution des marqueurs temporels et des «paquets» de données dont les effets doivent se produire simultanément, un protocole qui n'est pas non plus lié à un matériel spécifique (c.-à-d, câbles MIDI et les ports) et qui peut être transféré à travers une simple connexion réseau standard, même à distance via Internet. Cela rend l'OSC beaucoup plus flexible, et puissant que le MIDI, mais en raison de sa spécification très ouverte, le client et le serveur OSC doivent être configurés séparément, contrairement à ce qui est essentiellement fait sous un protocole MIDI standard qui reste assez "Plug & Play" dans l'esprit.

Pour plus d'informations générales à propos du protocole de communication OSC, voir la page Wikipedia et de la page d'accueil officielle du protocole OSC.

Au menu :

  1. Paramétrage

  2. Implémentation par défaut du protcole OSC dans Renoise

  3. Exemples

  4. TouchOSC via Duplex

  5. Pure Data

  6. Utilisation de Pure Data Avec Renoise Via Osc

 

Paramétrage


Renoise peut utiliser OSC de deux façons:

  1. Utiliser Renoise comme serveur OSC (autrement dit, un receveur OSC) via un ensemble de message pré-configurés.

  2. Utiliser le langage de script interne de Renoise. Ce qui vous permet de recevoir et aussi d'envoyer n'importe quelle forme de message OSC et même de définir votre propre protocole de communication, but évidemment, ça requiert un certain savoir-faire en matière de programmation informatique en langage de script. Veuillez vous référer à ce lien pour plus d'informations.

Pour transformer Renoise en Serveur OSC (afin qu'il reçoive du signal OSC), ouvrez le panneau de paramétrage des options du mode OSC via "Edit -> Preferences -> OSC" depuis le menu principal:

  • Enable Server: Cette opération démarre le serveur OSC dans Renoise et le port réseau est commuté en mode "d'écoute", de sorte qu'il est fort possible que vous obteniez un message d'avertissement de votre pare-feu la première fois que vous activez cette option.

  • Incoming Messages: Ce panneau affiche simplement des messages pertinents lors de la mise en réseau..

  • Protocol: sélectionnez le protocole que le serveur va utiliser avec Renoise:

    • Udp: Fournit un taux de transfert élevé mais une faible fiabilité.

    • Tcp: Fournit un taux de transfert plus bas qu'en Udp mais avec une plus grande fiabilité.

  • Port: Sélectionnez le numéro de port pour les messages à transférer. En règle générale, un nombre supérieur à 1024 est utilisé.

  • Command List: Affiche la liste des différentes commandes qu'il est possible d'utiliser pour communiquer avec Renoise en OSC.

  • Explanation Panel: Lorsque vous cliquez sur une commande dans la liste des commandes, une explication de ce que la commande produit s'affiche ici.

 

Implémentation du protocole OSC par défaut dans Renoise 


Ici vous trouverez une suite de commandes pré-configurées, à envoyer à Renoise via OSC :

  • /renoise/evaluate(string)

Evalue l'expression en langage de script LUA  (exemple : renoise.song().transport.bpm = 234).

  • /renoise/song/bpm(number)

Définit la valeur de BPM pour l'arrangement [32 - 999].

  • /renoise/song/edit/mode(boolean)

Définit l'état de l'Editeur de Pattern : On ou Off.

  • /renoise/song/edit/octave(number)

Définit la valeur de l'octave actuel [0 - 8].

  • /renoise/song/edit/pattern_follow(boolean)

Autorise ou non le mode suivi de pattern.

  • /renoise/song/edit/step(number)

Définit le saut de pas dans l'Editeur de Patterns [0 - 8].

  • /renoise/song/lpb(number)

Définit le LPB courant [1 - 255].

  • /renoise/song/record/chord_mode(boolean)

Autorise ou pas le mode accords.

  • /renoise/song/record/metronome

Active ou désactive le métronome.

  • /renoise/song/record/metronome_precount

Active ou désactive le décompte du métronome.

  • /renoise/song/record/quantization_step(number)

Définit la valeur globale de la quantisation [1 - 32].

  • /renoise/song/record/quantization(boolean)

Active ou désactive la quantisation lors de l'enregistrement des notes.

  • /renoise/song/sequence/schedule_add(number)

Programme une nouvelle position de lecture de séquenceur à lancer une fois le pattern en cours lu.

  • /renoise/song/sequence/schedule_set(number)

Remplace la position de lecture de séquence programmée.

  • /renoise/song/sequence/slot_mute(number, number)

Coupe le son de la piste / bloc spécifique de la Matrice de Patterns.

  • /renoise/song/sequence/slot_unmute(number, number)

Reactive le son de la piste/bloc spécifique de la Matrice de Patterns (après l'avoir mis en mode Mute) .

  • /renoise/song/sequence/trigger(number)

Définit la position de lecture à la position spécifiée.

  • /renoise/song/tpl(number)

Définit le TPL courant [1 - 16].

  • /renoise/song/track/XXX/device/XXX/bypass(boolean)

Définit si un périphérique est inactif ou pas  [true or false].
(XXX est l'index du périphérique, -1 signifie qu'il s'agit du périphérique sélectionné)

  • /renoise/song/track/XXX/device/XXX/set_parameter_by_index(number, number)

Définit le paramètre d'un périphérique par son index.

  • /renoise/song/track/XXX/device/XXX/set_parameter_by_name(string, number)

Définit le paramètre d'un périphérique par son nom.

  • /renoise/song/track/XXX/mute

Coupe le son de la piste.

  • /renoise/song/track/XXX/output_delay(number)

Définit le délai XXX's de la piste en cours en ms [-100 - 100].

  • /renoise/song/track/XXX/postfx_panning(number)

Définit l'orientation stéréophonique de la piste au niveau du Post-Mixeur [-50 - 50].

  • /renoise/song/track/XXX/postfx_volume_db(number)

Définit le volume en dB au niveau du Post-Mixeur [-200 - 3].

  • /renoise/song/track/XXX/postfx_volume(number)

Définit le volume tout court au niveau du post-Mixeur [0 - db2lin(3)].

  • /renoise/song/track/XXX/prefx_panning(number)

Définit l'orientation stéréo au niveau du pré-mixeur [-50 - 50].

  • /renoise/song/track/XXX/prefx_volume_db(number)

Définit le volume de la piste en dB au niveau du pré-Mixeur [-200 - 3].

  • /renoise/song/track/XXX/prefx_volume(number)

Définit le volume tout court de la piste au niveau du pré-Mixeur [0 - db2lin(3)].

  • /renoise/song/track/XXX/prefx_width(number)

Définit la largeur stéréo au niveau du pré-mixeur [0, 1].

  • /renoise/song/track/XXX/solo

Isole le son de la piste XXX.

  • /renoise/song/track/XXX/unmute

Reactive le son de la piste XXX (après l'avoir coupé).

  • /renoise/transport/continue

Continue la lecture.

  • /renoise/transport/loop/block_move_backwards

Déplace le bloc de lecture en boucle d'un segment en arrière

  • /renoise/transport/loop/block_move_forwards

Déplace le bloc de lecture en boucle d'un segment en avant

  • /transport/loop/block(boolean)

Active ou désactive la lecture en boucle des segments de pattern

  • /renoise/transport/loop/pattern(boolean)

Active ou désactive la lecture en boucle du pattern en cours.

  • /renoise/transport/loop/sequence(number, number)

Désactive ou définit une nouvelle plage de séquence à lire en boucle.

  • /renoise/transport/panic

Arrête la lecture de tous les instruments et de tous les effets sonores DSP.

  • /renoise/transport/start

Commence la lecture, ou recommence à lire le pattern en cours.

  • /renoise/transport/stop

Arrête la lecture.

  • /renoise/trigger/midi(number)

Actionne un événement MIDI brut.
arg#1: l'événement MIDI est un nombre

  • /renoise/trigger/note_off(number, number, number)

Actionne une Note OFF.
arg#1: instrument (-1 instrument actuellement sélectionné)
arg#2: piste (-1 piste par défaut)
arg#3: valeur de note (0-119)

  • /renoise/trigger/note_on(number, number, number, number)

Actionne une Note-On.
arg#1: instrument (-1 pour l'instru sélectionné)
arg#2: piste (-1 pour la piste en cours)
arg#3: valeur de note (0-119)
arg#4: vélocité (0-127)

Notez que l'implémentation OSC par défaut, peut être étendue en éditant le fichier "GlobalOscActions.lua" dans le répertoire "Scripts", que vous pouvez trouver dans le dossier où vous avez installé Renoise.

 

Exemples

Pour vous aider à mieux comprendre comment fonctionne le protocole OSC, on peut s'appuyer sur deux exemples assez simples, l'un utilise une application Apple installable sur iPhone, iPad... et l'autre utilise un environnement de programmation nommé Pure Data.

 

TouchOSC via Duplex


L'outil Duplex est livré avec un préset de Périphérique préréglé pour TouchOSC, une application pour iPhone / iPod Touch / iPad, qui permet à ces terminaux tactiles de contrôler Renoise par protocole OSC. Pour l'utiliser, sélectionnez "TouchOSC" dans le menu "Device" dans le menu déroulant du Navigateur Duplex, et ajustez la configuration selon vos besoins dans la boîte de dialogue "Paramètres". Puis, en utilisant l'application TouchOSC sur l'appareil d'Apple, vous pouvez modifier les valeurs des différents boutons et les curseurs sur l'écran pour contrôler différentes fonctions de Renoise.

Duplex utilise l'API scriptable de Renoise pour communiquer avec les tablettes tactiles en OSC : il est donc entièrement re-configurable et peut également être utilisé à titre d'exemple ou de point de départ pour d'autres développements mettant en œuvre OSC dans Renoise.

 

Pure Data


Pure Data est un environnement de programmation graphique pour l'audio, la vidéo et de traitement graphique, en temps réel. Il a été créé pour explorer des idées sur la façon d'affiner le paradygme de Max, avec l'idées de traiter les données de base d'une manière plus ouverte, et en l'ouvrant aussi à des applications externes, qui vont au  delà de l'audio et MIDI, telles que des applications graphiques et des vidéos. Il existe différentes versions disponibles en téléchargement pour PC, Mac et Linux.

Utiliser Pure Data avec Renoise Via OSC

  • D'abord, installez Pure Data, ensuite téléchargez, décompressez et ouvrez le fichier "test-renoise-osc.pd" dans Pure Data.

  • En haut à gauche vous pouvez définir le n° de port qui correspond au n° de port OSC défini dans Renoise [connect localhost XXXX]. Avec Edit Mode (Ctrl + E) vous pouvez définir les numéros.

  • A droite, vous pouvez lancer et arrêter la musique sur Renoise avec les boutons [send / renoise / transport / start] et [send / renoise / transport / stop].

  • Le programme de test est livré avecun ensemble de commandes pré-chargées. Assurez-vous qu'un échantillon est bien chargé quand même dans l'emplacement 00 dans Renoise et appuyez sur le bouton "chord-test" dans Pure Data. Vous devriez entendre un accord joué. Vous pouvez aussi cliquer sur des commandes individuelles pour écouter les notes individuelles.

  • Si vous souhaitez entrer des nouveaux messages OSC par vous-mêmes:

    • Sélectionnez depuis le menu "Put -> Message", placez la boite sur l'écran, et entrez la commande désirée voir par exemple la liste des commandes située plus haut pour faire vos tests.

    • Connectez la nouvelles boite de message en survolant le coin en bas à gauche, (le curseur se transformera en cercle) et en cliquant et en tirant le tout vers la boite "sendOSC".

    • Supprimez le mode édition avec (Ctrl + E) et cliquez sur le boite pour envoyer le message à Renoise via OSC