LabHub

블로그

게임 오디오 미들웨어 2026 — Wwise (Sony 인수) / FMOD / Steam Audio (오픈소스) / Resonance / Tempest 3D / MetaSounds 심층 가이드

한국어English日本語

들어가며 — 왜 게임 오디오가 갑자기 시끄러워졌나

2024년 5월, Sony Interactive Entertainment가 Wwise를 만든 Audiokinetic을 전격 인수했습니다. 한 달 뒤인 2024년 6월, Valve는 Steam Audio를 Apache 2.0 라이선스로 완전 오픈소스화했습니다. 같은 해, Epic은 SoundCue를 사실상 deprecate하고 MetaSounds를 Unreal 5.x의 기본 사운드 시스템으로 끌어올렸습니다. AMD TrueAudio Next는 RDNA 4에서 부활했고, Sony는 PS5 Pro에서 Tempest 3D AudioTech를 두 배로 강화했습니다. 2026년 현재, 게임 오디오 미들웨어 지형도는 지난 10년을 통틀어 가장 크게 흔들리고 있습니다.

이 글은 게임 오디오 미들웨어, 엔진 내장 오디오 시스템, 공간 오디오 표준, 그리고 DSP 플러그인 생태계까지 한 권으로 묶어 정리합니다. 인디 개발자가 FMOD로 출발할지 Wwise로 출발할지, AAA 스튜디오가 Steam Audio를 직접 임베드할지 Dolby Atmos for Games를 켤지, 모바일 게임이 Resonance Audio를 어떻게 활용할지에 대한 의사결정 가이드를 함께 제공합니다.


1. 2026년 게임 오디오 미들웨어 지도 — 세 진영

게임 오디오 스택은 크게 세 진영으로 나뉩니다. 미들웨어, 엔진 내장, 공간 오디오 런타임.

진영대표 제품라이선스주 사용처
미들웨어 (외부 도구)Wwise, FMOD Studio, Criware ADX상용 (인디 무료 티어)AAA, 모바일, 콘솔
엔진 내장Unity Audio Mixer, Unreal MetaSounds엔진 라이선스 포함인디, 중소 스튜디오
공간 오디오 런타임Steam Audio, Resonance Audio, OpenAL Soft, Sony Tempest 3D, AMD TrueAudioOSS / 플랫폼 SDKVR, PS5, 시뮬레이션

이 세 진영은 배타적이지 않습니다. 예를 들어 The Last of Us Part 2는 Wwise를 미들웨어로 쓰면서 PS5에서는 Tempest 3D를, PC 포트에서는 Steam Audio를 함께 호출합니다. Helldivers 2도 Wwise + Steam Audio 조합으로 출시됐습니다.

핵심 트렌드 5가지

  1. 오픈소스 공간 오디오의 부상 — 2024년 Valve가 Steam Audio를 Apache 2.0으로 풀고, Resonance Audio가 Apache 2.0 OSS로 전환되면서, 인디도 AAA급 공간 오디오를 쓸 수 있게 됐습니다.
  2. Sony의 수직 통합 — Audiokinetic 인수 + Tempest 3D + PSVR2 = Sony 1st party 스튜디오의 오디오 파이프라인이 한 회사로 묶였습니다.
  3. MetaSounds 시대 — Unreal 5.x에서 SoundCue 기반 워크플로가 deprecate되고 그래프 기반 DSP 노드 시스템이 표준이 됐습니다.
  4. Atmos for Games의 가정 보급 — Xbox Series X/S, PS5 Pro, PC가 모두 Dolby Atmos 출력을 지원합니다.
  5. 레이 트레이싱 오디오 — Steam Audio + Embree, NVIDIA VRWorks Audio, AMD TrueAudio Next가 모두 GPU 가속 ray-traced reverb를 지원합니다.
2026년 게임 오디오 스택 모식도

  [ DAW / 사운드 디자인 ]
        Reaper, Pro Tools, Logic Pro, Ableton
        ↓ wav, ogg, opus
  [ 미들웨어 / 엔진 ]
        Wwise · FMOD · MetaSounds · Unity Audio Mixer
        ↓ event, parameter, snapshot
  [ 공간 오디오 런타임 ]
        Steam Audio · Resonance Audio · Tempest 3D · OpenAL Soft
        ↓ binaural / ambisonic / object-based
  [ 출력 ]
        스피커 / 헤드폰 / Dolby Atmos / DTS:X

