Ich habe angefangen, diese Antwort zu schreiben, und sie wurde immer länger, also wird dies die ausführliche Antwort sein, also nimm daraus, was du willst. Wie CeeJay jedoch sagte, müssen Sie sich normalerweise keine Sorgen um dieses Zeug machen. Besonders dann, wenn Sie eine API wie FMOD, Wwise oder XACT verwenden können, mit der Ihr Sounddesigner alles selbst anschließen kann, sodass Sie nicht "play this.wav" sagen, sondern "das 'PlayExplosionSound'-Ereignis auslösen" Es fällt Ihnen viel leichter, Sound in Ihr Spiel zu integrieren.
SFXR baut einige grundlegende Klangerzeuger auf und bietet die Parameter, die Sie in der GUI sehen. Sowohl XNA als auch ActionScript 3 haben kürzlich eine Möglichkeit bereitgestellt, Samples direkt an die zugrunde liegende Mischmaschine im laufenden Betrieb weiterzuleiten. XNA konnte bereits statische Beispielpuffer definieren (sieht so aus, als würde XNASfxrSynth dies verwenden), aber jetzt können Sie einen haben DynamicSoundEffectInstance -Ereignis ein Ereignis auslösen , bei dem Sie aufgefordert werden, ihm einen Beispielpuffer zuzuführen . Dies reduziert Ihren Speicherbedarf für kontinuierlich erzeugte Audiosignale erheblich. Sie können auch technisch Ihre eigene Mischmaschine schreiben, indem Sie nur eine einzige Master-Sound-Instanz haben, an die alle Ihre Sample-Puffer zum Mischen gesendet werden.
Ein allgemeines Beispiel für die Erstellung eines Sinusgenerators finden Sie in der Dokumentation von Adobe für das neue sampleDataEvent-Ereignis in der Sound-Klasse. Es geht wirklich nur darum zu wissen, wie digitales Audio funktioniert, und die richtigen Sample-Puffer zu erstellen, um den gewünschten Sound zu erhalten. Schauen Sie sich auch die Website von Andre Michelle an , um mehr über die erweiterte Audioverarbeitung in Flash zu erfahren.
Wie CeeJay sagte, haben Audiodaten normalerweise eine zugehörige Abtastfrequenz (normalerweise 44,1 kHz oder 48 kHz - Battlefield Bad Company verwendet 48, um eine Wiedergabe mit hoher Wiedergabetreue zu erzielen, wenn Sie ein gutes 5.1-System angeschlossen haben). Wenn Sie mit digitalem Audio arbeiten, müssen Sie sich um die sogenannte Nyquist-Frequenz kümmern. Grundsätzlich ist die höchste Frequenz, die Sie in einem Audiosignal darstellen können, die Hälfte Ihrer Abtastfrequenz. Der Grund, warum 44,1 kHz und 48 kHz die häufigsten Abtastfrequenzen sind, liegt darin, dass der Bereich des menschlichen Gehörs ungefähr 0 bis 20 kHz beträgt. Somit leisten 44,1 kHz und 48 kHz einen ziemlich guten Job bei der Rekonstruktion eines High-Fidelity-Sounds auf den meisten Verbrauchersystemen.
Es hat auch eine Bittiefe, die typischerweise 16 für die endgültige Mischung beträgt. Dies bedeutet, dass Sie 16 Bit zur Darstellung der Amplitude jedes Samples haben, -32768 bis 32767. Dies entspricht in etwa einem Lautstärkebereich von 96 dB, mit dem Sie arbeiten können. Die Standardintensitätsgrenze für Ton in einem Kino beträgt 85 dB SPL (das SPL-Bit ist eine Möglichkeit, die Lautstärke zu standardisieren, da das Dezibel-System relativ ist), sodass 16 Bit für eine endgültige Mischung auf den meisten Verbrauchersystemen sehr gut funktionieren.
Oft mischt ein Spiel intern mit 32-Bit-Gleitkommawerten und konvertiert dann in 16-Bit, bevor es auf die Soundkarte übertragen wird. Der Grund dafür ist der gleiche Grund, warum Sie in 24 Bit mit einer Abtastfrequenz von 96 kHz aufnehmen. Wenn Sie anfangen, den Sound zu manipulieren, möchten Sie so viel Headroom wie möglich. Digitale Audioeffekte können manchmal coole neue Hochfrequenzsignale einführen, die dann weiter unten in der Signalkette manipuliert werden und sich auf die endgültige Ausgabe auswirken. Diese werden möglicherweise abgeschnitten, wenn Sie auf 16 Bit (48 / 44,1 KB) mischen, aber Sie haben alle Daten auf dem Weg erhalten. Es ist so, als würde man eine Kopie Ihrer hochauflösenden .PSD-Datei behalten, die jedes Mal neu exportiert wird, wenn Sie ein Kunstobjekt ändern müssen. Nur dass dies alles in Echtzeit in der Audio-Engine geschieht.
Wenn Sie mehr über die untere Ebene Konzepte von Audio-Programmierung lesen wollen, empfehle ich Ihnen Blick auf die Audio - Programmierung Buch von Richard Boulanger & Victor Lazzarini. Ich habe mein Exemplar erst vor ein paar Wochen erhalten, und es macht einen großartigen Job, um Sie in die Konzepte der Audioprogrammierung einzuführen (das einleitende C-Kapitel ist allerdings etwas langweilig, da es wichtige Konzepte enthält, die Sie nicht verpassen dürfen, aber Sie auch Erklärungen der Zeigerarithmetik durchstehen müssen).
Ein weiteres gutes Buch ist Who Is Fourier? . Es setzt wenig mathematischen Hintergrund voraus und behandelt die Grundlagen der Fourier-Transformation und der allgemeinen Wellentheorie im Kontext von Sprachforschern, die versuchen, Sprachmuster zu untersuchen. Das Kiddie-Einführungsbuch in japanischer Sprache fühlt sich mit niedlichen handgezeichneten Zeichen an, aber gleichzeitig geht es im zweiten Kapitel um Riemann-Summen.