# SoundFont

SoundFonts enthalten Samples und Einstellungen (zum Beispiel relative Lautstärke, Hüllkurve, Filter-Einstellungen) zur Beschreibung von Klängen (englisch Patches) in elektronischen MIDI-Klangerzeugern, die mittels geeigneter Software (Software-Sampler) oder Hardware (Soundkarten) genutzt werden können.
Das SoundFont-Format wurde von der Firma E-mu Systems / Ensoniq entwickelt, um das ältere DLS-Format zu verbessern.
Unter den verschiedenen Arten der Klangsynthese gehört die Erzeugung von Klängen mit SoundFonts zur Wavetable-Synthese (siehe Computermusik).

## Spezifikation

Die aktuelle SoundFont-Spezifikation ist die Version 2.04 (oft auch unkorrekt als 2.4 bezeichnet; das Spezifikationsdokument der Version 2.04 enthält darüber hinaus im Seitenfuß die falsche Versionsangabe 2.01). Seit der Version 2.0 fördert Creative Labs das Format aktiv als offenen Standard, was heißt, dass jeder frei ist, Lösungen zu entwickeln, die das Format unterstützen.
Die Dateistruktur von SoundFont-Dateien ist ein Abkömmling des RIFF-Standards. Eine detaillierte Beschreibung des Aufbaus einer SoundFont-Datei würde allerdings den Rahmen dieses Artikels sprengen, daher sei an dieser Stelle auf die SoundFont-Spezifikation in der Version 2.04 verwiesen.

### Geschichte

| Anfang der 1990er | Der SoundFont-Standard in der Version 1.0 wird veröffentlicht. Bei der Entwicklung des Formats wurde auf Plattformunabhängigkeit, Erweiterbarkeit und Kompatibilität Wert gelegt. |
| 1994 | Die Creative Labs Sound Blaster AWE 32 mit E-MU8000 Chip kommt auf den Markt. Damit steht erstmals ein günstiger digitaler Sampler in PC-Technik zur Verfügung, der mit SoundFonts umgehen kann. Vienna SoundFont Studio wird im selben Jahr verfügbar. Damit ist es jedermann möglich, eigene SoundFonts zu erstellen. |
| 1996 | Das aufgrund der gesammelten Erfahrungen grunderneuerte SoundFont-Format 2.0 erscheint. Es unterstützt zahlreiche Neuerungen, die auch auf Anregungen von Nutzern des Vorgängers zurückgehen, und wird erstmals aktiv beworben. |
| 1997 | Creative Labs bringt einen Software-Wavetable-Synthesizer für die Sound Blaster AWE 64 Gold und die Sound Blaster 16 Wav Effects Soundkarten heraus. Damit steht eine Alternative zu den Hardware-Wavetable-Synthesizern zur Verfügung. |
| 1998 | Das SoundFont-Format wird erweitert und erscheint in Version 2.01 – zunächst erscheint die neue Version mit den E-MU APS Soundkarten. |
| 2000 | Das SoundFont-Format wird jetzt von den meisten Software-Sequenzern und Audio-Anwendungen unterstützt. |
| 2001 | Die Sound Blaster für Macintosh erscheint, und bietet von Anfang an Unterstützung für SoundFont 2.01. |
| 2002 | Die Sound Blaster Audigy Serie erscheint und das SoundFont-Format 2.01 erreicht damit die Mehrzahl der Endanwender. |
| 2006 | Mit der Sound Blaster X-Fi Serie erscheint das SoundFont-Format 2.04 mit einer weiteren Neuerung. Insbesondere besteht nun die Möglichkeit, SoundFonts mit 24-Bit Samples zu erstellen. |

## MuseScore's Soundfont Version 3 (.SF3)

Der Hersteller des gleichnamigen Notensatzprogramms MuseScore hat eine neue, "inoffizielle" Version des Soundfont Formates mit der Endung .sf3 veröffentlicht. Der Aufbau des sf3 Formates ist gleich dem sf2 Format, außer das die Samples im sf3 Format komprimiert als .ogg Daten gespeichert werden.

## Hardware für SoundFonts

SoundFont-Synthesizer in Hardware zeichnen sich dadurch aus, dass sie zum einen praktisch keine Prozessorlast verursachen und zum anderen eine Ausgabe von hoher Qualität liefern. Zudem ermöglichen die unten genannten Soundkartenmodelle zusätzlich Effekte mit ihren digitalen Signalprozessoren, wie zum Beispiel Reverb, Chorus, Flanger, Pitch-Shifter, Equalizer, und weitere.
Es gibt eine Reihe von Soundkarten der Firma Creative Labs, die einen SoundFont-Synthesizer in Hardware mitbringen. Dazu gehören vor allem die Sound Blaster-Karten:
* Sound Blaster AWE 32/64
* Sound Blaster PCI512
* Sound Blaster Live! Serie
* Sound Blaster Audigy Serie
* Sound Blaster X-Fi Serie

