Recursos de programação de áudio [fechados]

8

Nos últimos meses, fiquei muito interessado em entrar na programação de áudio (eu sou de formação musical). Sou desenvolvedor .NET há dois anos e também fiz algum objetivo c para um aplicativo para iPhone recentemente. Percebo que provavelmente precisaria trabalhar nos meus recursos de C ++ e estou brincando com o FMOD EX e fazendo muita pesquisa na indústria.

Fiquei me perguntando se alguém poderia sugerir alguns bons recursos para programação de áudio (sejam sites, podcasts, livros, vídeos, cursos on-line etc.). Qualquer coisa, desde análise de Fourier, codificação de baixo nível, criação de mecanismo de áudio até APIs de áudio. Eu só quero aprender o máximo possível!

Desde já, obrigado.

rashleighp
fonte
openAL ... é simples e eficiente ...
Jorge Leitao
11
Esta pergunta não tem uma resposta correta , votando para fechar. Consulte as Perguntas frequentes para ver que tipos de perguntas fazer.
MichaelHouse

Respostas:

5

A maioria das entradas da série de livros de Game Programming Gems possui uma seção inteira dedicada à programação de áudio. Para uma visão geral de alguns dos tópicos abordados, verifique o seguinte link:

http://www.aiwisdom.com/audio_all.html

A lista não está completa, pois não possui as entradas nos livros 7 e 8, portanto, verifique-a com o índice completo fornecido por Zolomon nos comentários:

http://zolomon.com/gpg/index.html

A Game Developer Magazine também possui uma coluna mensal sobre programação de áudio:

http://www.gdmag.com/

David Gouveia
fonte
Gosto muito da aparência da série de gemas de áudio do jogo, então pedi um par. Obrigado.
Rashleighp
@rashleighp Eu realmente gosto da série de gemas de programação de jogos, não apenas para áudio, mas para todos os diferentes tópicos abordados. Eu tenho todos os volumes e frequentemente escolho um artigo aleatório de todos eles para ler e expandir meu conhecimento. Mas acho que os livros são muito caros, então recomendo fazer o mesmo que fiz e comprá-los usados. Levei dois anos à espera de bons negócios, mas consegui comprar alguns deles a 20% do preço original dos fornecedores de livros usados ​​da Amazon.
David Gouveia
11
@DavidGouveia Eu tenho um índice para toda a série GPG em zolomon.com/gpg/index.html
Zolomon
3

O livro de programação de áudio de Richard Boulanger e Victor Lazzarini MIT press

Rab
fonte
3

Existem algumas áreas diferentes para o áudio: algoritmos DSP x gerenciamento de ativos e reprodução inteligente de áudio.

DSP é sobre filtros e transformadas de Fourier e HRTF e todas essas coisas divertidas.

Bons recursos DSP:

  • Rab já mencionou isso , mas é tão bom que tenho que repeti-lo. O livro de programação de áudio de Richard Boulanger e Victor Lazzarini é provavelmente o melhor lugar para começar. Também funciona como uma introdução bastante completa a C. O começo pode ser um pouco lento para você, mas discute alguns idiomas C (ocasionalmente desatualizados, ocasionalmente não, mas sempre úteis e interessantes) C, além de apresentar algumas coisas fundamentais sobre o som que você pode não ter chegado antes.

  • musicdsp.org : Um arquivo de algoritmos, geralmente em C

  • Lista de discussão MUSIC-DSP na Columbia

  • Tutoriais do dspGuru

  • Quem é Fourier? : Um livro realmente interessante, escrito para fornecer uma compreensão fundamental real da transformação de Fourier. Escrito exclusivamente com a intenção de explorar como explicar conceitos matemáticos complexos para jovens estudantes. Como resultado, se você estiver um pouco fraco em sua matemática de nível superior, isso o ajudará a entender tudo.

  • Primer para processamento de sinal digital de Ken Steiglitz

  • Como você fez o trabalho com o Objective-C, consulte o guia de programação da Apple AudioUnit