2. Wwise — Audiokinetic (Sony 인수, 2024년 5월)

Wwise는 캐나다 몬트리올의 Audiokinetic이 만든 게임 오디오 미들웨어입니다. 2024년 5월, Sony Interactive Entertainment가 Audiokinetic을 인수했고, 이로써 Sony는 PlayStation 1st party 스튜디오의 오디오 파이프라인 전체를 직접 제어하게 됐습니다. 다행히 Sony는 "Wwise는 플랫폼 중립을 유지한다"는 공식 입장을 밝혔고, 2026년 현재 Wwise는 여전히 모든 콘솔, PC, 모바일, VR을 지원합니다.

Wwise의 핵심 개념

Wwise 통합 코드 예시 — Unity

// Wwise Unity Integration
using UnityEngine;
using AK.Wwise;

public class FootstepController : MonoBehaviour
{
    public AK.Wwise.Event footstepEvent;
    public AK.Wwise.Switch concreteSurface;
    public AK.Wwise.RTPC playerSpeedRtpc;

    private CharacterController controller;

    void Start()
    {
        controller = GetComponent<CharacterController>();
    }

    void Update()
    {
        // RTPC 업데이트 - 속도에 따라 발자국 강도
        float speed = controller.velocity.magnitude;
        playerSpeedRtpc.SetValue(gameObject, speed);

        // 표면에 따라 Switch 변경
        if (Physics.Raycast(transform.position, Vector3.down, out var hit, 1.5f))
        {
            if (hit.collider.CompareTag("Concrete"))
                concreteSurface.SetValue(gameObject);
        }
    }

    public void OnFootstep()  // Animation Event에서 호출
    {
        footstepEvent.Post(gameObject);
    }
}

라이선스 (2026년)

Wwise는 The Witcher 3, Cyberpunk 2077, Helldivers 2, Hogwarts Legacy, Black Myth: Wukong, Spider-Man 2, The Last of Us Part 2 등 거의 모든 메이저 AAA에서 사용됩니다.


3. FMOD Studio — Firelight Technologies

FMOD는 호주 Firelight Technologies가 만든 오디오 미들웨어입니다. Wwise와 함께 시장을 양분하지만, 인디 친화적 UX와 합리적 라이선스 정책으로 인디 / 중소 스튜디오에서 압도적으로 많이 쓰입니다.

FMOD의 차별점

FMOD 통합 코드 예시 — C++

// FMOD Core API + Studio API 통합 예시
#include <fmod_studio.hpp>
#include <fmod.hpp>

FMOD::Studio::System* studioSystem = nullptr;

void InitFMOD()
{
    FMOD::Studio::System::create(&studioSystem);

    // 1024 채널, FMOD Studio 초기화 플래그, 코어 초기화 플래그
    studioSystem->initialize(
        1024,
        FMOD_STUDIO_INIT_NORMAL,
        FMOD_INIT_NORMAL,
        nullptr);

    // 마스터 뱅크 로드
    FMOD::Studio::Bank* masterBank = nullptr;
    studioSystem->loadBankFile(
        "Master.bank",
        FMOD_STUDIO_LOAD_BANK_NORMAL,
        &masterBank);
}

void PlayFootstep(const FMOD_3D_ATTRIBUTES& playerAttribs)
{
    FMOD::Studio::EventDescription* eventDesc = nullptr;
    studioSystem->getEvent("event:/Player/Footstep", &eventDesc);

    FMOD::Studio::EventInstance* instance = nullptr;
    eventDesc->createInstance(&instance);

    // 3D 위치 설정
    instance->set3DAttributes(&playerAttribs);

    // 파라미터 설정
    instance->setParameterByName("Surface", 0.0f);  // 0 = 콘크리트
    instance->start();
    instance->release();  // start 후 자동 해제
}

void UpdateFMOD()
{
    studioSystem->update();
}

FMOD의 채택 사례

FMOD는 특히 Unity와 Unreal 양쪽 모두에서 통합이 매끄럽고, 라이선스가 단순합니다.