### Grenzen des nutzbaren Speichers bei Sound-Blaster-Karten

Es gibt Sampler, die Instrumente in Echtzeit von der Festplatte lesen können. Das spart Arbeitsspeicher, erfordert aber eine ausgefeilte Vorpufferstrategie, damit es während des Abspielens nicht zu Aussetzern durch das Nachladen von Samples kommt. Dadurch, dass die Sound-Blaster-Treiber anders vorgehen und versuchen, den gesamten SoundFont in den Arbeitsspeicher zu laden, ist klar, dass die Größe des zu ladenden SoundFonts nicht den freien Arbeitsspeicher im Rechner überschreiten darf.
Bei der in der Vergangenheit (2009) üblichen Größen des Arbeitsspeichers (512 Megabyte bis 2 Gigabyte) passierte es dennoch bisweilen, dass ein SoundFont nicht geladen werden konnte, obwohl der SoundFont deutlich kleiner als der freie Arbeitsspeicher war. Das lag daran, dass Creative Labs' Treiber zum Laden des SoundFonts eine Technik namens Memory Mapping verwendeten, die unter Windows je nach Betriebssystemversion bestimmten Einschränkungen unterlag. Selbst mit einem Trick konnten daher mit Creative Labs' Treibern unter Windows nicht mehr als ungefähr 340 Megabyte für SoundFonts benutzt werden. Das war bei großen General MIDI SoundFonts (wie beispielsweise Crisis GM 3.01) trotzdem zu wenig und erforderte dann den Einsatz eines Software-Synthesizers, der derartige Einschränkungen nicht kannte.
Der erwähnte Trick, um die Obergrenze des nutzbaren Speichers möglichst weit nach oben zu verschieben, bestand darin, in der Windows-Registrierungsdatenbank einen Schlüssel zu erstellen (oder zu ändern, falls der Schlüssel schon vorhanden ist). Das wird in der Knowledge Base von Creative Labs in der Lösung #5184 im Abschnitt How to load and configure SoundFont Banks in SoundFont Bank Manager im Einzelnen beschrieben (siehe Abschnitt Weblinks). Danach stand zwar immer noch nicht der gesamte freie Arbeitsspeicher für SoundFonts zur Verfügung, aber immerhin konnten so unter Windows XP SoundFonts bis etwa 280 Megabyte benutzt werden. Mit Windows Server 2003 konnten ungefähr 340 Megabyte für SoundFonts benutzt werden, die Höchstgrenze unter den 32-Bit-Windows-Betriebssystemen.
Unter den 64-Bit-Varianten von Windows ist es allerdings kein Problem, auch größere SoundFonts bis 4 Gigabyte mit dem Creative Soundfont Manager in den Speicher zu laden.

## Software für SoundFonts

Ist keine Soundkarte von Creative Labs vorhanden, oder soll die erwähnte Einschränkung bei der Speichernutzung umgangen werden, so bietet sich ein Software-Synthesizer an. Mit einem schnellen Rechner sind dann auch Echtzeitfähigkeit (also zum Beispiel Live-Bedingungen) und Ausgabequalität kein Problem. Darüber hinaus bieten ausgewachsene Software-Synthesizer in der Regel mehr Möglichkeiten bei der Klangerzeugung und verstehen auch eine Reihe weiterer Formate abseits von SoundFonts.
Es gibt zwei Möglichkeiten, einen Software-Synthesizer im Zusammenhang mit SoundFonts zu nutzen:
* als Software-Instrument in Verbindung mit einem Sequenzer, oder einem anderen MIDI-Gerät, wie zum Beispiel einem Keyboard
* als Programm, das aus MIDI-Dateien und SoundFonts Audiodateien erstellt, die dann mit einem Audioeditor weiterbearbeitet werden können

### Kommerzielle Synthesizer

Es gibt eine ganze Reihe von ausgewachsenen Software-Synthesizern oder -Samplern. Manche der folgenden Programme lesen SoundFonts direkt, anderen stehen Hilfsprogramme zum Importieren von SoundFonts zur Seite.
* Ableton Sampler
* Audio Compositor (offiziell nicht mehr verfügbar)
* Avanquest Music Producer
* bismark bs-1/bs-16
* Imageline DirectWave
* E-mu Proteus X/X2
* E-mu Emulator X/X2/X3
* Emagic EXS24
* GigaSampler/GigaStudio
* Steinberg HALion
* MIDISyn
* Native Instruments Kontakt
* Native Instruments Battery
* Fruity Soundfont Player (basiert auf LiveUpdate LiveSynth Pro und ist für FruityLoops Studio erhältlich. Seit FL Studio 20.9 basiert es nun auf der Sobanth Engine und der Fruity-Namensprefix fiel nun weg)
* Orion Sampler
* Propellerhead Reason NN-XT
* rgc:audio sfz+ (VST-Instrument, benötigt ASIO-Treiber)
* Seer Systems Reality
* Seer Systems SurReal
* Solo Orchester
* MAZ Sound Tools VSampler

