# SoundFont

SoundFont ou AWE SoundFont est un format de fichier de fonte sonore mise au point par la société E-mu pour Creative Labs, permettant de stocker dans un fichier au format .sbk (pour SoundFont Bank) puis .sf2 (pour SoundFont Bank Version 2) ou .sfark (fichier d'archive obsolète de Melody Machine, remplacé par sf2), des échantillons sonores, au format WAV ou FLAC (compression sans perte), puis de les organiser sous forme d' « instruments » pilotables en MIDI, le tout étant géré au sein même de l' ordinateur.
Le format .sf3 pour la version 3, utilise des échantillons sonores compressés au format Ogg Vorbis.
Le format .sfz, qui existe en 2 versions, ont des spécifications ouvertes sur le site SfzFormat.
Le format SoundFont requiert un matériel ou un environnement logiciel compatible avec ce format. Creative Labs le considère comme étant public et favorise son adoption en tant que standard ouvert, en proposant de la documentation et des outils aux développeurs et musiciens souhaitant s'investir dans l'utilisation de ce format.

## Principe des SoundFonts, de la table d'ondes

Certaines cartes son sophistiquées et onéreuses utilisent des « tables d'ondes » (wavetables en anglais) pour la lecture des fichiers MIDI (lesquels ne contiennent aucun son, mais uniquement des instructions de lecture de chaque note ou sonorité). Contrairement à une synthèse classique (additive, soustractive...), ce type de synthèse utilise des formes d'ondes numérisées codées en qualité CD et le plus souvent issus d'instruments réels. La banque contient, en plus des sons, des informations sur le comportement du son en fonction de la durée (lecture en boucle, effets de vibrato, diminution progressive du volume…).
Les banques peuvent se conformer au standard General MIDI ou aller plus loin et offrir plus de liberté en incluant toutes sortes de sons (par exemple du chant, des boucles de batterie, etc.).
Différents formats existent :
* le format SoundFont de Creative Labs (créateur de la carte son Sound Blaster) et E-mu. On peut créer ses propres SoundFonts à l'aide de logiciels dédiés ;
* le format DLS-1 (DownLoadable Sounds) de MMA (MIDI Manufacturers Association) ;
* le comité MPEG s'est basé sur ces deux formats pour définir le format DLS-2 (DownLoadable Sounds Level 2, à l'origine MPEG-4 SASBF, pour Structured Audio Sample Bank Format) conjointement avec l'Université du Massachusetts (MIT) et Microsoft. Microsoft a créé Direct Music Producer pour éditer et créer des fichiers DLS ;
* enfin, certains logiciels utilisent un format propriétaire : Yamaha SoftSynthesizer, WinGroove…

## Matériel compatible avec le format SoundFont

Le format SoundFont étant une propriété de Creative Labs, la plupart des solutions matérielles compatibles SoundFont sont issues de la gamme de cartes sons SoundBlaster de la marque. Voici une liste non exhaustive des périphériques ou séries de périphériques matériels désignés comme étant compatibles avec le format SoundFont 1.x ou 2.x :
* Sound Blaster AWE32 ;
* Sound Blaster AWE64 ;
* Sound Blaster PCI512 ;
* Sound Blaster Live! ;
* E-mu Audio Production Studio (APS) ;
* Creative ProdiKeys DM MIDI Keyboard (Clavier hybride pilotant un arrangeur virtuel) ;
* Sound Blaster Audigy ;
* Sound Blaster Audigy SE (pas les versions USB et PCMCIA pour ordinateurs portables) ;
* Sound Blaster X-Fi.

## Logiciels permettant de lire des fichiers MIDI avec des SoundFonts

