Annonce

>>> Bienvenue sur codelab! >>> Première visite ? >>> quelques mots sur codelab //// partage de liens //// une carte des membres//// (apéros) codelab


#1 2010-02-03 14:51:17 Piano roll

jerome
membre
Date d'inscription: 2008-03-04
Messages: 99
Site web

Piano roll



Pour un projet au Cnam, j'ai réalisé une petite application avec Processing : un piano roll.
Je suppose que la plupart d'entre vous connaisse ce type d'outil.


Ajout de dernière minute : il faut changer le numéro de sortie du Midi. Celui selectionné par défaut est le 1.
Le code Processing : http://impala.utopia.free.fr/travaux/da … lp5_V1.zip

On peut voir un projet plus intéressant utilisant un séquencement sous forme de matrice dynamique, régie selon les lois du "jeu de la vie", ici : www.glitch-sequencer.com

Le code de ce projet n'étant pas disponible, j'ai essayé de tout faire moi-même.

Pour cela, j'ai utilisé 2 bibliothèques :
* pour les boutons, controlP5 : http://www.sojamo.de/libraries/controlP5/
* pour la gestion du midi, proMidi : http://creativecomputing.cc/p5libs/promidi/

Une petite originalité du projet est d'utiliser un capteur pour changer le tempo.
C'est juste une option, donc non indispensable.
Il faudrait pour cela avoir une Arduino, et mettre un petit code (fourni dans le sketch) pour lire l'entrée analogique n°2.

Je partage ce projet pour avoir quelques retours et au moins pour l'améliorer.

En effet, des erreurs bloquantes sont apparues :
- Le frameRate ne devait dépasser 20 pour que la visualisation du capteur, sous forme d'un petit rectangle grandissant, soit correcte, c'est-à-dire sans saccades. Le faible taux de rafraîchissement entraine une jigue involontaire au niveau du séquencement des notes midi. Le système de séquencement adopté est assez stupide, dû aux problèmes rencontrés avec proMidi dans les 2 points suivants.
- La méthode removeEvent() de proMidi semble être "buggée", ce qui empêche d'utiliser le séquenceur de proMidi, via le système de track et d'ajout de notes dans la séquence.
- Le séquenceur de proMidi n'étant pas utilisable, il a fallu envoyer des notes avec sendNote(). Ce qui entraîne un autre problème : il faudrait aussi envoyer des notes off, sinon les durées des notes ne sont pas respectées. Ce problème n'est pas clair et non résolu pour ma part.

Pour ces problèmes avec proMidi, voir ces sujets :
http://processing.org/discourse/yabb2/Y … 214392504/
http://codelab.fr/1499

Dernière modification par jerome (2010-02-05 11:00:51)

Hors ligne

 

fil rss de cette discussion : rss

Pied de page des forums

Powered by FluxBB

codelab, graphisme & code : emoc / 2008-2017