Script de traitement avec le MIDI (2 / 12 étapes)

Étape 2: Une simple esquisse

Il s’agit d’un simple croquis pour montrer le comportement de base et de vérifier que les choses fonctionnent.

 // SimpleMidi.pde import themidibus.*; //Import the library import javax.sound.midi.MidiMessage; MidiBus myBus; int currentColor = 0; int midiDevice = 3; void setup() { size(480, 320); MidiBus.list(); myBus = new MidiBus(this, midiDevice, 1); } void draw() { background(currentColor); } void midiMessage(MidiMessage message, long timestamp, String bus_name) { int note = (int)(message.getMessage()[1] & 0xFF) ; int vel = (int)(message.getMessage()[2] & 0xFF); println("Bus " + bus_name + ": Note "+ note + ", vel " + vel); if (vel > 0 ) { currentColor = vel*2; } } 

Première un rapide tour d’horizon : lorsque vous exécutez ceci vous devriez voir (dans la fenêtre de message Processing IDE, ou dans une fenêtre de terminal, selon la façon dont vous l’exécutez) une liste des disponibles de MIDI entrées et de sorties. Dans mon cas, j’ai joint un clavier MIDI QuNexus qui arrive à monter sous le numéro d’entrée 3, c’est la valeur que j’ai assignée à midiDevice. (Je n’aime pas ce périphérique de sortie est sélectionnée pour je l’ai juste mis à 1.)

Le dessin apparaît une fenêtre qui va changer de nuances de gris basée sur la vitesse de quelque MIDI pas vous l’envoyer.

Si vous n’utilisez pas l’appareil qui envoie à vitesse variable les visuels ne seront pas terriblement intéressants. Vous verrez toujours les détails println assorties cependant.

Ce qui se passe dans ce sketch

Tout d’abord vers le haut, vous devez importer la bibliothèque de MidiBus (themidibus) mais aussi une bibliothèque de Java (javax.sound.midi.MidiMessage) afin que votre code peut faire référence à des objets MidiMessage (comme il arrive dans cette esquisse).

Selon ce que vous voulez faire avec les méthodes disponibles par l’intermédiaire de MidiBus, vous devrez importer les autres fichiers MIDI Java, mais pour que cet exemple seulement que l'on va faire.

Dans le programme d’installation l’esquisse Initialise le MidiBus instance myBus. Lorsque vous créez une nouvelle instance d’une classe de MidiBus vous devez passer une référence à l’esquisse de cours (AKA cela), l’indice de l’appareil pour écouter et l’indice de l’appareil pour envoyer à.

Si vous voulez voir quels périphériques sont disponibles, vous pouvez appeler MidiBus.list() qui imprime (vers STDOUT) listes des disponible MIDI d’entrée et de sortie des dispositifs. Le numéro qui apparaît à gauche d’un élément est le numéro d’index que vous utilisez lors de la création de votre instance de MidiBus.

Si vous voulez être vraiment intelligent vous pourriez cette place envelopper dans une sorte de GUI (éventuellement à l’aide de ControlP5) afin que les dispositifs peuvent être définies ou modifiées après que l’esquisse est démarrée. En pratique, cependant, les appareils sont peu susceptibles de changer d’un seul passage à l’autre et coder en dur les est probablement suffisant pour la plupart des cas. Une autre option est d’avoir votre croquis charger ces valeurs d’un fichier de configuration de sorte que lorsque vous avez besoin de les changer, c’est un peu plus facile à faire.

Une fois qu’une instance de MidiBus a été créée, et une fenêtre de dessin adapté, il est temps d’attente pour certains MIDI d’entrée.

Une variable globale, currentColor, est en place pour contenir la valeur de gris pour le fond de croquis. Tirage tous fait sert cette valeur à la couleur de la fenêtre. Pourtant, si vous envoyez des notes MIDI sur le croquis la fenêtre change. Où se produit le changement ?

MidiBus fournit quelques méthodes de rappel. Voici les méthodes qui sont appelées automatiquement dans diverses conditions. Cette esquisse utilise midiMessage, qui est appelée automatiquement chaque fois qu’un message MIDI arrive.

Il existe deux versions de midiMessage ; l’autre a juste un argument pour le message MIDI. Cette esquisse utilise une version qui inclut l’heure et le nom de bus MIDI juste pour montrer certains détails MIDI que vous pouvez obtenir.

Vous décidez ce qui se passe dans cette méthode. Pour ce croquis le code attrape quelques infos sur le message MIDI et imprime et ressemble alors à la vélocité de la note. Si la vitesse est supérieure à zéro, puis cette valeur est doublée et assignée à currentColor.

Pourquoi passer des valeurs de zéro ? La norme MIDI définit des messages pour "note on" et "note off". Mais certains appareils ne vous embêtez pas avec « note off », plutôt message envoi une « note on » avec une vitesse nulle.

Quand j’ai écrit tout d’abord ce sketch, j’ai simplement attrapé la vitesse et utilisé et vu que l’écran est devenu noir par dès que j’ai pris mes doigts sur les touches QuNexus. Je regarde le println sortie j’ai vu ce qui se passait : zéro vitesse pour « note off ».

Comment vous gérer c’est à vous ; juste être conscient que cela peut arriver.

Donc c’est tout à fait le croquis simple mais montre une idée-force : l’esquisse attend des signaux externes, répond à ces signaux en mettant à jour certaines variables, et chaque passage du tirage au sort utilise l’état actuel de ces variables pour faire quelque chose.