4. Steam Audio — Valve (2024년 6월 오픈소스)

Steam Audio는 Valve가 만든 공간 오디오 SDK입니다. 2017년 Phonon이라는 이름으로 시작했고, 2018년 Steam Audio로 리브랜드, 2024년 6월에 Apache 2.0 라이선스로 완전 오픈소스화됐습니다. GitHub의 ValveSoftware/steam-audio 저장소에서 전체 소스 코드를 받을 수 있습니다.

Steam Audio가 하는 일

Steam Audio는 미들웨어가 아닙니다. Wwise / FMOD / Unity / Unreal에 플러그인 형태로 붙어서, 다음 네 가지를 처리합니다.

  1. HRTF 기반 binaural rendering — 헤드폰을 쓴 청자의 머리 모양에 맞춰 양쪽 귀의 신호를 다르게 합성. 사운드 방향감의 핵심.
  2. Occlusion — 벽 / 장애물 뒤의 사운드 감쇠. 단순 거리 계산이 아니라 실제 광선을 쏴서 path를 추적합니다.
  3. Reverb baking + real-time — 정적 환경의 반향은 베이크해두고, 동적 객체는 실시간으로 계산합니다.
  4. Reflections (ray-traced) — Intel Embree 기반 BVH ray tracing으로 음파의 1차 / 2차 / 3차 반사를 계산합니다.

Steam Audio 통합 — Unity 플러그인 예시

// Steam Audio Unity 통합
using UnityEngine;
using SteamAudio;

public class SteamAudioSourceSetup : MonoBehaviour
{
    void Start()
    {
        // 1. AudioSource에 Steam Audio Source 컴포넌트 부착
        var src = gameObject.AddComponent<SteamAudioSource>();
        src.directBinaural = true;       // HRTF binaural 활성
        src.applyOcclusion = true;       // occlusion 활성
        src.occlusionMode = OcclusionMode.Raycast;
        src.applyReflections = true;     // 반사 활성
        src.reflectionType = ReflectionType.RealTime;

        // 2. 청자 (보통 카메라)에는 SteamAudioListener
        if (Camera.main.GetComponent<SteamAudioListener>() == null)
            Camera.main.gameObject.AddComponent<SteamAudioListener>();

        // 3. Steam Audio 매니저가 정적 환경을 베이크
        // (에디터에서 Steam Audio Static Mesh + Bake Reflections)
    }
}

오픈소스화의 의미

Apache 2.0은 상업적 사용이 자유롭고, 수정 후 재배포가 가능하며, 특허 청구권을 포기합니다. 즉 Sony도, Microsoft도, Epic도 Steam Audio를 마음껏 fork해서 자체 엔진에 통합할 수 있습니다. 실제로 Unreal 5.5부터 Steam Audio 기반 reverb baking이 일부 기본 제공됩니다.


5. Resonance Audio — Google → Open Source

Resonance Audio는 원래 Google이 2017년에 출시한 공간 오디오 SDK입니다. Daydream VR 시대의 핵심 컴포넌트였고, YouTube의 360 영상 ambisonic 디코더로도 쓰였습니다. 2022년 Google이 프로젝트를 deprecate하면서 Apache 2.0으로 오픈소스화했고, 2026년 현재는 커뮤니티 fork (GoogleArchive/resonance-audio + AndrewIOM/resonance-audio-active)가 활발히 유지보수되고 있습니다.

Resonance Audio의 강점

Web Audio + Resonance Audio 예시

// Resonance Audio Web 사용 예시 (resonance-audio npm)
import { ResonanceAudio } from 'resonance-audio'

const audioContext = new AudioContext()
const scene = new ResonanceAudio(audioContext, {
  ambisonicOrder: 3,
})
scene.output.connect(audioContext.destination)

// 룸 환경 설정
scene.setRoomProperties({
  width: 10,
  height: 4,
  depth: 8,
})

// 음원 추가
const source = scene.createSource()
source.setPosition(2, 1, 0)

// 오디오 버퍼를 음원에 연결
fetch('/sounds/footstep.wav')
  .then((r) => r.arrayBuffer())
  .then((buf) => audioContext.decodeAudioData(buf))
  .then((decoded) => {
    const bufferSource = audioContext.createBufferSource()
    bufferSource.buffer = decoded
    bufferSource.connect(source.input)
    bufferSource.start()
  })