### Freie/kostenlose Synthesizer

Neben den kommerziellen gibt es einige freie, kostenlose SoundFont-Synthesizer, die einfachen bis gehobenen Ansprüchen genügen.
* SynthFont (vom gleichen Anbieter gibt es auch ein VSTi und ein Winamp-Plugin, welche SoundFonts verarbeiten)
* BassMidi Driver und CoolSoft VirtualMIDISynth sind kostenlose Windows MIDI Treiber (XP/Vista/7/8, 32/64 bit) für den SoundFont Software Synthesizer in der BASS Audio Library (Windows/Linux/OSX).
* TX16Wx
* rgc:audio sfz Free (VST-Instrument, benötigt ASIO-Treiber)
* Cakewalk sfz+ Professional (mittlerweile kostenlos, benötigt Registrierung)
* Crystal Soft Synth
* TiMidity++ oder TWSYNTH
* MIDIG
* SimpleSynth
* liefactory karlinger (ein 16-Schritt-Sequenzer)
* CsoundAV (von Gabriel Maldonado)
* LinuxSampler
* ShortCircuit (von Vember Audio, wird nicht weiter entwickelt)
* Open ModPlug Tracker
* Phenome VSTi (von Prodyon Virtual Gear)
* Jeskola XS-1 (Buzz-Machine und VSTi)

### Hilfsprogramme

Es gibt eine große Anzahl von Hilfsprogrammen, die den verschiedensten Zwecken rund um das SoundFont-Format dienen. Die wichtigsten Hilfsprogramme werden im Folgenden kurz angeschnitten.
Das Standardprogramm zum Erstellen von SoundFonts ist Creative Labs' Vienna SoundFont Studio, das in der neuesten Version 2.4 auch 24-Bit Samples unterstützt. Allerdings setzt es wie auch sein Vorgänger 2.3 eine Soundkarte von Creative Labs voraus. Für Besitzer anderer Soundkarten kommt stattdessen Viena, eine Dreingabe zu SynthFont, infrage, da es keine besonderen Ansprüche an die verwendete Soundkarte stellt. SoundFaction Alive ist ein weiterer SoundFont-Editor, der ebenfalls nicht an bestimmte Soundkarten gebunden ist, der im Unterschied zu den beiden erstgenannten Programmen aber nicht kostenlos zu bekommen ist. Schließlich gibt es noch Esbeekay, ein Programm, das unter anderem auch mit SoundFonts umgehen kann, allerdings nur mit SoundFonts der Version 1.x (.sbk-Dateien), die inzwischen so gut wie gar nicht mehr verwendet werden. Abseits von Microsoft Windows gibt es Swami für Linux und Polyphontics von Sonic Amigos für Mac OS X.
Zur Weitergabe oder Lagerung von SoundFonts werden diese in der Regel komprimiert, um Platz zu sparen. Dafür kann jedes Archivierungsprogramm verwendet werden. Es gibt allerdings Programme, die auf die Kompression von SoundFonts spezialisiert sind, und deswegen besonders gute Kompressionsraten erzielen. Die beiden gebräuchlichsten Programme sind SFPack von Megota Software und sfArk von MelodyMachine. Daneben gibt es auch RatHole von EdgeSounds und SFzip von Future Algorithms, die allerdings nicht sonderlich verbreitet sind. Es gibt Fassungen von sfArk für Linux und Mac OS X, die allerdings nur Dekompression erlauben (sfArkXTc und sfArkXT). Von RatHole gibt es neben der Fassung für Microsoft Windows auch eine Fassung für Mac OS X.
Zuletzt sind noch einzelne Programme erwähnenswert, die verschiedene Anwendungsgebiete abdecken. MegaFont ist eine dynamische SoundFont-Cache-Verwaltung, mit deren Hilfe die Begrenzung bei der Speicherplatzbelegung umgangen werden kann. Winamp 2.81 ist ebenfalls eine besondere Version im Hinblick auf SoundFonts, weil bei dieser Version von Winamp die letzte Fassung des MIDI-PlugIns beigelegt ist, die SoundFonts zum Abspielen von MIDI-Dateien verwenden kann. Zuletzt seien noch ModPlug Tracker (und dessen Open-Source-Fassung OpenMPT), BeRoTracker und BushTracker genannt, die ebenfalls SoundFonts lesen können.