경고
최신 소스는 일부 핵심 구성 요소에 새 이름을 사용합니다.
bluealsa
데몬은 이제 bluealsad
라고합니다bluealsa-cli
유틸리티는 이제 bluealsactl
이라고합니다자세한 내용은 릴리스 4.3.1 이상에서 마이그레이션하는 위키 가이드를 참조하십시오.
이 프로젝트는 Bluez와 ALSA의 직접적인 통합의 재창조입니다. Bluez> = 5 이후, 제 3 자 오디오 응용 프로그램을 위해 내장 통합이 제거되었습니다. 이제부터 Bluez는 오디오 애플리케이션 간의 미들웨어 역할을하며 Bluetooth 오디오 프로필과 Bluetooth 오디오 장치를 구현합니다.
현재 상태는 오디오를/Bluetooth 장치로 스트리밍하기 위해 Pipewire 또는 Pulseaudio와 같은 일반 목적 오디오 서버를 설치하거나 감가 상승 및 인재되지 않은 Bluez 버전 4를 사용해야한다는 것입니다.
이 프로젝트는 Bluealsa라는 제품을 생성하고 유지 관리하며 Pulseaudio와 동일한 Bluetooth 오디오 프로필 지원을 달성 할 수 있지만 소프트웨어 스택의 종속성이 적고 낮은 수준으로 제공됩니다. Bluealsa는 알려진 모든 Bluetooth 오디오 프로파일을 Bluez에 등록하므로 이론적으로 모든 Bluetooth 장치 (오디오 기능)를 연결할 수 있습니다.
Bluealsa는 Pulseaudio 또는 Pipewire의 고급 오디오 관리 기능이 필요하지 않은 작고 저전력의 전용 오디오 또는 오디오/비주얼 시스템에서 특별히 설계되었습니다. 대상 시스템은 각 Bluetooth 오디오 스트림을 사용하여 한 번에 하나의 응용 프로그램과 함께 ALSA와 직접 인터페이스하는 모든 오디오 응용 프로그램과 올바르게 작동 할 수 있어야합니다. 이러한 시스템에서 Bluealsa는 기존 ALSA 사운드 카드 지원에 Bluetooth 오디오 지원을 추가합니다. 이것은 응용 프로그램이 ALSA API의 기능에 의해 제한되며 Pulseaudio 및 PipeWire와 같은 오디오 서버의 고급 오디오 처리 기능을 사용할 수 없음을 의미합니다.
Bluealsa는 Daemon bluealsad
, ALSA 플러그인 및 다수의 유틸리티로 구성됩니다. 기본 컨텍스트는이 다이어그램에 표시됩니다.
흐름도 TD
ClassDef 외부 충전 :#eee, 스트로크 :#333, 뇌졸중 범위 : 4px, 색상 : 검은 색;
ClassDef Bluealsa Fill :#BBF, 스트로크 :#333, 뇌졸중 득점 : 4px, 색상 : 검은 색;
A [Bluetooth 어댑터] <--> b ((bluetoothd <br/> 데몬))
a <--> c ((Bluealsad 데몬))
b <-dbus-> c
c <-dbus-> g ((bluealsactl))
c <-dbus-> d ((bluealsa-aplay))
d-> e ([Alsa libasound])
e-> k [스피커]
c <-dbus-> f ((bluealsa <br/> alsa 플러그인))))
f <--> h ([alsa libasound])
h <-> i ((alsa <br/> 응용 프로그램))
c <-dbus-> j (( "기타 d- 부스 <br/> 클라이언트")))
C <-> L ((Alsa Midi <br/> 시퀀서))
l <--> m ([alsa libasound])
m <--> n ((Alsa Midi <br/> 응용 프로그램)))
클래스 A, B, E, H, I, J, K, L, M, N 외부;
클래스 C, D, F, G Bluealsa;
Bluealsa의 심장은 Blueetooth Daonm bluetoothd
및 로컬 Bluetooth 어댑터와 인터페이스하는 데몬 bluealsad
알 사드입니다. A2DP, HFP 및 HSP의 프로필 연결 및 구성 로직을 처리하고 결과 오디오 스트림을 D- 버스를 통해 응용 프로그램에 제시합니다.
Bluealsa에는 모든 D-BUS 세부 사항을 숨기고 ALSA PCM 및 Mixer 인터페이스를 사용할 수있는 ALSA 플러그인이 포함되어있어 기존 ALSA 응용 프로그램이 사운드 카드 PCM 및 믹서를 사용하는 것과 동일한 방식으로 Bluetooth 오디오 장치에 액세스 할 수 있습니다.
BLE MIDI의 경우 데몬은 ALSA MIDI 시퀀서에서 직접 간단한 MIDI 포트를 생성하므로 ALSA MIDI 애플리케이션은 로컬 MIDI 장치에 연결하는 것과 같은 방식으로 원격 BLE MIDI 장치에 연결할 수 있습니다.
Bluealsa에는 여러 유틸리티 애플리케이션도 포함되어 있습니다. 특히 다음과 같습니다.
bluealsactl
Bluealsa 시스템의 명령 줄 관리를 허용하는 응용 프로그램.
Bluealsa-Aplay
Bluealsa를 사용하여 Bluetooth 스피커를 구축하는 작업을 단순화하기위한 응용 프로그램.
Bluealsa-rfcomm
HFP/HSP 장치 용 RFCOMM 터미널에 대한 액세스를 제공하는 명령 줄 애플리케이션.
빌드 및 설치 지침은 파일 install.md에 포함되며 Wiki에서는 자세한 지침을 사용할 수 있습니다.
Bluealsa의 주요 구성 요소는 bluealsad
라는 프로그램입니다. 기본적 으로이 프로그램은 시스템 시작 중에 루트로 실행됩니다. D-BUS 시스템 버스에 org.bluealsa
서비스를 등록하며 구성된 오디오 장치에 액세스하는 데 사용할 수 있습니다. 일반적으로 Bluealsa는 Bluez와 Alsa의 대리 역할을합니다.
bluealsad
데몬은 원격 블루투스 오디오 장치를 페어링, 연결 및 사용하려면 실행 중입니다. 오디오를 예를 들어 블루투스 헤드셋으로 스트리밍하려면 먼저 장치를 연결해야합니다. Linux의 Bluetooth 페어링 및 연결 절차에 익숙하지 않은 경우 Wiki : Bluetooth 페어링 및 연결에 기본 안내서가 있습니다.
bluealsad
의 명령 줄 옵션에 대한 자세한 내용은 Bluealsad 매뉴얼 페이지를 참조하십시오.
Bluetooth 오디오 장치가 연결되면 다른 PCM 장치와 마찬가지로 ALSA 애플리케이션과 함께 bluealsa
Virtual PCM 장치를 사용할 수 있습니다.
aplay -D bluealsa Bourree_in_E_minor.wav
두 개 이상의 Bluetooth 장치가 연결되어 있으면 대상 장치를 PCM의 매개 변수로 지정할 수 있습니다.
aplay -D bluealsa:XX:XX:XX:XX:XX:XX, Bourree_in_E_minor.wav
이 PCM 장치는 ALSA 소프트웨어 PCM I/O 플러그인을 기반으로합니다. 관련 사운드 카드가 없으며 ALSA 커널 프로세스 인터페이스에서 사용할 수 없습니다.
bluealsa
PCM 장치의 설정 매개 변수는 다음과 같은 로컬 .asoundrc
구성 파일에서 설정할 수 있습니다.
cat ~ /.asoundrc
defaults.bluealsa.service " org.bluealsa "
defaults.bluealsa.device " XX:XX:XX:XX:XX:XX "
defaults.bluealsa.profile " a2dp "
defaults.bluealsa.delay 10000
Bluealsa는 또한 연결된 Bluetooth 장치에서 오디오를 캡처 할 수 있습니다. 그렇게하려면 캡처 PCM 장치를 사용해야합니다.
arecord -D bluealsa -f s16_le -c 2 -r 48000 capture.wav
고품질 오디오에 사용되는 A2DP 프로파일 외에도 Bluealsa는 SCO 링크를 통해 전화 오디오 연결을 사용할 수 있습니다. 사양의 오디오 관련 부분만을 구현하는 내장 HSP/HFP 지원 또는 OfOno 서비스를 백엔드로 사용하는 내장 HSP/HFP 지원을 사용할 수 있습니다. SCO 오디오 연결을 열려면 하나는 다음과 같이 sco
프로파일로 전환해야합니다.
aplay -D bluealsa:DEV=XX:XX:XX:XX:XX:XX,PROFILE=sco Bourree_in_E_minor.wav
입력 또는 출력 오디오 레벨을 제어하기 위해 제공된 bluealsa
Control 플러그인을 사용할 수 있습니다. 이 플러그인은 오디오 스트림의 볼륨을 조정하거나 간단히 음소거/퇴치하지 않습니다.
amixer -D bluealsa sset ' <control name> ' 70%
제어 이름이 제어 요소 접미사가있는 연결된 Bluetooth 장치의 이름 인 경우 : 예 :
amixer -D bluealsa sset ' Jabra MOVE v2.3.0 A2DP ' 50%
Bluealsa ALSA PCM 장치 및 믹서 장치에 대한 자세한 내용은 Bluealsa 플러그인 설명서 페이지를 참조하십시오.
Bluez-Alsa Project Wiki에 대한 여러 기사가 있으며이 플러그인을 사용하는 더 많은 예를 제공합니다.
보다 고급 ALSA 구성을 보려면 ALSAPROJECT WIKI 페이지에서 제공하는 ASOUNDRC 온라인 문서를 참조하십시오.
Bluealsa를 사용하여 Bluetooth 구동 스피커를 만들 수 있습니다. 이를 위해서는 Bluealsa 캡처 PCM에서 오디오 신호를 다른 재생 PCM (예 : 내장 오디오 카드)으로 전달해야합니다. 이 작업을 단순화하기 위해 Bluealsa는 간단한 Bluealsa 플레이어 역할을하는 bluealsa-aplay
라는 프로그램을 포함합니다. Bluetooth 장치 (예 : 스마트 폰)를 연결하고 다음과 같이 수행하십시오.
bluealsa-aplay XX:XX:XX:XX:XX:XX
bluealsa-aplay
의 명령 줄 옵션에 대한 자세한 내용은 Bluealsa-Aplay 매뉴얼 페이지를 참조하십시오. Bluez-Alsa Project Wiki에 대한 몇 가지 기사가 있습니다.
사용 가능한 Bluealsa PCM (오디오 기능이있는 연결된 Bluetooth 장치에서 제공) 목록은 Bluealsa D-Bus API에서 직접 또는 bluealsa-aplay
다음과 같이 편리한 래퍼로 사용하여 얻을 수 있습니다.
bluealsa-aplay -L
이 프로젝트는 코드, 문서 및 테스트의 기여를 환영합니다.
자세한 내용은 기고 안내서를 참조하십시오.
가장 일반적으로 발생하는 오류는 문제 해결 안내서에서 논의됩니다. 해당 파일을 확인하여 이미 문제에 대한 솔루션이 있는지 확인하십시오.
해당 문서에서 솔루션을 찾을 수 없거나 수동 페이지를 읽으면 이전 문제 (열린 및 닫기)를 검색하고 새 문제를 제기하기 전에 Wiki와 상담하십시오. 불행히도 Wiki는 웹 검색 엔진에 의해 색인되지 않으므로 문제를 온라인으로 검색하면 정보가 발견되지 않습니다.
문제를 새로운 문제로보고하는 경우 적절한 Bluez-Alsa Github 문제보고 템플릿을 사용하고 템플릿의 각 섹션을 가능한 한 완전히 완료하십시오.
Bluealsa는 MIT 라이센스의 조건에 따라 라이센스가 부여됩니다. 자세한 내용은 라이센스 파일을 참조하십시오.