Resonance Audio는 모바일 / 웹 / 경량 VR에서 여전히 매력적이며, Steam Audio가 데스크톱 GPU 자원을 요구하는 반면 Resonance는 Snapdragon급 ARM에서도 잘 돕니다.


6. Sony Tempest 3D AudioTech (PS5 / PS5 Pro)

Sony는 PS5 출시 시점에 자체 공간 오디오 엔진인 Tempest 3D AudioTech을 발표했습니다. 핵심은 Sony가 자체 설계한 Tempest Engine이라는 전용 오디오 코프로세서입니다.

Tempest Engine 하드웨어

개발자 관점

Tempest는 PS5 1st party와 Wwise / FMOD를 통해 접근합니다. 2024년 Sony가 Audiokinetic을 인수한 이후, Wwise의 Tempest 출력 백엔드는 더 깊게 통합됐고, 일부 1st party 스튜디오는 Wwise → Tempest 직접 라우팅을 위한 비공개 API를 사용합니다.

Tempest 3D vs Dolby Atmos

항목Tempest 3DDolby Atmos
플랫폼PS5, PS5 Pro 전용Xbox, PS5, PC, 모바일
출력헤드폰 binaural / 스피커Atmos 호환 AVR / 사운드바 / 헤드폰
오브젝트 수5,000+128 객체 동시
인증Sony 자체Dolby 인증 필요
AI HRTFPS5 Pro에서 지원일부 헤드폰에서 지원

대표적으로 Returnal, Demon's Souls Remake, The Last of Us Part 1, Ghost of Tsushima Director's Cut가 Tempest 3D를 적극 활용합니다.


7. AMD TrueAudio Next — RDNA에서 부활

AMD TrueAudio는 2013년 GCN 1.1 (R9 290X)에서 처음 등장했고, 2016년 TrueAudio Next로 리브랜드된 GPU 가속 오디오 기술입니다. 한동안 잊혀진 듯했지만, 2024 ~ 2025년 RDNA 4 세대에서 다시 부각됐습니다.

TrueAudio Next의 핵심

// Steam Audio + TrueAudio Next 설정 예시
IPLContextSettings ctxSettings = {};
ctxSettings.version = STEAMAUDIO_VERSION;

IPLContext context = nullptr;
iplContextCreate(&ctxSettings, &context);

IPLOpenCLDeviceSettings clSettings = {};
clSettings.type = IPL_OPENCLDEVICETYPE_GPU;
clSettings.numCUsToReserve = 4;  // AMD GPU에서 4 CU 예약
clSettings.fractionCUsForIRUpdate = 0.5f;

IPLOpenCLDevice clDevice = nullptr;
iplOpenCLDeviceCreate(context, &clSettings, &clDevice);

// 이제 TrueAudio Next로 가속된 reflection 계산을 사용할 수 있음
IPLRadeonRaysDeviceSettings rrSettings = {};
IPLRadeonRaysDevice rrDevice = nullptr;
iplRadeonRaysDeviceCreate(clDevice, &rrSettings, &rrDevice);

NVIDIA 진영의 대응 — VRWorks Audio

NVIDIA도 비슷한 GPU 가속 오디오 기술 VRWorks Audio를 갖고 있습니다. OptiX 기반 ray tracing으로 path tracing을 수행하지만, NVIDIA는 2022년 이후 VRWorks Audio를 deprecate하고 Omniverse Audio2Face / RTX Voice 쪽으로 자원을 옮겼습니다.


8. Dolby Atmos for Games — 가정용 IMAX

Dolby Atmos는 원래 영화관용 객체 기반 오디오 포맷이었습니다. 2017년 게임에 진입한 이후, 2026년 현재 Xbox Series X/S, PS5 Pro, PC 메인스트림 모두 Dolby Atmos for Headphones 및 Speakers를 공식 지원합니다.

Atmos for Games의 핵심

Atmos를 활성화하는 방법

// Windows Spatial Audio API (XAudio2 / WASAPI)
#include <SpatialAudioClient.h>

ISpatialAudioClient* spatialAudioClient = nullptr;
// ... 디바이스 활성화 ...