Por outro lado, "gerenciamento de ativos" é um pouco vago e tem a ver principalmente com lidar com formatos de contêineres, codecs e streaming. Codecs perceptivos são a verdadeira carne para estudar aqui. Felizmente, não tenho muito a oferecer lá (parece que você precisa de um doutorado para entender a maioria dessas coisas). Mas há muitas bibliotecas / APIs para fazer o trabalho:

A reprodução inteligente de áudio é outra coisa divertida. Isso não é terrivelmente matemático como o DSP, e o que você acaba fazendo muitas vezes é lidar com gerenciamento de voz e sugestões musicais. Não há tanto conhecimento técnico específico, é mais sobre design e criação de ferramentas e sistemas de reprodução para dar suporte a esse design.

... O comentário imortal de Brian Schmidt "Quem ainda acha que existe uma relação 1: 1 entre um som e um arquivo WAV simplesmente não entende."

Faça o download do Wwise e comece a ler os documentos para as ferramentas de criação e a API. Faça o mesmo com o FMOD Designer e o FMOD Studio . Eles dão uma idéia das ferramentas de "camada superior" que os designers de som de jogos usam para implementar o conteúdo.

Outro bom para verificar é Fabric . Basicamente, o pipeline de áudio do Unity é meio ruim, e esse plug-in tenta torná-lo melhor. Você pode obter uma versão de avaliação gratuitamente.

Como músico, imagine a interface ideal com a qual você deseja descrever músicas interativas de jogos e efeitos sonoros, é o que essas ferramentas visam fornecer. Se você está familiarizado com o que já existe e como ele suporta designers e compositores de som, comece a pensar em suas próprias soluções para fazer as coisas melhor.

Outros recursos:

  • Peter "pdx" Drescher escreveu um artigo incrível sobre a implementação da FMOD Designer API no Android com JNI.

  • IASIG e iXMF , o padrão de especificação de música interativa ainda inacabado, com algumas idéias interessantes.

  • Relevância do áudio do jogo Pedaços variados de design de som e programação de áudio

  • O Tutorial de Áudio do Jogo Um livro destinado a ensinar designers de som a implementar som no UDK enquanto ensina os princípios de design de som de jogos. Muito disso é sobre combater o áudio do UDK e o Kismet, mas mais uma vez é útil ver as coisas do lado não programador.

  • http://www.procedural-audio.com/ <- Link auto-explicativo

michael.bartnett
fonte
+ Isso deve ter muitos votos positivos!
David Gouveia
2

Claro, como você mencionou as APIs, vou mencionar o openAL e o FMOD já foi mencionado.

Aqui estão alguns recursos para o OpenAL:

http://www.edenwaith.com/products/pige/tutorials/openal.php
http://enigma-dev.org/forums/index.php?topic=730.0

Alguns recursos FMOD:

Um guia rápido para FMOD

http://www.gamesounddesign.com/forum/viewtopic.php?f=4&t=241 (Eu tinha isso por aí e não inspecionei muito os tutoriais)

http://jerome.jouvie.free.fr/nativefmodex/tutorials/Tutorial03.php

Transformação rápida de Fourier:

http://www.fftw.org/
http://www.codeproject.com/Articles/9388/How-to-implement-the-FFT-algorithm
http://www.drdobbs.com/cpp/199500857

Também algumas informações gerais sobre como o áudio é representado:

http://blogs.msdn.com/b/dawate/archive/2009/06/22/intro-to-audio-programming-part-1-how-audio-data-is-represented.aspx


Estes são praticamente todos os links que eu tinha por aí e alguns que eu pesquisei no Google, mas espero que pelo menos ajudem um pouco.

Aleks
fonte
Tenha cuidado com o OpenAL no iOS, existem truques e bugs. por exemplo, prefira a função de extensão alBufferDataStatic em vez de alBufferData porque o último é um bug. Além disso, toda a implementação da biblioteca é bastante gotejante no iOS.
Jheriko 19/05/12
0

O OpenAL foi mencionado - a outra grande biblioteca é o XAudio 2, que você pode usar para o desenvolvimento do x360 e pc - embora eu acredite que o OpenAL seja suportado no x360, além de ser sem dúvida uma camada sobre o XAudio 2

jheriko
fonte