Articles Liés

Comment contrôler un croquis de traitement avec deux entrées Arduino

Comment contrôler un croquis de traitement avec deux entrées Arduino

Ce tutoriel va vous montrer comment construire un circuit de base Arduino qui permet de contrôler un fun ball couleur croquis dans le traitement.Vous aurez besoin :1 x carte Arduino (j'utilise un Uno)1 x planche à pain1 Photo de x-résistance1 x 10 k
Comment faire un synthétiseur sonore Arduino avec interface MIDI

Comment faire un synthétiseur sonore Arduino avec interface MIDI

Avec ce synthétiseur, vous pouvez faire Arduino reproduire des formes d'ondes totalement personnalisés. En raison de l'interface MIDI, il peut être connecté à n'importe quel instrument qui disposent et jouer avec le son souhaité.Étape 1: matériauxArd
Poux des volailles - quoi, pourquoi, qui, quand et où ? Traitement avec des huiles, prévention avec le régime. Poulets biologiques

Poux des volailles - quoi, pourquoi, qui, quand et où ? Traitement avec des huiles, prévention avec le régime. Poulets biologiques

J'aurais aimé avoir droit à cette pièce « beaucoup de choses que vous ne voulais pas savoir sur les poux, mais un jour peut être heureux que vous avez fait ».Par la suite instructable, j'essaie de condenser deux des articles que j'ai écrit sur le pou
Cellule photoélectrique réagit à la lumière d’un œil. un projet d’introduction pour l’utilisation de traitement avec Arduino

Cellule photoélectrique réagit à la lumière d’un œil. un projet d’introduction pour l’utilisation de traitement avec Arduino

Dans ce projet, vous pouvez voir un exemple simple d'utilisation le traitement afin de faire une représentation graphique de données qu'un arduino obtient comme un détecteur de. Dans ce cas, une cellule photoélectrique.Après obtenant une image de le
Comment couper Bullnose de perles en plaques de plâtre avec un Mider

Comment couper Bullnose de perles en plaques de plâtre avec un Mider

c'est comment nous couper des billes de cloison sèche rond qui se rencontrent dans un angle de 90 degrés. Nous allons utiliser un outil appelé un « Mider » à l'occasion de nos lignes afin d'avoir nos coins sans lacunes où ils se rencontrent. S'il exi
Gars : Comment traiter avec les filles sur internet.

Gars : Comment traiter avec les filles sur internet.

Après un membre ici s'est plaint des attaques et mesquin blagues sur le fait qu'elle était une fille sur ce site, j'ai pensé que cela pourrait être une bonne idée... Le thread d'origine.Donc voilà, un guide traitant des femmes sur l'internet, sans fa
Comment contrôler un jeu simple de traitement avec Arduino

Comment contrôler un jeu simple de traitement avec Arduino

Bonjour à tousDans ce Instructable, nous allons voir comment créer un « lien » entre une esquisse de traitement et une carte Arduino. Dans cet exemple, un module à ultrasons sera utilisé pour contrôler un avion dans un jeu simple. Encore une fois, ce
Post-traitement avec un GPS GeoExplorer3

Post-traitement avec un GPS GeoExplorer3

collecte des caractéristiques avec n'importe quelle unité de système de positionnement Global (GPS) peut être utile et intéressant. La plupart des gens rencontrent les unités de GPS après tout les collecte de données et le traitement est terminé. Nou
Voiture R/C contrôles de traitement avec les modules XBee

Voiture R/C contrôles de traitement avec les modules XBee

cette instructable est une modification de ma présentation à la communauté Processing Chicago au laboratoire de visualisation électronique (EVL), Université de l'Illinois à Chicago le 1er octobre 2012. Dans la rubrique desSérie de la bibliothèque de
À l’aide de traitement avec Ember

À l’aide de traitement avec Ember

Une des choses qui m'intéresse le plus sur braise, est le fait que les fichiers d'entrée sont une pile de png. Cela signifie que l'on peut nourrir essentiellement les images imprimante sans la nécessité d'organe solide modélisation, LSE ou trancher !
Traiter avec pâte à Pizza

Traiter avec pâte à Pizza

pâte à Pizza peut être délicat, avouons-le. Dérouler avec un rouleau à pâtisserie peut produire une pizza acceptable bien que plat, et si vous avez trop travailler la pâte sera simplement d'étirement retour comme un élastique (pas de mention avoir du
Simple astuce de Dernière Minute ou sac de bonbons traiter avec motif

Simple astuce de Dernière Minute ou sac de bonbons traiter avec motif

rendre cette dernière minute facile truc sac de bonbons en aucun temps du tout !  Utilisez ce modèle super simple, feutres, colle et un peu de couture pour concocter un sac de friandise pour votre soir de l'Halloween.  Si vous n'avez pas une machine
Traiter avec un froid

Traiter avec un froid

je me suis réveillé hier ne se sentant pas bien, et j'ai vite compris, j'ai eu un rhume. Hiver et le printemps sont les capitols froids de l'année, afin de vous préparer à ce qui est à venir, voici quelques conseils pour traiter un rhume !Étape 1: sy
Traiter avec Raw bords de tissu de toile de jute

Traiter avec Raw bords de tissu de toile de jute

si vous avez déjà travaillé avec toile de jute, vous remarquerez que parfois simplement en découpant la forme de votre chemin de table, napperon ou petit tapis toujours ne fait pas l'affaire. Parce que les bords ne sont pas cousus, ils vont être effi