SpatialAudioObjectRenderStreamActivationParams streamParams = {};
streamParams.ObjectFormat = WAVEFORMATEX_FOR_48KHZ_FLOAT_MONO;
streamParams.StaticObjectTypeMask = AudioObjectType_None;
streamParams.MinDynamicObjectCount = 0;
streamParams.MaxDynamicObjectCount = 128;
streamParams.Category = AudioCategory_GameEffects;

ISpatialAudioObjectRenderStream* renderStream = nullptr;
spatialAudioClient->ActivateSpatialAudioStream(
    &streamParams,
    __uuidof(ISpatialAudioObjectRenderStream),
    (void**)&renderStream);

// 객체를 동적으로 생성하고 위치 설정
ISpatialAudioObject* audioObject = nullptr;
renderStream->ActivateSpatialAudioObject(AudioObjectType_Dynamic, &audioObject);
audioObject->SetPosition(2.0f, 1.5f, -3.0f);
audioObject->SetVolume(0.8f);

Wwise / FMOD는 이를 직접 호출할 필요가 없도록 Atmos 백엔드를 내장하고 있습니다. Bus 출력 설정에서 "Atmos Object"를 선택하면 자동으로 위 API를 사용합니다.

Atmos for Games 채택 타이틀

Halo Infinite, Forza Horizon 5, Gears 5, Diablo IV, Battlefield 2042, Resident Evil 4 Remake, Spider-Man 2 PC 등이 Atmos를 지원합니다.


9. Unity Audio Mixer + Wwise / FMOD 통합

Unity는 자체 Audio Mixer를 내장하고 있습니다. 작은 프로젝트 / 모바일에는 충분하지만, 복잡한 사운드 디자인이 필요해지면 Wwise / FMOD로 갈아탑니다.

Unity Audio Mixer 기본

Unity Audio Mixer만으로 충분한 경우

Wwise / FMOD로 갈아타야 하는 신호

// Unity Audio Mixer 기본 사용
using UnityEngine;
using UnityEngine.Audio;

public class MixerController : MonoBehaviour
{
    public AudioMixer mixer;

    public void SetMasterVolume(float volume)
    {
        // -80dB ~ 0dB
        float db = volume > 0.0001f ? Mathf.Log10(volume) * 20f : -80f;
        mixer.SetFloat("MasterVolume", db);
    }

    public void TransitionToCombatSnapshot()
    {
        var combat = mixer.FindSnapshot("Combat");
        combat.TransitionTo(0.5f);  // 0.5초에 걸쳐 전환
    }
}

10. Unreal MetaSounds — SoundCue 대체

Epic은 Unreal 5.0에서 MetaSounds를 정식 출시했고, 5.4 ~ 5.5에서 SoundCue 워크플로를 deprecate했습니다. 2026년 현재 Unreal 5.6/5.7 프로젝트는 MetaSounds를 기본 사운드 시스템으로 사용합니다.

MetaSounds의 차별점

기존 SoundCue가 미리 정의된 노드(Random, Mixer 등)의 그래프였다면, MetaSounds는 샘플 단위 DSP 그래프입니다. 즉 직접 wave-table 합성, FM 합성, granular synthesis, real-time pitch shift를 구현할 수 있습니다.

비교

항목SoundCue (legacy)MetaSounds (2026)
그래프 단위사운드 큐 (이벤트 수준)샘플 (DSP 수준)
절차적 사운드어려움기본 지원 (oscillator, filter 노드)
Live Update제한적에디터 - 게임 라이브 연동
외부 미들웨어Wwise / FMOD 권장자체로 충분한 경우 多
C++ 확장어려움MetaSound Node 클래스 작성

MetaSounds C++ 노드 예시

// 간단한 saw-wave 오실레이터 MetaSound 노드
#include "MetasoundFacade.h"
#include "MetasoundNodeRegistrationMacro.h"

namespace Metasound
{
    class FSawOscillatorOperator : public TExecutableOperator<FSawOscillatorOperator>
    {
    public:
        static const FNodeClassMetadata& GetNodeInfo();
        static const FVertexInterface& GetVertexInterface();

