In der fmod-Hilfe befindet sich in der Kapitelübersicht das Kapitel 'Tutorials'. In 12 Kapiteln wird dort alles erklärt, angefangen bei grundlegendsten Konzepten, wie Channels, Sounds, etc. bis hin zu 3D-Sound, Threadsicherheit und dem DSP-Network.
Allerdings: Alles auf Englisch. Daran sollte man sich aber eh gewöhnen. Bei Übersetzungsproblemen
http://dict.leo.org
Ansonsten, hier ein Kurzüberblick:
Das ganze ist ähnlich einem Mischpult: Ein Sound wird nicht direkt an die Soundkarte geschickt, sondern stattdessen einem Kanal zugewiesen. Dabei gibt es beim Laden die Unterscheidung zwischen Stream und Sound. Streams werden wie gesagt gestreamt, sollten daher für große Dateien und Internetstreams genutzt werden. Bei der Wiedergabe finden also häufig Festplatten/Netzwerk-Zugriffe statt. Sounds werden beim Laden in den Speicher entpackt und sollten daher nur für kurze Samples, die nach dem Laden sofort zur Verfügung stehen sollen verwendet werden. Sounds können dann ohne Zeitverzögerung gestartet werden.
Die Kanäle selbst können dann in der Lautstärke verändert werden, etc. Außerdem lassen sich mehrere Kanäle zusammenmischen auf Subkanäle, um deren Mischung dann wiederum gemeinsam zu bearbeiten (Routing).
Abschließend geht in der Signalkette dann die Gesamtmischung zur Soundkarte. Überall im Signalfluss (also auch nur in einem Channel, oder auf der Summe) lassen sich DSPs einsetzen. Dies können vorgefertigte Effekte/PlugIns sein, oder aber eine eigene Callback-Prozedur, die den gegenwärtigen Buffer verändern und weiterreichen kann. Das sind so grob die Grundlagen bei Soundwiedergabe.
Da mittlerweile vor irgendwelchen Soundbefehlen ein System-Objekt initalisiert werden muss, lassen sich insbesondere mehrere Soundkarten gleichzeitig ansprechen, was früher nicht möglich war.
Also etwa so:
System = neue fmod-Instanz (legt Soundkarte, etc. fest)
Stream/Sound = Sounddaten (aus Datei, Netzwerk, Speicher)
Channel = Kanal, auf dem Sounds abgespielt werden. Kann in vielerlei Arten modifiziert werden (Effekte, Routing)