Il existe des logiciels permettant de lire des fichiers MIDI avec des banques de sons SoundFont ou autres. Ceux-ci utilisent la puissance de calcul du processeur de l'ordinateur, peu importe si le périphérique audio supporte ou non le format SoundFont.
QuickTime peut exécuter des fichiers MIDI en utilisant des fichiers SoundFont (.sf2) ou DLS. Il est alors nécessaire de déplacer ou recopier les fichiers SoundFont (extension .sf2 ou .dls) sous C:\Windows\system32\Quicktime (pour Windows, sous ~/Library/Audio/Sounds/Banks pour Mac OS X). Dans le menu Edition / Préférences / Préférence de Quicktime / Musique, il suffit de choisir le fichier SoundFont à utiliser en cliquant sur un des boutons ronds à gauche du nom. Les changements ne sont pris en compte qu'au prochain démarrage de QuickTime.
Dans le monde du logiciel libre, il existe un lecteur très populaire permettant de jouer des fichiers MIDI à partir de fichiers SoundFont, DLS ou même de patches issus de la carte son Gravis Ultrasound. Lors de sa création par Tuukka Toivonen, ce lecteur open-source se nommait TiMidity, pour devenir ensuite TiMidity++ lorsque le projet a été repris par une équipe de développeurs bénévoles. Le lecteur est disponible sur plusieurs plates-formes, dont Linux et Windows. On peut également citer le logiciel FluidSynth (qui fonctionne sous Mac OS X, FreeBSD, Linux et Windows).
Il existe également d'autres alternatives permettant de lire des fichiers MIDI à l'aide de SoundFonts sans disposer d'une carte son compatible SoundFont, comme « SynthFont » ou encore rgc:audio sfz, qui est un plugin VSTi plutôt destiné à la création musicale.
En freeware, le logiciel VirtualMIDISynth (utilisant la bibliothèque BASSmidi) est un « synthétiseur » utilisant des SoundFonts, implémenté en tant que pilote multimédia Windows et accessible en tant que port MIDI Out standard.
Les cartes son supportant les SoundFonts de manière physique (matérielle) ont une latence très faible. Elles permettent de jouer avec un clavier maître MIDI, sans nécessiter de pilotes ASIO. Tous les logiciels émulant les SoundFonts ont une latence plus importante, y compris ceux de dernière génération (type E-mu Emulator X). Cette latence génère un décalage (retard) perceptible qui peut être gênant dans le jeu.
En shareware, l'éditeur de partitions Harmony Assistant permet d'importer des fichiers .sf2 dans son échantillonneur. Cela se fait instrument par instrument pour compléter ou remplacer les échantillons de la banque de sons fournie dans le logiciel. Il n'y a alors aucune latence lors du jeu de la musique, et une carte son compatible n'est pas requise.

## Logiciels de création de SoundFonts (au format .sf2)

Plusieurs logiciels d'édition sont disponibles :
* LinuxSampler, éditeur libre, gérant également le format GigaFont (.gig)
* Polyphone, éditeur libre pour Windows, Mac OS et Linux créé début 2013. Gérant l'import SF2, SFZ, SFArk, et SF3, ainsi que l'export SF2, SFZ et SF3.
* Swami, éditeur libre utilisé sur Linux principalement,
* Vienna de Creative Labs, nécessitant une carte son particulière (Sound Blaster, etc.),
* Viena (avec un seul « n »), créé en 2002 par l'Autrichien Kenneth Rundt,

## Logiciels de compression / décompression de SoundFonts (au format .sf2)

Les fichiers SoundFont contenant des sons non compressés au format WAV, leur taille varie énormément en fonction de ces sons, stockés au sein même du fichier.
Si la plupart des SoundFonts ne contenant que quelques instruments ne sont pas très gourmandes en mémoire, d'autres sont beaucoup plus volumineuses, surtout lorsqu'il s'agit de banques complètes d'instruments organisés selon la norme General MIDI, comportant pour la plupart 128 instruments, sans compter les kits de batterie. De telles banques peuvent faire très facilement 8 Mo, la plupart atteignent ou dépassent les 32 Mo, certaines peuvent même aller jusqu'à 128 voire 256 Mo, et même au-delà (voir ci-dessous).

## Formats non-standards

Afin de réduire le poids des fichiers SoundFont en vue d'en faciliter la distribution sur Internet, différents formats ont été créés avant l'apparition du format sf2. Les sociétés ayant défini ces formats n'étant pas toujours pérennes et les spécifications n'étant pas toujours ouvertes, il est aujourd'hui difficile de les décompresser. Le format sfArk créé par Melody Machine peut encore être converti en format sf2 grâce au logiciel libre sfarkxtc et sa bibliothèque spécialisée sfarklib. La société ayant créé le format sfPack n'existe plus, mais on peut encore trouver l'archive du logiciel pour Windows sur internet. Enfin sfzip est une archive zip comportant le fichier de description et les sons.

## Quelques banques de sons populaires au format SoundFont
### SoundFonts gratuites et sous licences libres

* Le logiciel FluidSynth propose la SoundFont Fluid, 141 Mo pour la version 3, une SoundFont General MIDI (GM) complète, de taille moyenne, elle est disponible sur les différentes distributions Linux.
* (en) Crisis GeneralMidi, 1,5 Go pour la version 3.0. Une version plus légère de 236 Mo, la 1.8, est très répandue.
* (en) Titanic SoundFont, une autre grosse SoundFont GM de 275 Mo, bien documentée. Comme Crisis, elle s'adresse en priorité aux musiciens.
* MuseScore propose une SoundFont complète compatible General MIDI de bonne qualité, sous licence libre, et fournit des liens vers d'autres fontes disponible sous licence libre.
* FreePats a créé une Soundfont relativement générale comportant un certain nombre d'instruments et des fontes spécialisées de plus grosses tailles, le tout avec des variations dynamiques. Le site donne également des liens vers d'autres ressources.

### Autres

* (en) Analoguesque Sound Designs, éditeur de la Vintage Dreams Waves, une banque de sons gratuite très légère (moins de 400 ko) mais qui propose pas moins de 128 instruments et 8 kits de percussions, de type synthétique FM. Propose également des SoundFonts payantes.