        FSawOscillatorOperator(const FOperatorSettings& InSettings,
                               const FFloatReadRef& InFrequency)
            : Frequency(InFrequency)
            , Phase(0.0f)
            , SampleRate(InSettings.GetSampleRate())
        {
        }

        void Execute()
        {
            const float freq = *Frequency;
            const float dt = 1.0f / SampleRate;
            for (int32 i = 0; i < AudioBuffer->Num(); i++)
            {
                (*AudioBuffer)[i] = 2.0f * Phase - 1.0f;
                Phase += freq * dt;
                if (Phase >= 1.0f) Phase -= 1.0f;
            }
        }

    private:
        FFloatReadRef Frequency;
        FAudioBufferWriteRef AudioBuffer;
        float Phase;
        float SampleRate;
    };
}

METASOUND_REGISTER_NODE(Metasound::FSawOscillatorNode)

MetaSounds는 특히 절차적 사운드 (예: 외계 생물 울음소리, 비행기 엔진, 마법 발사음)에 강력합니다. Fortnite Battle Royale의 신규 무기 사운드는 대부분 MetaSounds로 디자인됩니다.


11. OpenAL Soft — 오픈소스 3D 오디오

OpenAL은 OpenGL의 오디오 버전을 표방하며 2000년대 초에 등장했습니다. Creative Labs가 원래 주도했지만 2010년대 들어 관리가 부실해졌고, 그 빈자리를 OpenAL Soft (kcat이 유지)가 채웠습니다. 2026년 현재 사실상 표준 OpenAL 구현체입니다.

OpenAL Soft가 매력적인 이유

OpenAL Soft 코드 예시 — C

// OpenAL Soft 기본 사용
#include <AL/al.h>
#include <AL/alc.h>

ALCdevice* device = alcOpenDevice(nullptr);
ALCcontext* context = alcCreateContext(device, nullptr);
alcMakeContextCurrent(context);

// HRTF 활성화 (OpenAL Soft 확장)
ALCint attribs[] = {
    ALC_HRTF_SOFT, ALC_TRUE,
    ALC_HRTF_ID_SOFT, 0,  // 첫 번째 HRTF 사용
    0
};
alcResetDeviceSOFT(device, attribs);

// 청자 위치
alListener3f(AL_POSITION, 0.0f, 0.0f, 0.0f);
ALfloat orientation[] = { 0.0f, 0.0f, -1.0f,  0.0f, 1.0f, 0.0f };
alListenerfv(AL_ORIENTATION, orientation);

// 음원
ALuint source;
alGenSources(1, &source);
alSource3f(source, AL_POSITION, 5.0f, 0.0f, 0.0f);
alSourcef(source, AL_GAIN, 1.0f);

// 버퍼에 wav 데이터를 채우고...
ALuint buffer;
alGenBuffers(1, &buffer);
alBufferData(buffer, AL_FORMAT_MONO16, pcmData, dataSize, sampleRate);

alSourcei(source, AL_BUFFER, (ALint)buffer);
alSourcePlay(source);

OpenAL Soft는 Doom 3, Quake 4, Minecraft 같은 클래식부터 최근의 인디 타이틀까지 폭넓게 사용됩니다. Wwise / FMOD가 부담스러운 소규모 프로젝트의 합리적 선택입니다.


12. Csound + 게임 통합 — 학술과 실험의 경계

Csound는 1985년 MIT에서 시작된 오픈소스 사운드 합성 / DSP 언어입니다. 학술 / 컴퓨터 음악 분야에서 사실상 표준이지만, 게임에서는 거의 쓰이지 않았습니다. 그러나 2020년대 들어 절차적 사운드와 실험적 사운드 디자인 수요가 늘면서, Csound 임베딩이 다시 주목받고 있습니다.

Csound API 예시

// Csound를 C++에서 임베드
#include <csound/csound.hpp>

class CsoundEngine
{
    Csound* csound;
public:
    void init()
    {
        csound = new Csound();
        csound->SetOption("-odac");      // 출력을 DAC로
        csound->SetOption("--realtime"); // 실시간 모드

        // CSD (Csound 문서) 로드
        const char* orc =
            "sr = 48000\n"
            "kr = 4800\n"
            "ksmps = 10\n"
            "nchnls = 2\n"
            "instr 1\n"
            "  iamp = p4\n"
            "  ifreq = p5\n"
            "  a1 oscili iamp, ifreq, 1\n"
            "  outs a1, a1\n"
            "endin\n";

        csound->CompileOrc(orc);
        csound->Start();
    }

