Časová doména
Frekvenční doména
Synth formáty








Žánry
Způsoby prezentace
Použití
Monkey Island 2: LeChuck's Revenge (1991)
The Legend of Zelda: Ocarina of Time (1998)
F.E.A.R (2005)
League of Legends (2009)
Mass Effect 3 (2012)
Hellblade: Senua's Sacrifice (2017)

Tiles Hop

Guitar Hero

Dance Dance Revolution

Kategorie assetů
Dynamika
Doom 2
Prince of Persia 2: Shadow and the flame


Funkce
Cross-fade
Přechodový klip
Přechodové body

Monkey Island 2



Variabilita

Ape Out (2019) - reaktivní hudební systém
Typy

Útlum (attenuation)
Pohlcení
Překážky
Panning
HRTF
Ambisonics
Raytracing
Audio Engine
| 1 | OSStatus AudioDriverCoreAudio::output_callback(...) { |
| 2 | AudioDriverCoreAudio *ad = (AudioDriverCoreAudio *)inRefCon; |
| 3 | ... |
| 4 | for (unsigned int i = 0; i < ioData->mNumberBuffers; i++) { |
| 5 | AudioBuffer *abuf = &ioData->mBuffers[i]; |
| 6 | unsigned int frames_left = inNumberFrames; |
| 7 | int16_t *out = (int16_t *)abuf->mData; |
| 8 | |
| 9 | while (frames_left) { |
| 10 | unsigned int frames = MIN(frames_left, ad->buffer_frames); |
| 11 | ad->audio_server_process(frames, ad->samples_in.ptrw()); |
| 12 | |
| 13 | for (unsigned int j = 0; j < frames * ad->channels; j++) { |
| 14 | out[j] = ad->samples_in[j] >> 16; |
| 15 | } |
| 16 | |
| 17 | frames_left -= frames; |
| 18 | out += frames * ad->channels; |
| 19 | }; |
| 20 | }; |
| 21 | ... |
| 22 | return 0; |
| 23 | }; |
Pipeline audio enginu
Příklad uzlů

Já si to koupil jako šavloware... to jsou takový ty hry, co najdeš ve slevovym koši v Penny Marketu!Jakub Olejník