Licence Image et Son Pierre Hanna hanna@labri.fr Université de Bordeaux Son – p

Licence Image et Son Pierre Hanna hanna@labri.fr Université de Bordeaux Son – p.1/49 Notation musicale Manière la plus satisfaisante de transmettre de la musique: écoute. Plus compliqué : présence de l’interprète nécessaire. Notation musicale: transmettre une oeuvre pour qu’elle puisse être jouée/interprétée. Langage d’écriture musicale évolué, largement reconnu sur le plan international. Répertoire immense disponible sous cette forme dans les librairies musicales. Possibilité d’écrire votre musique de manière à la faire jouer par d’autres. Partition : une ou plusieurs pages sur lesquelles la musique est écrite. Son – p.2/49 Formats musicaux Au lieu de se placer au niveau de l’onde sonore : pression acoustique en fonction du temps niveau musical : évènements musicaux (partition) notes durée des notes Format principal : MIDI (Musical Instrument Digital Interface) Son – p.3/49 Bibliographie (1/2) documents officiels: International MIDI Association, 5316 West 57th Street, Los Angeles, CA 90056, USA International MIDI Association (IMA) MIDI 1.0 Detailed Specification Los Angeles, 1988. International MIDI Association (IMA) General MIDI System Los Angeles, 1991. MIDI Manufacturers Association (MMA) The Complete MIDI 1.0 Detailed Specification – Standard MIDI Files 1.1 1996. documents en ligne: http://www.midi.org (officiels) http://www.borg.com/~jglatt/tech/midispec/table.htm http://www.harmony-central.com/MIDI très nombreux livres sur le sujet... Son – p.4/49 Bibliographie (2/2) quelques critiques: F. Richard Moore The Dysfunctions of MIDI Proceedings of the International Computer Music Conference Computer Music Association, San Francisco, 1987; Computer Music Journal 12(1):19–28, Spring 1988. C. Muir et K. McMillen What’s Missing in MIDI? Guitar Player, June 1986. ... A. Roberts Devices for Increasing the Number of MIDI Channels Computer Music Journal 16(4):101–104, Winter 1992. Son – p.5/49 Qu’est-ce que MIDI? MIDI: Musical Instrument Digital Interface (marque déposée par la MMA: MIDI Manufacturers Association) protocole de communication entre instruments numériques événements musicaux (gestes de l’instrumentiste) pas de flux audio-numérique (absence de son) pas une véritable norme, mais un standard de marché Son – p.6/49 Historique origine: 1983, NAMM (North American Music Manufacturers) Show à Los Angeles (liaison de 2 synthétiseurs de marques différentes pour qu’un instrumentiste puisse jouer le même son avec des timbres différents depuis un unique clavier) années 80, première moitié: définition du protocole MIDI; seconde moitié: publication du standard, premières critiques; années 90, première moitié: améliorations, mais sans toucher au standard original, seconde moitié: grosses critiques; depuis: pas de gros changements... →astuces ingénieuses, mais sans réelle remise en question Son – p.7/49 Caractéristiques techniques liaison série (type RS 232) vitesse de transmission: 31250 bauds 31250 bits par seconde un message MIDI usuel: 3 octets (1 commande, 2 arguments) un octet →8 bits de données + 2 bits start / stop (série) ⇒un message MIDI transmis en (3×10)/31250 ≤1 ms protocole asynchrone, unidirectionnel fonctionnement maître / esclave Son – p.8/49 Prises MIDI (DIN) OUT THRU (OUT) GROUND THRU (IN) IN Son – p.9/49 Câble MIDI minimal... IN OUT GROUND IN OUT GROUND (unidirectionnel: IN →OUT ou OUT →IN) La fonctionnalité THRU (through: “à travers”): renvoie en sortie ce qui provient de l’entrée IN. Son – p.10/49 Périphériques MIDI clavier maître: envoie les événements musicaux expandeur: synthétise les sons synthétiseur (= clavier maître + expandeur) séquenceur: stocke les événements musicaux contrôleur matériel: envoi de valeurs . . . Son – p.11/49 Exemples de réseaux MIDI (1/3) IN expandeur geste (MIDI) son (non MIDI) OUT Son – p.12/49 Exemples de réseaux MIDI (2/3) Son – p.13/49 Exemples de réseaux MIDI (3/3) chaîne I O T I O T I O T I O T I O T I O T I O T I O T I O T I O T maître / esclave boucle Son – p.14/49 Messages normaux (de voix / canal) channel message: 1xxx cccc 1000cccc 0kkkkkkk 0ppppppp: note off (touche k, vélocité p) 1001cccc 0kkkkkkk 0ppppppp: note on (touche k, vélocité p – note OFF si p = 0) 1010cccc 0kkkkkkk 0ppppppp: after touch (touche k, pression p) 1011cccc 0ppppppp 0vvvvvvv: control change (valeur v affectée au paramètre p) 1100cccc 0nnnnnnn : program change (numéro n) 1101cccc 0ppppppp : channel pressure (pression p) 1110cccc 0vvvvvvv 0vvvvvvv: pitch wheel (valeur v [14 bits, little-endian]) 0v6v5v4v3v2v1v0 0v13v12v11v10v9v8v7 Son – p.15/49 Notes et notations notations des 7 notes de la gamme: français la si do ré mi fa sol anglo-saxon A B C D E F G (touches blanches du piano) plus les dièses (#), au nombre de 5 dans la gamme chromatique (touches noires du piano) une octave = 12 demi-tons (7 + 5 notes) Son – p.16/49 Code des touches code note C C# D D# E F F# G G# A A# B -2 | -1 – 1 2 3 4 5 6 7 8 9 10 11 -1 | 0 12 13 14 15 16 17 18 19 20 21 22 23 0 | 1 24 25 26 27 28 29 30 31 32 33 34 35 1 | 2 36 37 38 39 40 41 42 43 44 45 46 47 2 | 3 48 49 50 51 52 53 54 55 56 57 58 59 3 | 4 60 61 62 63 64 65 66 67 68 69 70 71 4 | 5 72 73 74 75 76 77 78 79 80 81 82 83 5 | 6 84 85 86 87 88 89 90 91 92 93 94 95 6 | 7 96 97 98 99 100 101 102 103 104 105 106 107 7 | 8 108 109 110 111 112 113 114 115 116 117 118 119 8 120 121 122 123 124 125 126 127 octave Son – p.17/49 Un exemple... en hexadécimal: 0x90 0x3C 0x5F 0x80 0x3C 0x00 0x90 0x3E 0x64 0x80 0x3E 0x00 0x90 0x40 0x63 0x80 0x40 0x00 0x90 0x3C 0x47 0x90 0x3C 0x00 0xFE 0x3E 0x7F 0x3E 0x00 Son – p.18/49 Un exemple... en hexadécimal: 0x90 0x3C 0x5F 0x80 0x3C 0x00 0x90 0x3E 0x64 0x80 0x3E 0x00 0x90 0x40 0x63 0x80 0x40 0x00 0x90 0x3C 0x47 0x90 0x3C 0x00 0xFE 0x3E 0x7F 0x3E 0x00 0x90 = 10010000 = note on canal 0 Son – p.19/49 Un exemple... en hexadécimal: 0x90 0x3C 0x5F 0x80 0x3C 0x00 0x90 0x3E 0x64 0x80 0x3E 0x00 0x90 0x40 0x63 0x80 0x40 0x00 0x90 0x3C 0x47 0x90 0x3C 0x00 0xFE 0x3E 0x7F 0x3E 0x00 0x90 = 10010000 = note on canal 0 →prend 2 arguments: 1. numéro de touche: 0x3C = 60 →do 2. vélocité: 0x5F = 95 →forte Son – p.20/49 Un exemple... en hexadécimal: 0x90 0x3C 0x5F 0x80 0x3C 0x00 0x90 0x3E 0x64 0x80 0x3E 0x00 0x90 0x40 0x63 0x80 0x40 0x00 0x90 0x3C 0x47 0x90 0x3C 0x00 0xFE 0x3E 0x7F 0x3E 0x00 do joué 0x80 = 10000000 = note off canal 0 Son – p.21/49 Un exemple... en hexadécimal: 0x90 0x3C 0x5F 0x80 0x3C 0x00 0x90 0x3E 0x64 0x80 0x3E 0x00 0x90 0x40 0x63 0x80 0x40 0x00 0x90 0x3C 0x47 0x90 0x3C 0x00 0xFE 0x3E 0x7F 0x3E 0x00 do joué 0x80 = 10000000 = note off canal 0 →prend 2 arguments: 1. numéro de touche: 0x3C = 60 →do 2. vélocité: 0x00 = 0 →non spécifiée Son – p.22/49 Un exemple... en hexadécimal: 0x90 0x3C 0x5F 0x80 0x3C 0x00 0x90 0x3E 0x64 0x80 0x3E 0x00 0x90 0x40 0x63 0x80 0x40 0x00 0x90 0x3C 0x47 0x90 0x3C 0x00 0xFE 0x3E 0x7F 0x3E 0x00 do joué, puis relâché ensuite: ré joué, puis relâché mi joué, puis relâché do joué, puis relâché∗ ∗(astuce: note on avec vélocité 0 ⇒note off) Son – p.23/49 Un exemple... en hexadécimal: 0x90 0x3C 0x5F 0x80 0x3C 0x00 0x90 0x3E 0x64 0x80 0x3E 0x00 0x90 0x40 0x63 0x80 0x40 0x00 0x90 0x3C 0x47 0x90 0x3C 0x00 0xFE 0x3E 0x7F 0x3E 0x00 do joué, puis relâché ré joué, puis relâché mi joué, puis relâché do joué, puis relâché active sensing →ne prend pas de paramètre Son – p.24/49 Un exemple... en hexadécimal: 0x90 0x3C 0x5F 0x80 0x3C 0x00 0x90 0x3E 0x64 0x80 0x3E 0x00 0x90 0x40 0x63 0x80 0x40 0x00 0x90 0x3C 0x47 0x90 0x3C 0x00 0xFE 0x3E 0x7F 0x3E 0x00 do joué, puis relâché ré joué, puis relâché mi joué, puis relâché do joué, puis relâché octet de donnée, alors qu’on attend une commande ! Son – p.25/49 État courant: “running status” pour économiser l’octet de commande, le dernier octet de commande est mémorisé (à l’exception des messages système temps-réel, qui ne prennent pas de paramètres), si un octet de donnée est trouvé alors qu’un octet de commande était attendu, alors le “running status” est utilisé pour la commande. Dans le cas de l’exemple: running status = 0x90 Son – p.26/49 Un exemple... en hexadécimal: 0x90 0x3C 0x5F 0x80 0x3C 0x00 0x90 0x3E 0x64 0x80 0x3E 0x00 0x90 0x40 0x63 0x80 0x40 0x00 0x90 0x3C 0x47 0x90 0x3C 0x00 0xFE 0x3E 0x7F 0x3E 0x00 do joué, puis relâché ré joué, puis relâché mi joué, puis relâché do joué, puis relâché note on (ré, vélocité 127) Son – p.27/49 Un exemple... en hexadécimal: 0x90 0x3C 0x5F 0x80 0x3C 0x00 0x90 0x3E 0x64 0x80 0x3E 0x00 0x90 0x40 0x63 0x80 0x40 0x00 0x90 0x3C 0x47 0x90 0x3C 0x00 0xFE 0x3E 0x7F 0x3E 0x00 do uploads/s3/ cours-midi.pdf

  • 39
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager