펄스 오디오
PulseAudio![]() |
![]() | |
![]() 스크린샷 | |
개발자 |
|
---|---|
초기 릴리즈 | 2004년 7월 17일; [1] | 전(
안정된 릴리스 | 2021년[2] 7월 27일 .0, 전( |
저장소 | gitlab |
기입처 | C[3] |
운영 체제 | FreeBSD, NetBSD, OpenBSD, Linux, Illumos, Solaris, macOS 및 Microsoft Windows(유지관리되지 않음) |
플랫폼 | ARM, PowerPC, x86 / IA-32, x86-64 및 MIPS |
유형 | 사운드 서버 |
면허증. | LGPL-2.1 이후[4] |
웹 사이트 | pulseaudio.org |
Pulse Audio는 freedesktop.org 프로젝트를 통해 배포되는 네트워크 지원 사운드 서버 프로그램입니다.Linux, FreeBSD, OpenBSD 등의 다양한 BSD 디스트리뷰션, macOS, Illumos 디스트리뷰션 및 Solaris 운영체제에서 주로 실행됩니다.
Pulse Audio는 무료 오픈 소스 소프트웨어이며 LGPL-2.1 [4]이후 조건에 따라 라이센스가 부여됩니다.
2004년에 Polypaudio라는 이름으로 만들어졌지만 2006년에 PulseAudio로 [5]이름이 변경되었습니다.
역사
Microsoft Windows는 이전에 MinGW(GCC 및 binutils 등의 다양한 툴을 포함하는 GNU 툴체인의 구현)를 통해 지원되었습니다.그러나 [6]2011년 이후 Windows 포트는 업데이트되지 않았습니다.
소프트웨어 아키텍처
넓은 의미에서 ALSA는 사운드하드웨어 드라이버를 제공하는 커널 서브시스템이며, PulseAudio는 애플리케이션과 ALSA 사이의 인터페이스 엔진입니다.단, Pulse Audio를 사용하지 않아도 음성을 재생 및 혼합할 수 있습니다.
PulseAudio는 사운드서버로서 기능하며, 여기서 1개 이상의 소스(프로세스, 캡처 디바이스 등)로부터의 사운드 입력을 받아들이는 백그라운드프로세스가 생성됩니다.백그라운드 프로세스는 이러한 음원을 하나 이상의 싱크(사운드 카드, 원격 네트워크 PulseAudio 서버 또는 기타 프로세스)[7]로 리디렉션합니다.
Pulse Audio의 목표 중 하나는 하드웨어(레거시 OSS 애플리케이션 등)에 직접 접속을 시도하는 프로세스를 포함하여 모든 사운드 스트림을 Pulse Audio를 통해 재루팅하는 것입니다.PulseAudio는 aRts나 ESD 등 다른 오디오시스템을 사용하는 어플리케이션에 어댑터를 제공함으로써 이를 실현합니다.
Linux의 일반적인 설치 시나리오에서는 사용자가 PulseAudio에서 제공하는 가상 디바이스를 사용하도록 ALSA를 설정합니다.따라서 ALSA를 사용하는 어플리케이션은 PulseAudio에 사운드를 출력하고 PulseAudio는 ALSA 자체를 사용하여 실제 사운드카드에 액세스 합니다.또한 PulseAudio는 직접 PulseAudio를 지원하는 응용 프로그램에 대한 자체 네이티브 인터페이스와 ESD 응용 프로그램용 레거시 인터페이스를 제공하여 ESD의 드롭인 대체품으로 적합합니다.
OSS 어플리케이션의 경우 Pulse Audio는padsp
다음과 같은 디바이스 파일을 대체하는 유틸리티/dev/dsp
어플리케이션으로 하여금 사운드 카드를 독점적으로 제어할 수 있다고 믿게 합니다.실제로는 출력은 PulseAudio를 통해 재루팅됩니다.
libcanberra
libcanberra는 데스크톱 이벤트 사운드를 위한 추상 API로 "PulseAudio 샘플 캐시 API"를 완전히 대체합니다.
- XDG 사운드 테마 및 명명 사양을 준수합니다.
- 이벤트 [8]사운드를 재생하기 위한 단순한 추상 인터페이스를 정의합니다.
- libasound를 [9]통해 ALSA와 인터페이스합니다.
- Pulse Audio에 [10]백엔드가 있습니다.
libSydney
libSydney는 "PulseAudio 스트리밍 API"를 완전히 대체한 것으로, libSydney가 최종적으로 PulseAudio에서 [11]사용되는 유일한 오디오 API가 될 계획이 세워졌습니다.
특징들
Pulse Audio의 주요 기능은 다음과 같습니다.[7]
- 애플리케이션별 볼륨 컨트롤.[12]
- 로드 가능한 모듈을 지원하는 확장 가능한 플러그인 아키텍처입니다.
- 일반적인 오디오 [13]애플리케이션과의 호환성.
- 여러 오디오 소스 및 싱크 지원
- 프로세서의 자원 효율을 실현하는 제로 카피 메모리 아키텍처.
- 로컬 네트워크에서 PulseAudio를 사용하여 다른 컴퓨터를 검출하고 스피커를 통해 직접 사운드를 재생할 수 있습니다.
- 사운드 재생 중 사운드 재생에 사용하는 출력 디바이스 애플리케이션을 변경할 수 있습니다(애플리케이션에서는 이를 지원할 필요가 없습니다.PulseAudio는 발생을 검출하지 않고 실행할 수 있습니다).
- 스크립트 기능을 갖춘 명령줄 인터페이스.
- 명령줄 재구성 기능이 있는 사운드 데몬.
- 내장된 샘플 변환 및 재샘플링 기능
- 여러 사운드 카드를 하나로 결합할 수 있습니다.
- 여러 재생 스트림을 동기화하는 기능.
- 다이내믹 검출 기능을 갖춘 블루투스 오디오 디바이스 지원.
- 시스템 전체의 등화를 유효하게 하는 기능.
도입
PulseAudio는 Fedora Linux에서 처음 일반 사용자를 위해 버전 [14]8부터 등장했으며 Ubuntu, Debian,[15] Mandriva Linux 및 openSUSE와 같은 주요 Linux 디스트리뷰션에서 채택되었습니다.GNOME 프로젝트와 KDE에서는 PulseAudio가 Plasma Workspaces에 통합되어 있으며, Phonon(KDE 멀티미디어 프레임워크)과 KMix(통합 믹서 애플리케이션)에 대한 지원뿐 아니라 "스피커 설정" GUI를 추가하여 멀티 채널 스피커 구성을 지원합니다.PulseAudio는 Illumos 디스트리뷰션 OpenIndiana에서도 사용할 수 있으며 MATE 데스크톱 환경에서 기본적으로 활성화됩니다.
Nokia N900, Nokia N9 및 Palm[16] Pre를 포함한 다양한 Linux 기반 모바일 기기는 PulseAudio를 사용합니다.
인텔과 삼성으로 구성된 테크니컬 스티어링 그룹(TSG)이 관리하는 리눅스 재단의 프로젝트인 오픈소스 모바일 운영체제 타이젠은 펄스오디오를 사용한다.
도입 단계에서의 문제
- PortAudio API는 PulseAudio의 설계와 호환되지 않아 [17]수정이 필요했습니다.OSS를 사용하는 거의 모든 패키지와 ALSA를 사용하는 대부분의 패키지는 PulseAudio를 [18]지원하도록 수정해야 했습니다.글리치 없는 오디오 기능의 추가 개발에는 PulseAudio 코어의 완전한 개서가 필요했으며, ALSA API 및 내부로의 변경도 [19][20]필요했습니다.
- 배포판에 의해 처음 채택되었을 때, PulseAudio 개발자인 Lennart Poetering(또한 systemd의 제작자)은 이 소프트웨어를 "현재 오디오를 [21]망가뜨리는 소프트웨어"라고 표현했다.포테링은 나중에 "우분투는 정말 훌륭한 일을 하지 못했다.Ubuntu "Hardy Heron" (8.04)에 PulseAudio를 채택한[22] 것은 숙제를 하지 않았습니다.이 문제는 Ubuntu의 [23]후속 릴리즈에서 개선되었습니다.그러나 2009년 10월 Poetering은 Ubuntu의 PulseAudio [24]통합에 대해 여전히 만족하지 못한다고 보고하였다.
- 특정 소프트웨어에 의한 오래된 사운드 컴포넌트와의 상호작용:Linux용 Adobe Flash 등의 특정 프로그램으로 인해 PulseAudio가 [25][26]불안정하게 되었습니다.새로운 플래시 플러그인 구현에서는 충돌하는 요소가 필요하지 않으므로 Flash와 PulseAudio가 호환됩니다.
- 버퍼 오버/언더런의 조기 관리: 이전 버전의 Pulse Audio는 버퍼 오버/[27]언더런의 잘못된 처리로 인해 처리된 오디오가 왜곡되기 시작했습니다.
- 헤드폰 사용자의 경우,[28][29][30][31] 애플리케이션이 잘못 동작할 경우 매우 큰 음량으로 인한 소음으로 인한 난청이 발생할 수 있습니다.
관련 소프트웨어
기타 사운드 서버
JACK은 실시간 저레이텐시(5밀리초 이하) 오디오 퍼포먼스를 제공하는 사운드 서버입니다.JACK2에서는 대칭형 멀티프로세싱을 사용하여 효율적인 로드밸런싱을 지원합니다.즉, 모든 오디오 클라이언트의 부하를 여러 프로세서로 분산할 수 있습니다.JACK은 Ardour, ReZound, LinuxSampler 등의 프로페셔널 오디오 애플리케이션에 적합한 사운드 서버입니다.여러 무료 오디오 프로덕션 배포판에서는 기본 오디오 서버로 사용합니다.
JACK 와 PulseAudio 는 공존할 수 있습니다.JACK 가 동작하고 있는 동안, PulseAudio 는 자동적으로 JACK 클라이언트로서 접속할 수 있기 때문에, PulseAudio 클라이언트는 JACK [32]클라이언트와 동시에 소리를 내고 녹음할 수 있습니다.
PipeWire는 "현재 PulseAudio와 [33][34]Jack이 모두 처리하는 사용 사례를 지원하는" 오디오 및 비디오 서버입니다.
일반적인 오디오 인프라스트럭처
JACK 및 Pulse Audio 이전에는 이러한 시스템의 사운드는 다목적 통합 오디오 솔루션에 의해 관리되었습니다.이러한 솔루션은 믹싱과 사운드 스트리밍 프로세스를 완전히 커버하는 것은 아니지만, JACK과 PulseAudio는 최종 오디오 스트림을 사운드 카드로 전송하기 위해 계속 사용합니다.
- ALSA는 PulseAudio 이전에 개발된 dmix라는 소프트웨어 믹서를 제공합니다.이것은 거의 모든 Linux 디스트리뷰션에서 사용할 수 있으며, 보다 심플한 PCM 오디오 믹싱 솔루션입니다.Pulse Audio의 고급 기능(타이머 기반 스케줄링이나 네트워크 오디오 등)은 제공하지 않습니다.한편, ALSA는, 대응하는 사운드 카드나 소프트웨어와 조합하면, 낮은 레이텐시를 실현합니다.
- OSS는 Linux 및 기타 Unix 운영 체제에서 사용된 최초의 사운드 시스템이었지만 2.5 Linux [35]커널 이후 폐지되었습니다.4Front Technologies는 2007년 7월에 OSS용 소스를 OpenSolaris용 CDDL-1.0으로,[36] Linux용 GPL-2.0-로 발표했습니다.최신 구현인 Open Sound System v4는 애플리케이션별로 볼륨의 소프트웨어 믹싱, 리샘플링 및 변경을 제공합니다.Pulse Audio와 달리 이러한 기능은 커널 내에서 구현됩니다.OpenIndiana 및 기타 Illumos 배포에서의 PulseAudio 지원은 커널 내 OSS 구현("Boomer")에 의존합니다.
「 」를 참조해 주세요.
레퍼런스
- ^ "OldNews". freedesktop.org.
- ^ "16.0". www.freedesktop.org. Retrieved 29 May 2022.
- ^ "PulseAudio", Analysis Summary, Open Hub
- ^ a b "License", PulseAudio git, Free desktop, archived from the original on 4 March 2014, retrieved 16 June 2011
- ^ The Project Formerly Known as Polypaudio
- ^ PulseAudio on Windows
- ^ a b "About", PulseAudio, Free desktop, retrieved 11 March 2013
- ^ webmaster@debian.org, Debian Webmaster. "Debian -- Package Search Results -- libcanberra". packages.debian.org.
- ^ webmaster@debian.org, Debian Webmaster. "Debian -- Package Search Results -- libasound". packages.debian.org.
- ^ webmaster@debian.org, Debian Webmaster. "Debian -- Package Search Results -- libcanberra-pulse". packages.debian.org.
- ^ Poettering, Lennart (8 February 2007). "FOMS/LCA Recap". 0pointer.de. Retrieved 13 March 2017.
- ^ Poettering, Lennart, "Interviews", Fedora Project, Red Hat, retrieved 3 July 2009
- ^ Pulse Audio wiki, PulseAudio, archived from the original on 31 August 2009, retrieved 19 July 2009
- ^ "LPC: Linux audio: it's a mess [LWN.net]". 18 September 2008. Retrieved 11 July 2019.
- ^ PulseAudio, Debian, archived from the original (wiki) on 9 November 2013, retrieved 9 November 2013
- ^ "Open source identity: PulseAudio creator Lennart Poettering", TechWorld, 8 October 2009
- ^ Poettering, Lennart (25 September 2004). "Writing a PortAudio driver". audio.portaudio.devel. git.net. Retrieved 28 February 2017.
- ^ Poettering, Lennart. "PulseAudio is now enabled by default on new Fedora installs". Fedora Development ML. Red Hat. Retrieved 1 March 2017.
- ^ "Features: Glitch-free Audio". Fedora Project Wiki. Retrieved 28 February 2017.
- ^ Poettering, Lennart. "Alsa Issues". PulseAudio - Trac. Archived from the original on 16 October 2008. Retrieved 28 February 2017.
- ^ LPC: Linux audio: it's a mess, LWN, 18 September 2008, archived from the original on 1 September 2009, retrieved 3 July 2009
- ^ Lennart Poettering (18 July 2008), PulseAudio FUD, 0pointer.de, archived from the original on 2 September 2009, retrieved 30 December 2009
- ^ How-to: PulseAudio Fixes & System-Wide Equalizer Support, Ubuntu Forums, 10 May 2008, archived from the original on 1 March 2010, retrieved 18 October 2009
- ^ I'll Break Your Audio, Lennart Poettering Blog, 19 October 2009, retrieved 26 December 2009
- ^ No sound after running Flash, YouTube, etc. (pulseaudio solution), Ubuntu Forums, archived from the original on 29 February 2012, retrieved 18 October 2009
- ^ PulseAudio, Ubuntu Wiki, archived from the original on 25 February 2011, retrieved 18 October 2009
- ^ "Over-optimistic buffering in PulseAudio causes underruns (audible stuttering, pops)". Launchpad. Retrieved 9 November 2013.
- ^ "46466 - PulseAudio needs a way for the user to set inviolable maximum volume". Bugzilla. Retrieved 6 October 2021.
- ^ "[SOLVED] disabling pulseaudio - Page 3". Linux Questions. Retrieved 6 October 2021.
- ^ "Bug #410948 'Volume too loud' : Bugs : pulseaudio package". Ubuntu. Retrieved 6 October 2021.
- ^ "#837637 - Audio settings often reset to 100% Volume". Debian Bug report logs. Retrieved 6 October 2021.
- ^ "로드 가능한 모듈"을 참조하십시오.모듈, Freedesktop.org, https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/Modules/#index9h2, 2019년 8월 28일 취득
- ^ "PipeWire". pipewire.org.
- ^ "On the Road to Fedora Workstation 31 — Christian F.K. Schaller".
- ^ An introduction to Linux sound systems and APIs, Linux.com, 9 August 2004, archived from the original on 19 October 2014, retrieved 23 March 2013,
OSS is available not only for Linux but also for BSD OSes and other Unixes. That may be its only advantage, because this system is not very powerful and was officially replaced by ALSA in 2.5 kernels...
- ^ 를 클릭합니다4Front technologies releases the source code for open sound system, Linux PR, 14 June 2007, retrieved 8 January 2012.
외부 링크
