Bonjour,
je m'explique :
J'aimerais créer un programme d'aide à la composition qui, dans un premier temps, fonctionnerait comme suit :
- en entrée :
a) un fichier midi comprenant une seul piste avec une mélodie sur 8 mesures
b) une grille d'accord pour ces 8 mesures
- en sortie :
un fichier midi avec cette mélodie harmonisée pour 4 voix. (l'harmonie correspond aux accord donnés en entrée)
éventuellement, dans un second temps, j'aimerais doter ce programme d'une interface graphique, et ajouter d'autres fonctionnalités.
Je voulais faire ça au départ avec l'éditeur logique de Cubase, mais il me semble que cet outil est trop limité pour ce que j'aimerais en faire.
J'ai pensé à Java ou C++. Mais j'imagine que pour programmer en utilisant du midi, il faut des bibliothèques de fonctions dédiées. Comme je connais très mal ces langages, et encore moins les bibliothèques qui vont avec, je ne sais vraiment pas dans quelle direction partir.
Si parmi ceux qui liront ce message, quelqun connaît bien la question, je lui serait infiniement reconnnaissant de m'éclairer !
merci d'avance
Sébastien
Hors ligne
salut,
c'est à tester, mais je me demande si tu ne pourrais pas réaliser ce projet en utilisant PureData (qui est tout de même bien moins difficile à appréhender que des langages comme c++ ou java me semble t'il)
Sinon comme langages sympa il y a Python aussi, et cela m'étonnerais qu'il ne dispose pas d'une bibliothèque l'interfaçant avec midi...
Hors ligne
Bonjour,
Merci pour votre réponse.
Je vais voir à quoi ressemble pureData
Sinon, j'ai découvert http://www.algomusic.com/jmsl/ une librairie java (je crois) qui à l'air de correspondre à ce que je cherche.
qu'en pensez vous ?
Dernière modification par envahisseur.delespace (2009-05-07 11:03:59)
Hors ligne
Bonjour,
En java, il existe aussi jmusic : http://jmusic.ci.qut.edu.au/ des outils d'aide à la composition qui manipulent le midi. Sinon, Processing, qui (en bref) est une version plus accessible de java a aussi 2 librairies pour manipuler le midi : promidi, et themidibus (voir http://processing.org/reference/libraries/ ), si tu n'as jamais programmé en java, c'est peut-être la méthode la plus douce pour découvrir le langage. Par contre, je ne sais pas si les fonctions de ces librairies sont suffisantes pour réaliser ton projet.
Hors ligne
ouaip je vais regarder jMusic
j'espère qu'il y a un truc pour afficher des parts comme sur jMsl !!
Hors ligne
Max/MSP est très indiqué pour ce que tu veux faire, bibliothèque d'objet midi qui existe depuis sont origine.
Mais tu devras développer un peu quand même, c'est beaucoup moins ardu que la programmation en ligne (C++, java, etc...).
C'est moins spécialisé qu'OpenMusic de l'IRCAM qui serait l'idéal dans ton cas.
Tu as l'option PureData dont le grand avantage est la gratuité, mais l'aspect midi, dans les exemples, est moins développé que Max/MSP (je le dis parce que j'ai essayé les deux, bien sûr).
Bonne prog !
Hors ligne
Ok, merci pour les conseils.
Au passage, je ne souhaite pas du tout faire du temps réel. Entre autres parce que les règles que je veux appliquer ont pour paramètres des évènement ultérieurs aux notes auxquelles ells s'appliquent, d'où l'impossibilité de faire du temps réel !!
D'après ce que tu me dis, open music est le mieux ?
Hors ligne
au fait, j'ai déjà fait un peu de java, mais je suis à peine plus que débutant.
Hors ligne
Hors ligne
Ça a l'air bien midi perl, puisqu'on est dans l'inventaire, il existe aussi une classe pour php : php midi class qui permet de travailler les fichiers midi et aussi keykit, un langage + interface pour la composition algorithmique en midi
Hors ligne
Bon,
j'ai commencé à regarder jMusic, c'est vraiment pas mal !
Certains programmes réalisés à l'aide de cette librairie sont géniaux.
Dommage qu'il faille tout refaire : il n'y a pas beaucoup de tutoriels concernant la partie graphique...
Sébastien
Hors ligne
Jmusic ?
A ce moment là, pourquoi pas "Symbolic Composer", tu auras une plus grande bibliothèque.
Hors ligne
Je ne connais pas Symbolic composer, je vais jeter un coup d'oeil
Hors ligne
Pages: 1