Я был очень заинтересован в последние несколько месяцев о том, чтобы начать заниматься звуковым программированием (я из музыкального прошлого). Я был разработчиком .NET в течение двух лет, а также недавно выполнил некоторую задачу для приложения для iPhone. Я понимаю, что мне, вероятно, нужно будет поработать над своими тестами на C ++, и я немного поиграю с FMOD EX и проведу много исследований в этой отрасли.
Мне было просто интересно, если кто-нибудь может предложить хорошие ресурсы для аудио программирования (будь то веб-сайты, подкасты, книги, видео, онлайн-курсы и т. Д.). Все от анализа Фурье, низкоуровневого кодирования, создания аудио движка до аудио API. Я просто хочу узнать как можно больше!
Заранее спасибо.
Ответы:
Большинство записей в серии книг Game Programming Gems имеют целый раздел, посвященный звуковому программированию. Для обзора некоторых из затронутых тем, проверьте следующую ссылку:
http://www.aiwisdom.com/audio_all.html
Список не является полным, поскольку в нем отсутствуют записи в 7-й и 8-й книгах, поэтому сверяйте его с полным оглавлением, предоставленным Zolomon в комментариях:
http://zolomon.com/gpg/index.html
Журнал Game Developer Magazine также имеет ежемесячную колонку о звуковом программировании:
http://www.gdmag.com/
источник
Книга аудио программирования Ричарда Буланжера и Виктора Лаццарини MIT press
источник
Есть несколько различных областей для аудио: алгоритмы DSP против управления активами и интеллектуального воспроизведения аудио.
DSP - это фильтры и преобразования Фурье, HRTF и все такое забавное.
Хорошие ресурсы DSP:
Раб уже упоминал об этом , но это так хорошо, что я должен это повторить. Книга аудио программирования Ричарда Буланжера и Виктора Лаццарини, пожалуй, лучшее место для начала. Также функционирует как довольно подробное введение в C. Начало может быть немного медленным для вас, но в нем обсуждаются некоторые (иногда устаревшие, иногда нет, но всегда полезные и интересные) идиомы C, а также вводятся некоторые фундаментальные вещи о звучании, которые вы возможно, не получил раньше.
musicdsp.org : архив алгоритмов, обычно на C
Список рассылки MUSIC-DSP в Колумбии
Учебники по dspGuru
Кто такой Фурье? : Действительно интересная книга, написанная, чтобы дать вам реальное фундаментальное понимание преобразования Фурье. Написано исключительно с целью изучения того, как объяснить сложные математические понятия молодым студентам. В результате, если вы немного слабы в математике более высокого уровня, это поможет вам справиться со всем.
Учебник по цифровой обработке сигналов от Ken Steiglitz
Поскольку вы выполнили работу с Objective-C, ознакомьтесь с руководством по программированию AudioUnit от Apple.
С другой стороны, «управление активами» немного расплывчато и в основном связано с работой с форматами контейнеров, кодеками и потоковой передачей. Перцептивные кодеки - настоящее мясо для изучения здесь. К счастью, мне там нечего предложить (кажется, вам нужен доктор философии, чтобы понять большинство из этих вещей). Но есть много библиотек / API для выполнения работы:
Интеллектуальное воспроизведение звука - еще одна забавная штука. Это не так уж плохо, как DSP, и то, что вы в конечном итоге делаете в большинстве случаев, касается управления голосом и музыкальных сигналов. Там не так много специальных технических знаний, это больше о дизайне и создании инструментов и систем воспроизведения для поддержки этого дизайна.
Загрузите Wwise и просто начните читать их документы для инструментов разработки и API. Сделайте то же самое для FMOD Designer и FMOD Studio. Они дают вам представление об инструментах «верхнего уровня», которые дизайнеры игровых звуков используют для реализации контента.
Еще одна хорошая вещь, чтобы проверить это Ткань . По сути, аудио-конвейер Unity отстой, и этот плагин пытается сделать его лучше. Вы можете получить ознакомительную версию бесплатно.
Как музыкант, представьте себе идеальный интерфейс, с помощью которого вы хотите описать интерактивную игровую музыку и звуковые эффекты, вот что эти инструменты стремятся предоставить. Если вы знакомы с тем, что уже существует, и как оно поддерживает звукорежиссеров и композиторов, тогда вы можете начать думать о своих собственных решениях о том, как сделать что-то лучше.
Другие источники:
Питер «pdx» Дрешер написал замечательную статью о реализации API FMOD Designer на Android с помощью JNI.
IASIG и iXMF , пока еще не законченный стандарт спецификации интерактивной музыки с некоторыми интересными идеями.
Релевантность игрового звука Ассорти бит игрового звукового дизайна и аудио программирования
Учебное пособие по звуковому сопровождению игры Книга, предназначенная для обучения звукорежиссеров внедрению звука в UDK при обучении принципам звукового дизайна игры. Во многом это касается борьбы с аудио UDK и Kismet, но еще раз полезно посмотреть на вещи со стороны непрограммиста.
http://www.procedural-audio.com/ <- не требующая пояснений ссылка
источник
Конечно, как вы упомянули API, я должен упомянуть openAL, а FMOD уже упоминался.
Вот некоторые ресурсы для OpenAL:
http://www.edenwaith.com/products/pige/tutorials/openal.php
http://enigma-dev.org/forums/index.php?topic=730.0
Некоторые ресурсы FMOD:
Краткое руководство по FMOD
http://www.gamesounddesign.com/forum/viewtopic.php?f=4&t=241 (я лежал без дела и не слишком много проверял учебники)
http://jerome.jouvie.free.fr/nativefmodex/tutorials/Tutorial03.php
Быстрое преобразование Фурье:
http://www.fftw.org/
http://www.codeproject.com/Articles/9388/How-to-implement-the-FFT-algorithm
http://www.drdobbs.com/cpp/199500857
Также немного общей информации о том, как аудио представлено:
http://blogs.msdn.com/b/dawate/archive/2009/06/22/intro-to-audio-programming-part-1-how-audio-data-is-represented.aspx
Это почти все ссылки, которые я пролежал, и некоторые из них, которые я гуглил, но я надеюсь, что они хотя бы немного помогут.
источник
Был упомянут OpenAL - другая большая библиотека - XAudio 2, которую вы можете использовать для разработки на x360 и ПК - хотя я считаю, что OpenAL поддерживается и на x360, это, несомненно, будет слой поверх XAudio 2
источник