사운드 서버

사운드 서버(sound server)는 소프트웨어로, 오디오 장치(일반적으로 사운드 카드)의 사용 및 접근을 관리한다. 일반적으로 백그라운드 프로세스로 실행된다.

 운영체제의 사운드 서버 
유닉스 계열 운영체제에서 사운드 서버는 다양한 데이터 스트림(일반적으로 원시 PCM 오디오)을 믹싱하여 단일 통합 오디오를 출력 장치로 보낸다. 믹싱은 일반적으로 소프트웨어로 이루어지며, 지원되는 사운드 카드가 있는 경우 하드웨어로도 이루어진다.

 계층 

"사운드 스택"은 다음과 같이 시각화할 수 있으며, 상위 계층의 프로그램이 하위 계층의 요소를 호출한다.

 응용 프로그램 (예: mp3 플레이어, 웹 비디오)
 사운드 서버 (예: aRts, ESD, JACK, PulseAudio)
 사운드 서브시스템 (커널 모듈 또는 드라이버로 설명됨; 예: OSS, ALSA)
 운영체제 커널 (예: 리눅스, 유닉스)

 동기 

사운드 서버는 오픈 사운드 시스템의 한계가 인식된 후 유닉스 계열 운영체제에 나타났다. OSS는 여러 스트림을 동시에 재생하거나, 여러 사운드 카드를 처리하거나, 네트워크를 통해 사운드를 스트리밍할 수 없는 기본적인 사운드 인터페이스였다.

사운드 서버는 데몬으로 실행되어 이러한 기능을 제공할 수 있다. 이는 다양한 프로그램 및 사운드 흐름의 호출을 받아 스트림을 믹싱하고, 원시 오디오를 오디오 장치로 보낸다.

사운드 서버를 사용하면 사용자들은 전역 및 애플리케이션별 사운드 환경 설정을 구성할 수도 있다.

 다양화와 문제점 

2012년 기준 여러 사운드 서버가 존재하며, 일부는 매우 낮은 지연 시간에 중점을 두는 반면, 다른 일부는 일반 데스크톱 시스템에 적합한 기능에 집중한다. 다양화는 사용자가 특정 애플리케이션에 중요한 기능만을 선택할 수 있게 하지만, 개발자들에게는 다양한 사운드 서버와 호환되는 코드를 필요로 하여 이러한 옵션을 수용하도록 강요한다. 결과적으로 이러한 다양성은 노력을 통합하기 위한 표준 API에 대한 욕구로 이어졌다.

 사운드 서버 목록 
 aRts
 인라이트닝 사운드 데몬
 JACK
 네트워크 오디오 시스템
 파이프와이어
 펄스오디오
 sndio - OpenBSD 오디오 및 MIDI 프레임워크

 스트리밍 
 아이스캐스트
 SHOUTcast

 각주 

 외부 링크 
 리눅스 오디오 소개
 RFC: GNOME 2.0 멀티미디어 전략

분류:서버