Ich habe mich in den letzten Monaten sehr für den Einstieg in die Audioprogrammierung interessiert (ich habe einen musikalischen Hintergrund). Ich bin seit zwei Jahren ein .NET-Entwickler und habe kürzlich auch ein Ziel c für eine iPhone-App erreicht. Mir ist klar, dass ich wahrscheinlich an meinen C ++ - Chops arbeiten müsste und mit FMOD EX herumgespielt und viel in der Branche geforscht habe.
Ich habe mich nur gefragt, ob jemand gute Ressourcen für die Audioprogrammierung vorschlagen könnte (seien es Websites, Podcasts, Bücher, Videos, Online-Kurse usw.). Alles von Fourier-Analyse, Low-Level-Codierung, Audio-Engine-Erstellung bis hin zu Audio-APIs. Ich möchte nur so viel wie möglich lernen!
Danke im Voraus.
Antworten:
Die meisten Einträge in der Buchreihe Game Programming Gems enthalten einen ganzen Abschnitt, der der Audioprogrammierung gewidmet ist. Eine Übersicht über einige der behandelten Themen finden Sie unter folgendem Link:
http://www.aiwisdom.com/audio_all.html
Die Liste ist nicht vollständig, da die Einträge im 7. und 8. Buch fehlen. Überprüfen Sie sie daher anhand des vollständigen Inhaltsverzeichnisses von Zolomon in den Kommentaren:
http://zolomon.com/gpg/index.html
Das Game Developer Magazine hat auch eine monatliche Kolumne über Audioprogramme:
http://www.gdmag.com/
quelle
Das Audio-Programmierbuch von Richard Boulanger und Victor Lazzarini MIT Press
quelle
Es gibt verschiedene Bereiche für Audio: DSP-Algorithmen vs. Asset Management und intelligente Audiowiedergabe.
Bei DSP geht es um Filter und Fourier-Transformationen sowie um HRTF und all das lustige Zeug.
Gute DSP-Ressourcen:
Rab hat das bereits erwähnt , aber es ist so gut, dass ich es wiederholen muss. Das Audio-Programmierbuch von Richard Boulanger und Victor Lazzarini ist wahrscheinlich der beste Ausgangspunkt. Funktioniert auch als ziemlich gründliche Einführung in C. Der Anfang mag für Sie etwas langsam sein, aber er behandelt einige (gelegentlich veraltete, gelegentlich nicht, aber immer nützliche und interessante) C-Redewendungen sowie einige grundlegende Dinge über Ihren Klang kann nicht vorher bekommen haben.
musicdsp.org : Ein Archiv von Algorithmen, normalerweise in C.
MUSIC-DSP- Mailingliste in Columbia
dspGuru Tutorials
Wer ist Fourier? : Ein wirklich interessantes Buch, das geschrieben wurde, um Ihnen ein grundlegendes Verständnis der Fourier-Transformation zu vermitteln. Geschrieben nur mit der Absicht zu erforschen, wie man jungen Studenten komplexe mathematische Konzepte erklärt. Wenn Sie in Ihrer höheren Mathematik ein wenig schwach sind, hilft Ihnen dies, alles zu verstehen.
Digital Signal Processing Primer von Ken Steiglitz
Lesen Sie das AudioUnit-Programmierhandbuch von Apple, da Sie mit Objective-C gearbeitet haben
Auf der anderen Seite ist "Asset Management" etwas vage und hat hauptsächlich mit dem Umgang mit Containerformaten, Codecs und Streaming zu tun. Wahrnehmungscodecs sind das wahre Fleisch, das hier studiert werden muss. Zum Glück habe ich dort nicht viel zu bieten (anscheinend brauchen Sie einen Doktortitel, um das meiste zu verstehen). Aber es gibt viele Bibliotheken / APIs, um die Arbeit zu erledigen:
Intelligente Audiowiedergabe macht auch Spaß. Dies ist nicht so mathematisch wie DSP, und am Ende beschäftigen Sie sich häufig mit Sprachmanagement und Musik-Cues. Es gibt nicht so viel spezifisches technisches Wissen, es geht mehr um Design und die Erstellung der Tools und Wiedergabesysteme, die dieses Design unterstützen.
Laden Sie Wwise herunter und lesen Sie einfach die Dokumente für die Authoring-Tools und die API. Machen Sie dasselbe für FMOD Designer und FMOD Studio. Auf diese Weise erhalten Sie eine Vorstellung von Tools der oberen Ebene, mit denen Game-Sound-Designer Inhalte implementieren.
Ein weiteres gutes Beispiel ist Fabric . Grundsätzlich ist die Audio-Pipeline von Unity ein bisschen beschissen, und dieses Plugin versucht, es besser zu machen. Sie können eine Testversion kostenlos erhalten.
Stellen Sie sich als Musiker die ideale Oberfläche vor, mit der Sie interaktive Spielemusik und Soundeffekte beschreiben möchten. Genau das möchten diese Tools bieten. Wenn Sie wissen, was es bereits gibt und wie es Sounddesigner und Komponisten unterstützt, können Sie sich eigene Lösungen überlegen, wie Sie die Dinge besser machen können.
Andere Ressourcen:
Peter "pdx" Drescher hat einen großartigen Artikel über die Implementierung der FMOD Designer API auf Android mit JNI geschrieben.
IASIG und iXMF , der noch nicht fertiggestellte Standard für interaktive Musikspezifikationen mit einigen interessanten Ideen.
Spiel-Audio-Relevanz Verschiedene Teile des Spiel-Sound-Designs und der Audioprogrammierung
Das Game Audio Tutorial Ein Buch, das Sounddesignern beibringen soll, Sound in UDK zu implementieren und gleichzeitig die Prinzipien des Game Sound Designs zu vermitteln. Bei vielen geht es darum, UDKs Audio und Kismet zu bekämpfen, aber es ist wieder einmal nützlich, Dinge von der Seite der Nicht-Programmierer zu sehen.
http://www.procedural-audio.com/ <- Selbsterklärender Link
quelle
Sicher, wie Sie APIs erwähnt haben, muss ich openAL erwähnen und FMOD wurde bereits erwähnt.
Hier sind einige Ressourcen für OpenAL:
http://www.edenwaith.com/products/pige/tutorials/openal.php
http://enigma-dev.org/forums/index.php?topic=730.0
Einige FMOD-Ressourcen:
Eine Kurzanleitung zu FMOD
http://www.gamesounddesign.com/forum/viewtopic.php?f=4&t=241 (Ich hatte dies herumliegen und habe die Tutorials nicht zu sehr inspiziert)
http://jerome.jouvie.free.fr/nativefmodex/tutorials/Tutorial03.php
Schnelle Fourier-Transformation:
http://www.fftw.org/
http://www.codeproject.com/Articles/9388/How-to-implement-the-FFT-algorithm
http://www.drdobbs.com/cpp/199500857
Auch einige allgemeine Informationen darüber, wie Audio dargestellt wird:
http://blogs.msdn.com/b/dawate/archive/2009/06/22/intro-to-audio-programming-part-1-how-audio-data-is-represented.aspx
Dies sind so ziemlich alle Links, die ich herumliegen hatte und einige, die ich gegoogelt hatte, aber ich hoffe, sie helfen zumindest ein wenig.
quelle
OpenAL wurde erwähnt - die andere große Bibliothek ist XAudio 2, die Sie für die x360- und PC-Entwicklung verwenden können - obwohl ich glaube, dass OpenAL auch auf x360 unterstützt wird, wird es zweifellos eine Schicht über XAudio 2 sein
quelle