    void playNote(float amp, float freq, float duration)
    {
        char score[128];
        snprintf(score, sizeof(score), "i 1 0 %f %f %f", duration, amp, freq);
        csound->ReadScore(score);
    }

    void update()
    {
        csound->PerformKsmps();
    }
};

Csound는 인터랙티브 음악 시스템 (예: 플레이어의 행동에 따라 진행하는 음악) 구현에 유용합니다. 실험적 인디 게임과 사운드 아트 작품에서 가끔 발견됩니다.


13. 공간 오디오 핵심 개념 — Occlusion / Reverb / HRTF / Ray Tracing

HRTF는 양 귀가 음원의 방향에 따라 다르게 들리는 현상을 수학적으로 모델링한 함수입니다. 머리, 어깨, 귓바퀴의 모양이 만드는 회절, 반사, 음영을 푸리에 도메인의 필터로 표현합니다.

여기서 * 는 콘볼루션입니다. HRIR(impulse response)을 측정한 데이터셋 (MIT KEMAR, IRCAM Listen, CIPIC)이 공개돼 있고, Steam Audio / OpenAL Soft / Resonance가 이를 사용합니다.

13.2 Occlusion (차폐)

벽 뒤의 음원은 직접파(direct path)가 차단되거나 약해집니다. 단순 구현은 raycast 한 번으로 끝납니다.

// 간단한 occlusion 구현
Vector3 dir = source.position - listener.position;
float dist = dir.magnitude;
if (Physics.Raycast(listener.position, dir.normalized, out RaycastHit hit, dist))
{
    // 벽이 있음 - 저역 통과 필터 적용
    float occlusionAmount = 1.0f - (hit.distance / dist);
    audioSource.outputAudioMixerGroup.audioMixer.SetFloat(
        "Cutoff", Mathf.Lerp(22000f, 500f, occlusionAmount));
}

복잡한 구현은 음파가 우회하는 경로(diffraction path)를 계산해서 부분적인 차폐를 표현합니다. Steam Audio가 path tracing 기반 occlusion을 제공합니다.

13.3 Reverb Zones와 Late Reverb

방의 잔향은 두 단계로 모델링합니다.

Steam Audio / Wwise / FMOD 모두 early + late를 분리해서 처리합니다. 게임에서는 보통 reverb zone (방 단위)을 두고, 청자가 그 zone에 들어오면 해당 reverb preset을 활성화합니다.

13.4 Ray-Traced Audio

NVIDIA OptiX, Intel Embree, AMD Radeon Rays를 사용해 음파의 경로를 ray tracing으로 계산합니다. Steam Audio가 Embree 기반 ray tracing을 표준으로 사용하며, AMD TrueAudio Next는 Radeon Rays 2.0을 사용합니다.

음향 ray tracing 모식도

  음원 ●────────────────●  청자
        \              /
         \────[벽]────/    ← 1차 반사
          \          /
           \────●───/      ← 2차 반사
                |
                ●────────  ← diffraction (회절)

각 경로의:
  - 거리 → 지연 시간
  - 재질 → 흡수 계수 (저역 통과)
  - 각도 → HRTF 인덱스

14. 공간 오디오 표준 — MPEG-H Audio와 Atmos

MPEG-H Audio (3D Audio)

MPEG-H는 ISO/IEC 23008-3 표준으로, 객체 + 채널 + 장면(scene) 기반 오디오를 통합합니다.

Dolby Atmos (객체 기반)

Auro-3D / DTS:X

2026년 현재 게임 콘솔에서 객체 기반 오디오의 사실상 표준은 Dolby Atmos이며, 일본 / 한국 일부 방송 콘텐츠에서 MPEG-H가 채택됩니다.


15. DSP 플러그인 — 사운드 디자인의 도구상자

게임 사운드 디자이너는 게임 미들웨어로 들어가기 전에 DAW에서 사운드를 만듭니다. 이때 쓰는 대표적인 DSP 플러그인을 정리합니다.

