⋯1번째 줄 근처
+추가: ## 개요
+추가: 다이렉트사운드(DirectSound)는 마이크로소프트가 개발한 다이렉트엑스(DirectX) 구성 요소 중 하나로, 윈도우 운영 체제에서 사운드 카드 드라이버와 응용 프로그램을 연결하는 소프트웨어 라이브러리다. 1995년 다이렉트엑스 1과 함께 처음 등장했으며, 응용 프로그램이 사운드 카드에 직접 접근해 낮은 지연 시간으로 오디오 데이터를 전송하고, 여러 오디오 스트림을 동시에 믹싱·재생·녹음할 수 있게 해 준다. 게임 개발자가 직접 소프트웨어 오디오 엔진을 구현해야 했던 DOS 시대와 달리, 표준화된 API를 통해 하드웨어 가속 버퍼, 3차원 입체 음향, 이펙트 처리 등을 비교적 쉽게 구현할 수 있게 되었다. 현재는 XAudio2, WASAPI 등 후속 API로 대체되어 더 이상 개발되지 않는(deprecated) 구성 요소로 분류된다.[1][2][3]
+추가: ## 기능과 사용법 개요
+추가: ### 핵심 아키텍처: 링 버퍼와 두 가지 버퍼 타입
+추가: 다이렉트사운드는 사용자 모드 API로, 응용 프로그램이 사운드 버퍼를 생성하면 이를 순환하는 "링 버퍼"로 취급한다. 프로그래머는 "읽기 커서"로 현재 재생 위치를 확인하고 "쓰기 커서"로 새로운 데이터를 채워 넣는 방식으로 스트리밍을 제어한다. 버퍼는 크게 두 종류로 나뉜다.
+추가: - 스트리밍 버퍼(Streaming buffer): 배경 음악처럼 긴 연속 사운드를 담으며, 재생 중에도 지속적으로 새 데이터를 공급해야 한다.
+추가: - 정적 버퍼(Static buffer): 효과음처럼 짧은 사운드를 한 번에 로드해 두고 반복 재생할 때 쓴다.[3]
+추가:
+추가: ### 하드웨어 가속 버퍼와 소프트웨어 폴백
+추가: 지원되는 사운드 카드에서는 버퍼를 로컬 비디오 메모리나 시스템 메모리 중 카드가 직접 접근 가능한 영역에 배치해 "하드웨어 가속 버퍼"로 동작시킨다. 이 경우 믹싱·샘플 레이트 변환·3D 위치 연산 등을 카드 내장 DSP가 처리해 CPU 부하를 줄인다. 하드웨어 가속을 쓸 수 없으면 시스템 메모리에 버퍼를 만들고 순수 소프트웨어 믹싱으로 폴백한다. DOS 시절 웨이브테이블 카드(사운드 블라스터 AWE32, 그라비스 울트라사운드 등)는 로컬 메모리와 전용 DSP로 다중 스트림 믹싱을 보드 위에서 처리했으나, 윈도우 드라이버 모델 복잡성 때문에 완전한 하드웨어 가속은 나중에 나온 사운드 블라스터 라이브!(Sound Blaster Live!), 오디지(Audigy), X-Fi 계열에서야 제대로 구현되었다.[3]
+추가:
+추가: ### 믹싱·샘플 레이트 변환·다중 채널
+추가: 다이렉트사운드는 이론상 무제한 오디오 소스의 샘플 레이트 변환과 볼륨·팬 믹싱을 제공하나, 실제 한계는 하드웨어 오디오 소스 수와 소프트웨어 믹서 성능에 달렸다. 다채널(5.1 등) 고해상도 재생도 지원하며, 다이렉트쇼(DirectShow) 같은 상위 미디어 파이프라인이 하드웨어 가속 능력이 노출된 경우 이를 경유해 사용한다.[3]
+추가:
+추가: ### 녹음·캡처와 이펙트 처리
+추가: 마이크 등 입력 장치에서 오디오를 캡처하고, 캡처 중에도 리버브·에코·플랜지 등 이펙트를 실시간 적용할 수 있다. 윈도우 XP부터는 USB 마이크용 어쿠스틱 에코 제거(AEC), 노이즈 억제, 어레이 마이크 지원 등 캡처 이펙트 하드웨어 가속도 추가되었다.[3]
+추가:
+추가: ### 3D 오디오: 다이렉트사운드3D (DS3D)
+추가: DS3D는 음원의 3차원 좌표·속도·방향·원뿔 각도, 청취자 위치·방향·속도, 거리 감쇠 곡선, 도플러 팩터 등을 API로 제어한다. 하드웨어 가속 버퍼 위에서 동작할 때만 HRTF(Head-Related Transfer Function) 기반 이중 귀 렌더링이나 리버브 존 등 고급 효과가 실시간으로 적용된다. EAX는 DS3D 확장으로, 하드웨어 가속 버퍼에 리버브·오클루전·옵스트럭션 등 환경 음향 이펙트를 추가한다.[2][3]
+추가:
+추가: ### 최대 샘플 레이트 제한
+추가: 다이렉트사운드가 처리할 수 있는 최대 샘플 레이트는 200 kHz다. 윈도우 오디오 설정이 192 kHz를 초과(예: 384 kHz)하면 다이렉트사운드를 쓰는 구형 게임·응용 프로그램이 시작되지 않거나 소리가 나지 않을 수 있다. 해결 방법은 시스템 샘플 레이트를 192 kHz 이하로 낮추는 것이다. XAudio2·WASAPI·ASIO를 쓰는 최신 응용 프로그램은 이 제한을 받지 않는다.[3]
+추가:
+추가: ## 생태계·커뮤니티
+추가: ### 대체 구현과 래퍼 라이브러리
+추가: 비스타 이후 네이티브 하드웨어 가속이 사라지자, 이를 복원하거나 에뮬레이션하는 여러 라이브러리가 등장했다.
+추가: - 크리에이티브 ALchemy (2007): DS3D·EAX 호출을 가로채 OpenAL 호출로 변환해 사운드 블라스터 X-Fi·오디지 등 지원 하드웨어에서 처리한다. 소프트웨어 오디오 솔루션에서는 내장 3D 오디오 엔진을 쓴다.[3]
+추가: - 리얼텍 3D SoundBack: 내장 HD 오디오 코덱용으로 ALchemy와 유사한 기능을 제공한다.[3]
+추가: - C-미디어 Xear3D EX: 사용자 개입 없이 백그라운드에서 DS3D 호출을 투명하게 가로채 처리한다.[3]
+추가: - IndirectSound: 프리웨어 라이브러리로, XAudio2 위에서 DS3D를 에뮬레이트하며 하드웨어 가속은 쓰지 않는다.[3]
+추가: - DSOAL: 오픈소스 라이브러리로, OpenAL(하드웨어 가속 구현 또는 OpenAL Soft의 HRTF)을 이용해 DS3D와 EAX를 에뮬레이트한다.[3]
+추가:
+추가: ### 개발자 커뮤니티와 문서
+추가: MSDN(현재 Microsoft Learn)에 공식 레퍼런스가 남아 있으며, PC Gaming Wiki 등 커뮤니티 사이트에서 구형 게임의 다이렉트사운드 호환성 문제와 해결책(ALchemy, DSOAL, 샘플 레이트 조정 등)을 정리해 공유한다. 오픈소스 프로젝트인 DSOAL은 GitHub 등에서 지속적으로 업데이트되고 있다.[3]
+추가:
+추가: ## 평가
+추가: ### 혁신성과 긍정적 평가
+추가: - 1995년 등장 당시 "혁명적"이라 불릴 만큼, 다중 동시 오디오 스트림과 여러 응용 프로그램의 사운드 카드 공유를 OS 차원에서 해결해 주었다. 이전까지 게임 개발자가 직접 소프트웨어 믹서를 짜야 했던 부담을 API로 흡수했다.[3]
+추가: - 하드웨어 가속 버퍼 모델은 당대 고성능 사운드 카드(DSP·로컬 메모리 탑재)의 능력을 끌어내 CPU 점유율을 크게 낮추고 음질을 높였다.[3]
+추가: - DS3D로 3D 오디오 API를 표준화해, 개발자가 벤더별 전용 SDK(예: A3D, EAX 초기 버전)마다 별도 코드를 쓰지 않아도 되게 했다.[2][3]
+추가: - 오랜 개발 끝에 성숙한 API가 되어, 게임뿐 아니라 전문 오디오 분야에서도 널리 쓰였다.[2]
+추가:
+추가: ### 한계와 비판
+추가: - 윈도우 비스타의 오디오 스택 재설계로 하드웨어 가속 경로가 차단되면서, 기존 DS3D·EAX 의존 타이틀이 하드웨어 3D 오디오·환경 이펙트를 잃고 소프트웨어 에뮬레이션으로 강등되었다. 이는 "호환성 단절"로 비판받았다.[3]
+추가: - 커널 믹서(KMixer) 도입(윈도우 98) 이후 약 30 ms 지연이 추가되어, 저지연이 중요한 전문 오디오·실시간 통신 용도에 부적합하다는 지적이 있었다. 커널 스트리밍(Stream.sys, AVStream)이나 ASIO로 우회해야 했다.[3]
+추가: - 최대 200 kHz 샘플 레이트 제한으로, 384 kHz 등 고샘플링 환경에서 구형 게임이 실행되지 않거나 무음 상태가 되는 문제가 있다.[3]
+추가: - 윈도우 8 이후 다이렉트사운드·다이렉트뮤직 하드웨어 인터페이스가 구현되지 않고, WASAPI 하드웨어 오프로딩도 UWP 앱에만 열려 있어, 데스크톱 앱 개발자는 XAudio2나 WASAPI로 마이그레이션해야 하는 상황이다.[3]
+추가:
+추가: ## 운영 체제별 지원 현황 요약
+추가: | 운영 체제 | 주요 특징 |
+추가: |---|---|
+추가: | 윈도우 95/98/Me | VxD 드라이버(Dsound.vxd)로 커널 모드 직접 접근, 최저 지연. 윈도우 98부터 WDM/KMixer 도입, 30 ms 지연 발생. SE에서 하드웨어 버퍼링·가속·DS3D 추상화·5.1 서라운드·다이렉트뮤직 추가. |
+추가: | 윈도우 2000/XP | NT 계열에 WDM 오디오 스택 이식. XP에서 캡처 이펙트 하드웨어 가속(AEC, 노이즈 억제, 어레이 마이크) 추가. |
+추가: | 윈도우 서버 2003 | 하드웨어 가속 기본 비활성화. |
+추가: | 윈도우 비스타/7 | UAA 기반 새 오디오 스택. 다이렉트사운드는 WASAPI 위 에뮬레이션, 하드웨어 가속·DS3D·EAX 네이티브 미지원. 서드파티 ASIO/OpenAL만 드라이버 직접 접근 가능. |
+추가: | 윈도우 8 | WASAPI 하드웨어 오프로딩 추가(윈도우 런타임 앱만). 다이렉트사운드 하드웨어 인터페이스 미구현. 드라이버 WDF/UAA 필수. |
+추가: | 윈도우 10 | APO 이펙트 오프로딩 지원. WASAPI 믹서는 여전히 소프트웨어. 공간 음향(Spatial Sound) 추가. |
+추가: | 윈도우 11 (24H2) | 내장 APO 모듈(마이크로소프트 오디오 홈 시어터 이펙트, 보이스 클래리티) 추가. |
+추가: | 윈도우 CE | 4.2까지 지원, 5.0부터 제거(웨이브폼 오디오 API 권장). |
+추가:
+추가: 자료에 명시된 표 형식을 위키 문법 없이 서술형 표로 재구성함.[3]
+추가:
+추가: ## 관련 기술·비교 대상
+추가: - [[일반:OpenAL|OpenAL]]: 크로스플랫폼 3D 오디오 API. 비스타 이후 윈도우에서 하드웨어 3D 오디오를 쓰려면 OpenAL 드라이버가 필요함. DSOAL 등은 다이렉트사운드 호출을 OpenAL로 변환해 동작.
+추가: - [[일반:DirectX|DirectX]]: 다이렉트사운드가 속한 멀티미디어 API 모음. 다이렉트뮤직, 다이렉트쇼, XAudio2 등과 함께 진화.
+추가: - XAudio2: 다이렉트사운드를 대체하는 저수준 오디오 API. 윈도우 비스타 이후 권장 경로.
+추가: - WASAPI: 윈도우 비스타부터 도입된 핵심 오디오 API. 다이렉트사운드는 이 위에서 래퍼로 동작.
+추가: - EAX: 크리에이티브 랩스가 확장한 환경 음향 이펙트. DS3D 하드웨어 가속 버퍼 위에서 동작.
+추가: - ASIO: 스타인버그 개발 저전문 오디오 인터페이스. 윈도우 비스타 이후에도 드라이버 직접 접근으로 저지연·하드웨어 가속 유지.
+추가: - 고급 리눅스 사운드 아키텍처(ALSA): 리눅스 커널 오디오 서브시스템. 다이렉트사운드와 직접 관계는 없으나 "같이 보기"에 언급됨.[2][3]
+추가:
+추가: 이 문서는 GGWiki AI가 공개 자료(아래 출처)를 조사해 새로 쓴 초안입니다. 틀린 내용은 편집하거나 이의 제기로 알려 주세요.