Editer les fréquences de notes des fichiers MIDI. - Traitement Audio - Video & Son
Marsh Posté le 23-06-2007 à 21:46:26
Il n'y a aucune information de "fréquence" contenue dans un signal MIDI qui n'est qu'un protocole de communication entre deux appareils, dedié à l'audio.
Si tu envoie un D4 (ré) à un synthé et que ce synthé est programmé pour te jouer un do sur toute la gamme, ou encore accordé au quart de ton, ou mieux programmé avec un LFO agissant sur la tonalité de l'oscillateur (genre sirène de pompier), tintin.
Pour modifier un fichier MIDI il te faut un séquenceur. Recherche quartz + midi sur google.
Relis surtout les spécificités du protocole MIDI pour en comprendre son fonctionnement, basé sur des "ordres" divers envoyés à une unité de synthèse sonore (entre autres)...
Marsh Posté le 23-06-2007 à 22:16:41
Enfait mes manipulations de fichiers midi ne se trouvent pas entre un ou plusieurs appareils, mais logiciels.
Si l'on parle de musique microtonale, une octave divisée en 18 ou 40 parties égales par ex., les noms des notes n'as plus de sens. Il faut donc travailler sur la valeur des fréquences pour s'y retrouver.
Mais il y a bien une valeur de la fréquence du son ou sons simultanés dans un fichier MIDI ?? Si les deux logiciels peuvent lire les fréquences microtonales (ce qui est le cas).
Marsh Posté le 23-06-2007 à 22:57:59
Voilà ce que je recherche :
http://209.85.135.104/search?q=cac [...] d=15&gl=fr
Le MIDI peut être utilisé pour jouer des gammes non standard. Aucune standardisation n'existe pour l'instant ; cependant certains constructeurs d'instruments MIDI proposent des fonctions microtonales plus ou moins développées à l'aide de messages propriétaires que l'on peut enregistrer et transmettre avec les messages système exclusif.
Issue de la notation MIDI des hauteurs musicales, l'unité dénommée midicent, non officielle mais très pratique, est souvent utilisée pour noter les accords non standard et les analyses acoustiques. Chaque midicent correspondant alors à un centième de demi-ton, les rang des centaines et milliers de la valeur indiquant la hauteur MIDI standard : le do 3, noté 60 avec la norme MIDI, est noté : 6 000 en midicent, un do 3 augmenté d'un quart de ton : 6 050, un ré 3 : 6 200… (cette unité n'est donc pas incluse dans la norme MIDI, elle en est seulement issue).
La possibilité de multiplexer 16 canaux sur un seul fil permet de contrôler plusieurs instruments.
Marsh Posté le 23-06-2007 à 23:58:18
Citation : cependant certains constructeurs d'instruments MIDI proposent des fonctions microtonales plus ou moins développées à l'aide de messages propriétaires |
donc hors norme. Ce genre de fichier MIDI ne sera réellement interprété dans son intégralité par seuls les instruments fabriqués par ce constructeur.
Tu sais, on utilise déjà le MIDI pour commander des lights, des multi-effets, des fonctions integrées à des DAW ou ce que l'on veut, vu que le nombre de messages standardisés est nettement en deçà du maximum (127 valeurs possibles pour désigner chaque controleur - 1 modul, 10 pan, 7 volume etc etc... - et environ une bonne vingtaine sont couramment utilisés, le reste sont des "slots" libres), ca laisse largement le champ à des fabricants pour ajouter ce qu'ils veulent à leurs machines de façon propriétaire et ajouter ce qu'ils veulent à leur implémentation de la norme MIDI, dans leurs machines (ils ne s'en privent pas). A voir au cas par cas et selon les appareils.
Rien n'empêche par exemple un fabricant d'intégrer une routine qui, si elle reçoit une message note on, valeur, durée, suivi d'un numéro de controlleur propriétaire suivi de deux valeurs pour coder en 14 bits (7 x 2) une valeur d'accordage en microtonalité, il suffira à l'appareil récepteur d'accorder cette note en fonction de la valeur donnée par ce controleur.. ce n'est qu'un exemple. Je ne sais pas comment ils procèdent mais tout est possible.
Maintenant pour réellement travailler sur la fréquence des notes jouées en norme MIDI, c'est en l'état actuel des choses et vu la spécificité du standard MIDI actuelle tout simplement impossible. Le travail s'effectuera forcément côté récepteur (hardware ou simplement unité receptrice). Il est même plus simple de "jouer du bender" (côté séquenceur) que de s'embêter avec du microtonal mais bon.
Maintenant si tu dois te taper du microtonal en programmant des system exclusives, je te souhaite d'avoir un sacré courage!
Marsh Posté le 24-06-2007 à 14:45:02
Merci beaucoup pour ces explications.
Je pense effectivement , que je devrais programmer en système exclusif.
Mais maintenant si en gros, je programme en système exculsif, est-ce que mon fichier midi au final sera compatible avec tout les logiciels ou matériels inimaginables ? ou est-ce qu'il y aura encore des exceptions à la règles .
J'ai essayé la démo de harmony assistant, on peut placer des notes, et faire un ajustement de fréquences, voilà ce que çà donne en mp3 :
http://download.yousendit.com/23F9BD8547ECFDF4
(bon j'ai fais des ajustements au hasard), mais çà a l'air interessant, le seul problème c'est qu'il faut calculer un ajustement pour chaque notes... on n'y arrive, bref mais c'est trop trop fastifieux. c'est pour celà que je veux faire une autre manipulation beaucoup plus rapide.
Donc ma seule solution serait peut-être ce système exclusif.
Est-ce que je peux créer un fichier *.TXT avec les fréquences (superposition sur un temps = accords) et les temps, puis importer tout ceci dans un logiciel qui me programmerait tout ceci avec ce système exclusif ?
Oui importer des fréquences et les temps, puisque, ma musique est plutot basée sur l'expérimentale, et algorithmique,c'est pour celà que je voudrais "importer" dans un fichier, et non modifier la valeur de chaque notes comme c'est le cas dans le super logiciel harmony assistant...harmony assistant me conviendrait, mais je perd trop de temps à modifier les notes .
Donc maintenant, comment programmer ce système exclusif, je cherche, mais si vous auriez la voie la plus rapide et simple, je suis preneur !
Marsh Posté le 24-06-2007 à 18:11:13
Mon pauvre tu n'as pas fini:
un exemple:
F0 [Exclusive]
41 [ID fabricant] <- Roland dans cet exemple
32 [Type de fonction]
0N [N+1=canal MIDI (N=0-15, Chan 1=00)]
XX [Adresse du paramètre, MSB, LSB, en général, poit fort + poids faible]
YY [Valeur de la variable à modifier (0-127)]
CK [Cheksum]
F7 [Fin du message]
Répète cet exemple autant de fois que tes paramètres doivent changer et tu auras une suite d'un millier d'octets pour faire varier une simple valeur de 1 à 127 par incréments de 1...
Chaque fabricant a son propre standard, chaque machine a ses propres paramètres, adresses... chaque sysex peut éventuellement être également assorti d'une somme de contrôle qui doit, en additionnant en binaire - 7 bits - les adresses et valeurs, donner 128 - exemple: roland). Dans chaque doc de synthés il y a un tableau en fin de manuel expliquant en général trés sommairement le standard à utiliser (format du message) et le mapping des fonctions du clavier accessibles par sysex.
Bon courage!!
http://www.zdnet.fr/telecharger/ma [...] 90s,00.htm
Marsh Posté le 24-06-2007 à 18:19:50
Tiens va voir ici par exemple:
http://www.supinfo-projects.com/fr/2005/norme_midi/
Marsh Posté le 25-06-2007 à 22:29:09
oui pauvre c'est très bien dit lol.
MErci quand même pour les liens que je vais lire !
Marsh Posté le 23-06-2007 à 19:05:34
Je recherche un programme qui permet d'éditer les fichiers MIDI sur la fréquence.
Par exemple exporter sous un fichier txt les différentes caractéristique du fichier midi (fréquence notes/accords, temps), puis de modifier manuellement les fréquences ou temps ! Est-ce possible ?
Oubien faire l'inverse creer une série de fréquences sous midi dans un fichier txt, importer celui-ci dans un logiciel qui transpose en instrument midi ??
C'est juste pour des effet spéciaux, et aussi éventuellement pour faire la différence entre un reb et do# (pour ceux qui se connaissent en musique ), oubien jouer de la musique microtanale !!!!