NewFangled Audio (Eventide 산하)

Eventide

FabFilter

Soundtoys

iZotope

이 도구들로 사운드 디자이너는 wav를 만들고, Wwise / FMOD에서 이를 호출 / 변조합니다. 즉 DSP 플러그인 = 자산 생산 도구, 미들웨어 = 실시간 자산 활용 도구라는 구분이 명확합니다.


16. 한국 / 일본 — 스튜디오별 오디오 파이프라인

한국 (2026년 현재)

넥슨

엔씨소프트

카카오게임즈 / 펄어비스

스마일게이트

일본 (2026년 현재)

Sony Interactive Entertainment

Square Enix

Capcom

Bandai Namco

Sega

Criware ADX — 일본 게임 업계에서 Wwise / FMOD에 이은 3대 미들웨어. 일본 모바일 / 콘솔 시장 점유율이 높고, 한국 / 서양에서는 거의 안 쓰입니다.


17. 누가 무엇을 골라야 하나 — 의사결정 매트릭스

인디 (1 ~ 5명, 예산 한정)

추천이유
FMOD Studio무료 티어 + DAW 친화 UI
Unity Audio Mixer모바일 / 간단한 2D 게임
Unreal MetaSoundsUnreal 사용 + 절차적 사운드
OpenAL Soft + 자체 코드학습 목적 / 엔진 직접 작성

중소 스튜디오 (10 ~ 50명, 자체 IP)

추천이유
Wwise (소규모 라이선스)확장성 + 콘솔 멀티 플랫폼
FMOD Studio + Steam Audio라이선스 비용 절약 + VR 대응
MetaSounds + Steam AudioUnreal 풀스택

AAA / 대형 콘솔 타이틀

추천이유
Wwise + Tempest 3D / AtmosSony 인수 후 통합 강화
Wwise + Steam Audio + AtmosPC / Xbox / PS5 통합
Capcom 패턴 (RE Engine + ADX2)일본 시장

VR / AR

추천이유
Steam Audio + Wwise/FMODHRTF + 공간 오디오 표준
Resonance Audio모바일 VR / WebXR
Sony Tempest 3DPSVR2 전용

모바일

추천이유
FMOD Studio + UnityiOS / Android 공통
Wwise (미들웨어 무료 티어)멀티 플랫폼 미들웨어 통일
Resonance Audio모바일 VR / 360 비디오

웹 / 브라우저 게임

추천이유
Web Audio API + Resonance Audio표준 + ambisonic
Howler.js간단한 2D 게임
WebXR + Resonance브라우저 VR

마치며 — 2026년의 작업 흐름

2026년 게임 오디오 워크플로는 다음과 같이 정리됩니다.

  1. 사운드 디자이너가 Reaper / Pro Tools에서 FabFilter / Soundtoys / iZotope로 wav를 제작
  2. 테크니컬 사운드 디자이너가 Wwise / FMOD / MetaSounds에서 이벤트, RTPC, snapshot을 설계
  3. 공간 오디오 담당이 Steam Audio / Resonance / Tempest 3D / Atmos 설정
  4. 프로그래머가 C++ / C# 코드에서 이벤트를 트리거하고 RTPC를 업데이트
  5. QA가 헤드폰 / Atmos 사운드바 / 멀티 플랫폼에서 검증

10년 전과 비교하면 오디오 미들웨어 시장은 더 다양해졌고 (Steam Audio 오픈소스화), 동시에 더 통합됐습니다 (Sony의 Audiokinetic 인수). 인디 개발자는 무료 티어로 AAA급 사운드 도구를 사용할 수 있고, AAA 스튜디오는 ray-traced reverb와 객체 기반 오디오를 일상적으로 구현합니다.

다음 10년의 핵심 화두는 AI 기반 사운드 생성 (Adobe Project Music GenAI, Stable Audio 2)과 절차적 사운드의 결합이 될 것입니다. 이미 EA / Ubisoft / Sony가 내부적으로 AI 사운드 합성 R&D를 진행 중이며, 일부 NPC 보이스는 AI로 합성되기 시작했습니다.


참고 / References

댓글

아직 댓글이 없습니다.

로그인하면 댓글을 쓸 수 있습니다