Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
midi [Le 21/02/2017, 05:46]
krodelabestiole [MIDI, General MIDI et fichiers MIDI]
midi [Le 28/01/2020, 21:06] (Version actuelle)
krodelabestiole [SoundFonts]
Ligne 13: Ligne 13:
 Il permet par exemple de faire jouer un son à un synthétiseur ou à un sampleur lorsqu'​on appuie sur une note d'un clavier.\\ ​ Il permet par exemple de faire jouer un son à un synthétiseur ou à un sampleur lorsqu'​on appuie sur une note d'un clavier.\\ ​
 Le MIDI trouve son application aussi bien dans le monde matériel (via des cable spécifiques,​ les cables MIDI), que dans le monde virtuel (via des "​ports"​ ou "​bus"​ logiciels). Le MIDI trouve son application aussi bien dans le monde matériel (via des cable spécifiques,​ les cables MIDI), que dans le monde virtuel (via des "​ports"​ ou "​bus"​ logiciels).
 +
 +Le MIDI transporte des "​consignes"​ ou des "​événements"​ (à la manière des signes d'un chef d'​orchestre ou d'une partition), il ne s'agit pas de signal audio.
  
 <​note>​Chaque connexion MIDI permet de contrôler jusqu'​à 16 machines simultanément. Le protocole prévoit en effet l'​utilisation de 16 canaux.</​note>​ <​note>​Chaque connexion MIDI permet de contrôler jusqu'​à 16 machines simultanément. Le protocole prévoit en effet l'​utilisation de 16 canaux.</​note>​
Ligne 20: Ligne 22:
 On peut enregistrer ces séquences sous forme de **fichiers MIDI** (avec l'​extension .mid). Ces fichiers ne contiennent donc pas de son, mais seulement une série d'​instructions destinées à des machines, ce qui est beaucoup plus léger. On peut enregistrer ces séquences sous forme de **fichiers MIDI** (avec l'​extension .mid). Ces fichiers ne contiennent donc pas de son, mais seulement une série d'​instructions destinées à des machines, ce qui est beaucoup plus léger.
  
-Par extension on a développé la norme **[[https://​fr.wikipedia.org/​wiki/​General_MIDI|General MIDI]]** qui attribut ​à chaque "​programme"​ MIDI un instrument précis (par ex. le piano en 1 et la batterie sur la canal 10). La plupart des fichiers MIDI qu'on peut trouver en ligne respectent cette nomenclature (en version 1 : GM1 ou 2 : GM2).\\ ​+Par extension on a développé la norme **[[https://​fr.wikipedia.org/​wiki/​General_MIDI|General MIDI]]** qui attribue ​à chaque "​programme"​ MIDI un instrument précis (par ex. le piano en 1 et la batterie sur la canal 10). La plupart des fichiers MIDI qu'on peut trouver en ligne respectent cette nomenclature (en version 1 : GM1 ou 2 : GM2).\\ ​
 Cette solution avait surtout son intérêt dans les années 90, quand les espaces de stockage étaient trop limités pour des formats wav ou mp3 : cela permettait de lire n'​importe quel orchestration avec les moyens du bord. En général les cartes son intégraient un synthétiseur qui s'​attelait à la tâche du rendu audio avec plus ou moins de succès (pour les oreilles). Cette solution avait surtout son intérêt dans les années 90, quand les espaces de stockage étaient trop limités pour des formats wav ou mp3 : cela permettait de lire n'​importe quel orchestration avec les moyens du bord. En général les cartes son intégraient un synthétiseur qui s'​attelait à la tâche du rendu audio avec plus ou moins de succès (pour les oreilles).
  
-<note tip>Dans le monde de la [[;​mao|MAO]] le protocole MIDI est encore très utile, mais rien n'​oblige à suivre la norme General MIDI.</​note>​+<note tip>Dans le monde de la [[;​mao|MAO]] le protocole MIDI est encore très utile, mais rien n'​oblige à suivre la norme General MIDI, qui trouve plutôt son intérêt pour les musiques de jeux vidéo des années 90, ou pour certains détournements dans le style de [[http://​www.pardon-my-french.fr|Pardon My French]].</​note>​ 
 +<note tip>Par ailleurs le MIDI tend à être remplacé petit à petit (mais encore tout doucement) par le protocole [[http://​opensoundcontrol.org/​about|OSC]],​ plus adapté à l'​informatique et aux réseaux modernes.</​note>​
  
  
Ligne 30: Ligne 33:
 Sous Linux, c'est le serveur de son qui s'​occupe de router les signaux MIDI entre les applications et les drivers des interfaces.\\ ​ Sous Linux, c'est le serveur de son qui s'​occupe de router les signaux MIDI entre les applications et les drivers des interfaces.\\ ​
 ALSA propose une très bonne solution multimédia,​ et il est disponible de base sur quasi toutes les distributions Linux (et évidemment sur Ubuntu).\\ ​ ALSA propose une très bonne solution multimédia,​ et il est disponible de base sur quasi toutes les distributions Linux (et évidemment sur Ubuntu).\\ ​
-Pour de la [[:MAO]] on utilisera plutôt ​[[:​jackd|Jack]].\\ ​+Pour de la [[:MAO]] on peut aussi utiliser ​[[:​jackd|Jack]], qui permet aussi de router le MIDI.\\ 
 <note tip>Il est possible d'​utiliser ensemble le MIDI ALSA et le MIDI Jack au moyen du bridge **a2jmidid** qui s'​occupera de les relier.</​note>​ <note tip>Il est possible d'​utiliser ensemble le MIDI ALSA et le MIDI Jack au moyen du bridge **a2jmidid** qui s'​occupera de les relier.</​note>​
  
Ligne 41: Ligne 44:
 Pour qu'une machine puisse reproduire assez fidèlement le son de ces instruments,​ il est généralement indiqué d'​utiliser des banques de samples. Ce sont des assemblages de courts enregistrements audio de chaque note d'un instrument de musique.\\ ​ Pour qu'une machine puisse reproduire assez fidèlement le son de ces instruments,​ il est généralement indiqué d'​utiliser des banques de samples. Ce sont des assemblages de courts enregistrements audio de chaque note d'un instrument de musique.\\ ​
 Ces banques de sample se trouvent au format SoundFont dans des fichiers avec des extensions .sbk puis .sf2 (bien plus courant maintenant).\\ ​ Ces banques de sample se trouvent au format SoundFont dans des fichiers avec des extensions .sbk puis .sf2 (bien plus courant maintenant).\\ ​
-Pour utiliser une SoundFont il faut un lecteur de SoundFont (il peut s'agir d'​un ​"sampler", "sample player" ​ou "synthétiseur à table d'​ondes").+Pour utiliser une SoundFont il faut un lecteur de SoundFont (il s'agit d'​un ​//sampler// qu'on peut aussi appeler dans ce cas //sample player// ou //synthétiseur à table d'​ondes//).
  
 Ce lecteur de sample peut être de 3 types : Ce lecteur de sample peut être de 3 types :
Ligne 58: Ligne 61:
 Ces paquets installent les SoundFonts dans le répertoire **/​usr/​share/​sounds/​sf2**. Ces paquets installent les SoundFonts dans le répertoire **/​usr/​share/​sounds/​sf2**.
  
-On trouve aussi plein de SoundFonts en ligne sur des sites variés (attention il ne s'agit pas toujours de General MIDI, la plupart du temps il s'agit seulement d'un instrument spécifique) ​ : +On trouve aussi plein de SoundFonts en ligne sur des sites variés (attention il ne s'agit pas toujours de General MIDI, la plupart du temps il s'agit seulement d'un instrument spécifique) :
-  * [[http://​www.hammersound.net]] (le site de référence dans le domaine)+
   * [[http://​www.personalcopy.com/​linuxfiles.htm]]   * [[http://​www.personalcopy.com/​linuxfiles.htm]]
   * [[http://​sonimusicae.free.fr/​matshelgesson-maestro.html]]   * [[http://​sonimusicae.free.fr/​matshelgesson-maestro.html]]
   * [[https://​trisamples.com/​free-soundfonts/​]]   * [[https://​trisamples.com/​free-soundfonts/​]]
 +  * [[https://​musescore.org/​fr/​handbook/​banques-de-sons-soundfonts#​specialised]]
 +  * [[https://​download.linuxaudio.org/​musical-instrument-libraries/​]]
  
 +Voici une selection d'​excellentes SoundFonts libres de droit :
 +
 +^ Nom ^ Description ^ License ^ Auteur ^ Format / Téléchargement ^
 +| Salamander Grand Piano | piano à queue Yamaha C5 | [[https://​creativecommons.org/​licenses/​by/​3.0/​|CC BY]] | Alexander Holm | [[https://​download.linuxaudio.org/​musical-instrument-libraries/​sfz/​salamander_grand_piano_v3_48khz24bit.tar.7z|SFZ 24bit/48kHz (1,2Go)]] ou [[https://​freepats.zenvoid.org/​Piano/​SalamanderGrandPiano/​SalamanderGrandPianoV3+20161209_44khz16bit.tar.xz|SFZ 16bit/​44.1kHz (394Mo)]] |
 +| Detuned Piano | un piano désaccordé | [[https://​creativecommons.org/​licenses/​by-sa/​3.0/​|CC BY SA]] | | [[https://​download.linuxaudio.org/​musical-instrument-libraries/​sfz/​detuned_piano.tar.7z|SFZ (95Mo)]] |
 +| jRhodes | piano électrique Fender Rhodes | | |[[https://​download.linuxaudio.org/​musical-instrument-libraries/​sf2/​jRhodes3.tar.7z|SFZ (35Mo)]] |
 +| The Open Source Drumkit | batterie | | Real Music Media | [[https://​download.linuxaudio.org/​musical-instrument-libraries/​sfz/​the_open_source_drumkit.tar.7z|SFZ (390Mo)]] ​ |
 +| Salamander Drumkit | batterie | [[https://​creativecommons.org/​licenses/​by-sa/​3.0/​|CC BY SA]] | Alexander Holm |[[https://​download.linuxaudio.org/​musical-instrument-libraries/​sfz/​salamander_drumkit_v1.tar.7z|SFZ (343Mo)]] |
 +| Fluid (R3) | assortiment d'​instruments au format [[:​midi#​midi_general_midi_et_fichiers_midi|General MIDI]] | | | [[apt>​fluid-soundfont-gm]] (119Mo) |
 +| MuseScore General HQ | assortiment d'​instruments au format [[:​midi#​midi_general_midi_et_fichiers_midi|General MIDI]] | | | [[apt>​musescore-general-soundfont-lossless]] (330Mo) |
 +
 +<note tip>Les SoundFonts fonctionnent très bien en particulier avec les orgues et les instruments percussifs (dont le piano fait partie).</​note>​
 <​note>//​Si//​ vous vous retrouvez avec un fichier se terminant par « .sfArk », sachez qu'il s'agit d'une //​soundfont//​ compressée dans un format //​propriétaire//​. Un outil pour linux permettant de décompresser ces fichiers est disponible chez [[http://​melodymachine.com/​sfark.htm|Melody Machine]]. Pour l'​utiliser,​ téléchargez le fichier dans la colonne linux, clique droit "​extraire"​ sur le fichier téléchargé puis dans un terminal lancez: <​note>//​Si//​ vous vous retrouvez avec un fichier se terminant par « .sfArk », sachez qu'il s'agit d'une //​soundfont//​ compressée dans un format //​propriétaire//​. Un outil pour linux permettant de décompresser ces fichiers est disponible chez [[http://​melodymachine.com/​sfark.htm|Melody Machine]]. Pour l'​utiliser,​ téléchargez le fichier dans la colonne linux, clique droit "​extraire"​ sur le fichier téléchargé puis dans un terminal lancez:
  
Ligne 69: Ligne 85:
  
 et vous obtiendrez votre .sf2!</​note>​ et vous obtiendrez votre .sf2!</​note>​
 +<​note>​Pour jouer une SoundFont avec un contrôleur MIDI, vous pouvez suivre [[:​tutoriel:​piano_midi|ce tutoriel]].</​note>​
 +==== Synthèse logicielle ====
  
 +Il existe 3 principaux lecteurs de SoundFont sous Ubuntu : **[[:​Timidity]]**,​ **Fluidsynth** (et ses dérivés) et **[[:​LinuxSampler]]**.
  
-==== Synthèse logicielle ====+Pour simplement lire un fichier MIDI, le plus simple est probablement d'​installer **Fluidsynth** avec une SoundFont General MIDI : 
 +<​code>​sudo apt install fluidsynth fluid-soundfont-gm</​code>​ 
 +Vous pouvez ensuite lire votre fichier MIDI en lançant : 
 +<​code>​fluidsynth -a pulseaudio /​usr/​share/​sounds/​sf2/​FluidR3_GM.sf2 fichier_midi.mid</​code>​ 
 +(Remplacez "​fichier_midi.mid"​ par le nom de votre fichier MIDI.)\\  
 +Dans ce cas on utilise le serveur de son **[[:​pulseaudio]]**,​ utilisé par ubuntu par défaut. On peut aussi utiliser **alsa**, **oss** ou **[[:​jackd|jack]]**.\\  
 +Tapez "​quit"​ pour arrêter la lecture, vous pouvez aussi taper Ctrl + C ou simplement fermer la fenêtre du terminal.
  
-Il existe 3 principaux lecteurs de SoundFont sous Ubuntu ​**[[:Timidity]]**, **Fluidsynth** (et ses dérivés) et **[[:LinuxSampler]]**.\\  +Certains [[:lecteur_audio|lecteurs audio]] comme [[:Audacious]] permettent de lire les fichiers MIDI. Pour cela il faut généralement installer ​et configurer des plugins (voir [[http://​redmine.audacious-media-player.org/​boards/​1/​topics/​1143|ici]] pour Audacious).\\  
-Il peuvent être utilisés avec **[[:jackd|Jack]]** ou **ALSA**. N'​hésitez pas à consultez leurs documentations respectives ​pour les mettre en place et apprendre à les utiliser.+La plupart du temps ces extensions font également appel à **[[:Timidity]]** ou à **Fluidsynth** pour fonctionner. Il faut donc dans tous les cas installer ​les paquets nécessaires au préalable. 
 +==== Convertir un fichier MIDI en fichier audio ==== 
 + 
 +Pour convertir un fichier MIDI en fichier audio, le plus simple est d'​installer **Fluidsynth** avec une SoundFont General MIDI : 
 +<​code>​sudo apt install fluidsynth fluid-soundfont-gm</​code>​ 
 +Vous pouvez ensuite effectuer la conversion en lançant : 
 +<​code>​fluidsynth -F fichier_audio.wav /​usr/​share/​sounds/​sf2/​FluidR3_GM.sf2 fichier_midi.mid</​code>​ 
 +(Remplacez "​fichier_midi.mid"​ par le nom de votre fichier MIDI.)\\  
 +Vous obtiendrez ainsi un fichier audio que vous pourrez écouter facilement avec n'​importe quel lecteur multimédia.
  
  
 ==== Synthétiseur intégré à la carte son ==== ==== Synthétiseur intégré à la carte son ====
 +
 +<​note>​Cette partie de la documentation est ancienne et concerne du matériel obsolete. Elle peut sans doute toujours servir pour certains ordinosaures,​ ou éventuellement quelques amateurs de rétro chiptune lo-fi.</​note>​
  
 Certaines cartes sons contiennent une implémentation matérielle du General MIDI (en particulier les cartes haut de gamme des années 90 et du début des années 2000).\\ ​ Certaines cartes sons contiennent une implémentation matérielle du General MIDI (en particulier les cartes haut de gamme des années 90 et du début des années 2000).\\ ​
Ligne 156: Ligne 191:
 ===== Ressources ===== ===== Ressources =====
  
 +==== Fichiers MIDI ====
  
-==== Liens ==== +  * [[http://​www.mididb.com/​|Mididb]] : base de donnée de fichiers midi (orienté musiques pop) 
- +  * [[http://​www.vgmusic.com/|Video Game Musique Archive]] : fichiers midi de musiques de jeux vidéos 
-  * [[http://​www.think-underground.com/index.php?​post/2005/11/02/110-comment-lire-des-midis-sous-ubuntu-ou-kubuntu|Article sur Think-Underground]] +  * [[http://www.classicalarchives.com/|Classical Archive]] : fichiers midi de musique classique (payant)
- +
- +
- +
- +
-==== Sources ====+
  
-  * Inspiré de la documentation de **(fr)** [[http://​linuxfocus.org/​Francais/​September2002/​article259.shtml|Guido Socher]] et de la page **(fr)** [[wpfr>​SoundFont|SoundFont de Wikipédia]]. 
-  * **(en)** [[https://​wiki.ubuntu.com/​MidiSoftwareSynthesisHowTo]] 
  
 ===== Voir aussi===== ===== Voir aussi=====
Ligne 174: Ligne 203:
 ---- ----
  
-//​Contributeurs : krodelabestiole,​ [[utilisateurs:​Vicks]],​ [[utilisateurs:​jd]],​ [[utilisateurs:​raph|Raphaël Doursenaud]],​ [[utilisateurs:​grobs|Grobs]].//​+//​Contributeurs : [[:​utilisateurs/​krodelabestiole]], [[utilisateurs:​Vicks]],​ [[utilisateurs:​jd]],​ [[utilisateurs:​raph|Raphaël Doursenaud]],​ [[utilisateurs:​grobs|Grobs]].//​
  • midi.1487652393.txt.gz
  • Dernière modification: Le 21/02/2017, 05:46
  • par krodelabestiole