오픈 사운드 시스템
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
오픈 사운드 시스템(OSS)은 유닉스 계열 운영 체제에서 사운드 입출력을 처리하기 위해 설계된 API이다. `/dev/dsp`와 같은 장치 파일을 통해 접근하며, `open()`, `read()`, `write()`, `ioctl()` 등의 시스템 호출을 사용한다. OSS는 원래 Hannu Savolainen이 개발한 리눅스 커널 사운드 드라이버였으며, 1993년부터 1997년까지 리눅스와 FreeBSD에서 유일한 사운드 시스템으로 사용되었다. 이후 ALSA의 등장과 함께 OSS는 독점 소프트웨어로 전환되었으나, 2007년 이후 CDDL 및 GPL 라이선스로 소스 코드가 공개되었다. 현재는 솔라리스, FreeBSD, NetBSD 등에서 사용되며, 리눅스에서는 ALSA 에뮬레이션 모드를 통해 지원된다. OSS/3D는 음악 플레이어용 플러그인으로, 오디오 후처리 엔진 역할을 한다.
더 읽어볼만한 페이지
- 오디오 라이브러리 - ASIO
ASIO는 독일 스타인버그에서 개발한 오디오 입출력 API 규격으로, 낮은 지연 시간과 멀티 채널 I/O를 지원하며 윈도우 운영체제에서 주로 사용된다. - 오디오 라이브러리 - FFmpeg
FFmpeg은 오디오 및 비디오 데이터를 다루는 자유 소프트웨어 프로젝트로, 다양한 코덱과 형식을 지원하며 멀티미디어 응용 프로그램에 활용되고 2011년 Libav로 포크되기도 했으나 통합 과정을 거쳤다. - 자유 오디오 소프트웨어 - 밴시 (미디어 플레이어)
밴시는 플러그인을 통해 기능을 확장할 수 있으며, Mac OS X, 리눅스, 윈도우를 지원하는 미디어 플레이어이다. - 자유 오디오 소프트웨어 - XMMS
XMMS는 X MultiMedia System의 약자로, Winamp와 유사한 인터페이스와 스킨, 다양한 플러그인을 통해 폭넓은 오디오 파일 형식을 지원하는 크로스 플랫폼 오디오 플레이어이다. - 리눅스 커널 특징 - 커널 기반 가상 머신
커널 기반 가상 머신(KVM)은 리눅스 커널의 가상화 확장 기능으로, CPU와 메모리 가상화를 지원하며 QEMU와 함께 완전한 가상화 솔루션을 구성하고 다양한 관리 도구를 제공한다. - 리눅스 커널 특징 - AppArmor
AppArmor는 리눅스 보안 모듈로, 프로그램의 정상적인 동작을 정의하는 프로필을 통해 비정상적인 행위를 차단하며 SELinux의 대안으로 제시되었으나 보안 취약점, 성능, 설정, 호환성 등에 대한 논란도 있다.
| 오픈 사운드 시스템 - [IT 관련 정보]에 관한 문서 | |
|---|---|
| 일반 정보 | |
![]() | |
| 종류 | 오디오 인터페이스 |
| 개발 | NCR Corporation |
| 개발자 | 4Front Technologies |
| 저자 | Hannu Savolainen 한누 사볼라이넨 |
| 최초 출시 | 1992년 |
| 최신 버전 | 4.2 빌드 2019 |
| 운영 체제 | 크로스 플랫폼 |
| 장르 | 오디오 |
| 라이선스 | BSD 라이선스 공동 개발 및 배포 허가서 GNU 일반 공중 사용 허가서 사유 |
| 웹사이트 | 공식 웹사이트 |
2. API
OSS API는 `open()`, `read()`, `write()`, `ioctl()`과 같은 전통적인 유닉스 시스템 호출을 사용하여 장치 파일(`/dev/dsp` 등)을 통해 사운드 입출력을 처리하도록 설계되었다.
2. 1. 기본 사용법
셸에서 다음과 같은 명령어를 사용하여 사운드를 재생하거나 녹음할 수 있다.- `cat /dev/urandom >/dev/dsp` # 스피커를 통하여 화이트 노이즈를 재생한다.
- `cat /dev/dsp >a.a` # 마이크로부터 데이터를 읽은 다음 이를 a.a라는 이름의 파일로 복사한다.
2. 2. 추가 기능
OSS는 /dev/audio 인터페이스를 구현한다. 개별 사운드 장치에 대한 자세한 접근은 `/dev/oss` 디렉터리를 통해 제공된다. OSS는 `/dev/sequencer`, `/dev/music` (둘 다 레거시), `/dev/mini`에서 MIDI를 지원한다.[4][5]리눅스에서 OSS4는 오픈 소스 대체재인 ALSA를 에뮬레이션할 수도 있다.[6]
3. 역사
OSS는 원래 Hannu Savolainen이 개발한 리눅스 커널 사운드 드라이버인 "VoxWare"였다. Savolainen은 해당 코드를 자유 소프트웨어 라이선스, 즉 리눅스용 GPL과 BSD 배포판용 BSD로 공개했다. 1993년 11월(및 리눅스 1.00)[7]부터 1997년까지 OSS는 FreeBSD 및 리눅스에서 유일한 사운드 시스템이었다. 1997년 Luigi Rizzo가 FreeBSD용 새로운 "pcm" 드라이버를 작성하고, 1998년 Jaroslav Kysela가 ALSA(Advanced Linux Sound Architecture)를 시작하면서 상황이 바뀌었다.[8]
2002년, Savolainen은 4Front Technologies 회사와 계약을 맺고 최신 사운드 장치 지원 및 개선 사항을 포함하는 차기 OSS 4를 독점 소프트웨어로 개발했다. 이에 대응하여, 리눅스 커뮤니티는 커널에 포함된 OSS/free 구현을 포기하고 개발 노력을 대체 시스템인 ALSA(Advanced Linux Sound Architecture)로 전환했다. FreeBSD는 1999년에 시작된 "newpcm" 프로젝트로 전환하여 영향을 받지 않았다.[8]
2007년 7월, 4Front Technologies는 OpenSolaris용 CDDL-1.0(Common Development and Distribution License) 및 리눅스용 GPL-2.0(GNU General Public License) 하에 OSS 소스를 공개했다. 일부 사운드 카드의 드라이버는 비공개 소스로 유지되어 릴리스에 포함되지 않았다.[3] 2008년 1월, 4Front Technologies는 BSD 시스템을 포함한 FreeBSD용 OSS를 BSD 라이선스인 BSD-2-Clause 하에 출시했다.[9]
4. 채택 현황
OSS4는 현재 대부분 커널 소스 코드에 통합되지 않고 독립 실행형 소프트웨어로 존재한다. 예외는 Boomer라고 하는 OSS4의 포크를 사용하는 솔라리스와 오픈솔라리스이다. 이것은 OSS4 프레임워크(오디오 및 믹서)와 Sun의 이전 SADA API(/dev/audio)를 결합한다.[10]
우분투와 같은 리눅스 배포판은 OSS4를 자유 소프트웨어로 만든 후 소프트웨어 패키지로 사용할 수 있게 했지만, 이러한 패키지에 대해 제기된 버그는 무시하기로 결정했다.[11]
OSS API는 여전히 영향력이 크다. NetBSD 문서는 이를 "FreeBSD 및 Solaris에서 선호되는 API"라고 설명한다.[12] FreeBSD는 자체 개발한 OSS API 구현을 포함하며, 인-커널 리샘플링, 믹싱, 이퀄라이저, 서라운드 사운드, 개별 응용 프로그램 볼륨 제어, 비트 퍼펙트 모드를 지원한다.[13] NetBSD는 `soundcard.h` 헤더 파일과 `libossaudio` 라이브러리를 통해 OSS API 호환 모드를 제공한다.[12] 리눅스는 ALSA로 전환했지만, 선택적인 인-커널 OSS 에뮬레이션 모드와 사용자 공간 `aoss` 프로그램을 제공한다.[14][15]
4. 1. 코드
OSS4는 현재 대부분 커널 소스 코드에 통합되지 않고 독립 실행형 소프트웨어로 존재한다. 예외는 Boomer라고 하는 OSS4의 포크를 사용하는 솔라리스와 오픈솔라리스이다. 이것은 OSS4 프레임워크(오디오 및 믹서)와 Sun의 이전 SADA API(/dev/audio)를 결합한다.[10]우분투와 같은 리눅스 배포판은 OSS4를 자유 소프트웨어로 만든 후 소프트웨어 패키지로 사용할 수 있게 했지만, 이러한 패키지에 대해 제기된 버그는 무시하기로 결정했다.[11]
4. 2. API
OSS API는 `open()`, `read()`, `write()`, `ioctl()`과 같은 전통적인 유닉스 프레임워크를 사용하도록 설계되었다. 예를 들어, 사운드 입출력 기본 장치는 '''/dev/dsp'''이다. 셸을 사용하여 다음과 같은 작업을 할 수 있다.- `cat /dev/random > /dev/dsp` : 스피커를 통해 백색 소음을 재생한다.
- `cat /dev/dsp > a.a` : 마이크에서 데이터를 읽어 `a.a` 파일로 복사한다.
OSS는 /dev/audio 인터페이스를 구현한다. 개별 사운드 장치에 대한 자세한 접근은 `/dev/oss` 디렉토리를 통해 제공된다. OSS는 `/dev/sequencer`, `/dev/music` (둘 다 레거시) 및 `/dev/mini`에서 MIDI를 지원한다.[4][5]
리눅스에서 OSS4는 오픈 소스 대체재인 ALSA를 에뮬레이션할 수도 있다.[6]
OSS API는 여전히 영향력이 크다. NetBSD 문서는 이를 "FreeBSD 및 Solaris에서 선호되는 API"라고 설명한다.[12]
FreeBSD는 자체 개발한 OSS API 구현을 포함하며, 인-커널 리샘플링, 믹싱, 이퀄라이저, 서라운드 사운드, 개별 응용 프로그램 볼륨 제어, 비트 퍼펙트 모드를 지원한다.[13]
NetBSD는 `soundcard.h` 헤더 파일과 `libossaudio` 라이브러리를 통해 OSS API 호환 모드를 제공한다.[12]
리눅스는 ALSA로 전환했지만, 선택적인 인-커널 OSS 에뮬레이션 모드와 사용자 공간 `aoss` 프로그램을 제공한다.[14][15]
5. OSS/3D
OSS/3D는 음악 플레이어용 플러그인으로, 오디오 후처리 엔진 역할을 한다. 윈앰프, 윈도우 미디어 플레이어 (9 이상), 푸바2000 등 다양한 플레이어를 지원한다. 윈도우 및 리눅스 플랫폼에 이식되었으며, OSS와 달리 셰어웨어이다.
4Front OSS3D는 이후 Joesoft Hear로 이름이 변경되었다.[16]
6. 비판
JACK 오디오 연결 키트의 폴 데이비스와 경쟁 제품인 PulseAudio의 레나트 포터링 등 일부 개발자들은 OSS를 API 및 소프트웨어로서 비판했다.[17][18]
7. 라이선스
OSS는 원래 Hannu Savolainen이 개발한 리눅스 커널 사운드 드라이버인 "VoxWare"였다. Savolainen은 해당 코드를 자유 소프트웨어 라이선스, 즉 리눅스용 GPL과 BSD 배포판용 BSD 라이선스로 공개했다.[7] 1993년 11월부터 1997년까지 OSS는 FreeBSD 및 리눅스에서 유일한 사운드 시스템이었다. 1997년 Luigi Rizzo가 FreeBSD용 새로운 "pcm" 드라이버를 작성하고, 1998년 Jaroslav Kysela가 ALSA(Advanced Linux Sound Architecture)를 시작하면서 이 상황은 바뀌었다.[8]
2002년, Savolainen은 4Front Technologies와 계약을 맺고 최신 사운드 장치 지원 및 개선 사항을 포함하는 차기 OSS 4를 독점 소프트웨어로 개발했다. 이에 리눅스 커뮤니티는 커널에 포함된 OSS/free 구현을 포기하고 ALSA(Advanced Linux Sound Architecture) 개발에 노력을 집중했다. FreeBSD는 1999년에 시작된 "newpcm" 프로젝트로 전환하여 영향을 받지 않았다.[8]
2007년 7월, 4Front Technologies는 OpenSolaris용 CDDL 및 리눅스용 GPL 하에 OSS 소스를 공개했다. 일부 사운드 카드의 드라이버는 폐쇄 소스로 유지되어 릴리스에 포함되지 않았다.[3] 2008년 1월, 4Front Technologies는 FreeBSD를 포함한 BSD 시스템용 OSS를 BSD 라이선스인 BSD-2-Clause 하에 출시했다.[9]
참조
[1]
간행물
OSS v4.2 build 2019
https://web.archive.[...]
2019-05-10
[2]
웹사이트
OSS Download Registration
http://www.opensound[...]
[3]
간행물
4Front technologies releases the source code for open sound system
https://web.archive.[...]
Linux PR
2012-01-08
[4]
웹사이트
OSS v4.x API reference - OSS API basics
http://manuals.opens[...]
[5]
웹사이트
Open Sound System (3.x) Programmer's Guide
http://www.opensound[...]
2000-01-01
[6]
웹사이트
Tips And Tricks - Open Sound System
http://www.opensound[...]
[7]
웹사이트
Linux 0.99 patchlevel 14 - Diff - 75bb5836a8a8c0ee44ffd60a51f357b9568f1381^! - pub/scm/linux/kernel/git/nico/archive - Git at Google
https://kernel.googl[...]
2024-03-22
[8]
웹사이트
Sound - FreeBSD Wiki
https://wiki.freebsd[...]
[9]
간행물
4Front Technologies releases OSS for FreeBSD under the BSD license
opensound.com
2012-01-08
[10]
간행물
Hannu's Blog » Boomer
https://web.archive.[...]
4front-tech.com
2012-01-08
[11]
간행물
Ubuntu Documentation: OpenSound
ubuntu.com
2012-01-08
[12]
웹사이트
ossaudio(3) - NetBSD Manual Pages
https://man.netbsd.o[...]
[13]
간행물
sound
Freebsd.org
2009-07-13
[14]
간행물
OSS Emulation
https://web.archive.[...]
2012-07-07
[15]
웹사이트
aoss(1) — Arch manual pages
https://man.archlinu[...]
[16]
간행물
· Obsolete product reference
Yohng.com
2012-01-08
[17]
웹사이트
A tutorial on using the ALSA Audio API
http://equalarea.com[...]
[18]
웹사이트
Interview with Lennart Poettering (LinuxFR.org) [LWN.net]
https://lwn.net/Arti[...]
[19]
웹사이트
4front technologies releases the source code for open sound system
http://www.linuxpr.c[...]
2008-05-08
[20]
웹사이트
4Front Technologies releases OSS for FreeBSD under BSD license
http://www.opensound[...]
2008-05-08
[21]
간행물
OSS v4.2 build 2019
https://web.archive.[...]
2019-05-10
[22]
웹인용
OSS Download Registration
http://www.opensound[...]
[23]
웹 인용
보관된 사본
https://web.archive.[...]
2011-02-05
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com
