คำเตือน
แหล่งข่าวล่าสุดใช้ชื่อใหม่สำหรับส่วนประกอบหลักบางส่วน:
bluealsa
daemon เรียกว่า bluealsad
bluealsa-cli
เรียกว่า bluealsactl
ดูคู่มือ Wiki ที่ย้ายจากรีลีส 4.3.1 หรือก่อนหน้านี้สำหรับข้อมูลเพิ่มเติม
โครงการนี้เป็นการเกิดใหม่ของการรวมโดยตรงระหว่าง Bluez และ ALSA เนื่องจาก Bluez> = 5 การรวมในตัวได้ถูกลบออกเพื่อสนับสนุนแอปพลิเคชันเสียงของบุคคลที่สาม จากนี้ไป Bluez ทำหน้าที่เป็นมิดเดิลแวร์ระหว่างแอปพลิเคชันเสียงซึ่งใช้โปรไฟล์เสียงบลูทู ธ และอุปกรณ์เสียงบลูทู ธ
สถานะปัจจุบันที่เป็นอยู่คือในการสตรีมเสียงจาก/ไปยังอุปกรณ์บลูทู ธ เราต้องติดตั้งเซิร์ฟเวอร์เสียงอเนกประสงค์ทั่วไปเช่น Pipewire หรือ Pulseaudio หรือใช้ Bluez เวอร์ชัน 4 ซึ่งเลิกใช้แล้ว
โครงการนี้สร้างและดูแลผลิตภัณฑ์ที่เรียกว่า Bluealsa ซึ่งสามารถได้รับการสนับสนุนโปรไฟล์เสียงบลูทู ธ เดียวกันเช่นเดียวกับ Pulseaudio แต่มีการพึ่งพาน้อยลงและในระดับที่ต่ำกว่าในสแต็กซอฟต์แวร์ Bluealsa Registers ทั้งหมดที่รู้จักกันดีโปรไฟล์เสียงบลูทู ธ ใน Bluez ดังนั้นในทางทฤษฎีทุกอุปกรณ์บลูทู ธ (พร้อมความสามารถด้านเสียง) สามารถเชื่อมต่อได้
BlueAlsa ได้รับการออกแบบมาโดยเฉพาะสำหรับใช้กับระบบเสียงหรือเสียง/ภาพเฉพาะที่มีพลังต่ำซึ่งมีพลังต่ำซึ่งมีคุณสมบัติการจัดการเสียงระดับสูงของ Pulseaudio หรือ Pipewire ระบบเป้าหมายจะต้องสามารถทำงานได้อย่างถูกต้องด้วยแอปพลิเคชันเสียงทั้งหมดที่เชื่อมต่อโดยตรงกับ ALSA โดยมีแอปพลิเคชันเพียงครั้งเดียวในแต่ละครั้งโดยใช้สตรีมเสียงบลูทู ธ แต่ละรายการ ในระบบดังกล่าว Bluealsa เพิ่มการรองรับเสียงบลูทู ธ ให้กับการรองรับการ์ดเสียง ALSA ที่มีอยู่ โปรดทราบว่าแอปพลิเคชันถูก จำกัด ด้วยความสามารถของ ALSA API และคุณสมบัติการประมวลผลเสียงระดับสูงกว่าของเซิร์ฟเวอร์เสียงเช่น Pulseaudio และ Pipewire ไม่พร้อมใช้งาน
Bluealsa ประกอบด้วย Daemon bluealsad
, Alsa Plug-ins และ Utilities จำนวนมาก บริบทพื้นฐานแสดงในแผนภาพนี้:
ผังงาน TD
การเติมภายนอก classdef:#eee, stroke:#333, จังหวะจังหวะ: 4px, สี: สีดำ;
classdef bluealsa fill:#bbf, stroke:#333, จังหวะจังหวะ: 4px, สี: สีดำ;
A [อะแดปเตอร์บลูทู ธ ] <-> B ((Bluetoothd <br/> Daemon))
A <-> C ((BlueAlsad Daemon)))
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-bus <br/>")))))))))))))))
C <-> L ((Alsa Midi <br/> Sequencer)))
l <-> m ([alsa libasound])
M <-> n ((ALSA MIDI <br/> แอปพลิเคชัน))))
Class A, B, E, H, I, J, K, L, M, N ภายนอก;
คลาส C, D, F, G Bluealsa;
หัวใจของ Bluealsa คือ Daemon bluealsad
ซึ่งเชื่อมต่อกับ Bluez Bluetooth Daemon bluetoothd
และอะแดปเตอร์บลูทู ธ ท้องถิ่น มันจัดการกับการเชื่อมต่อโปรไฟล์และตรรกะการกำหนดค่าสำหรับ A2DP, HFP และ HSP และนำเสนอสตรีมเสียงผลลัพธ์ไปยังแอปพลิเคชันผ่าน D-BUS
BlueAlsa มีปลั๊กอิน ALSA ซึ่งซ่อนเฉพาะ D-BUS ทั้งหมดและแอพพลิเคชั่นอนุญาตให้ใช้ ALSA PCM และอินเทอร์เฟซมิกเซอร์เพื่อให้แอปพลิเคชัน ALSA ที่มีอยู่สามารถเข้าถึงอุปกรณ์เสียงบลูทู ธ ในลักษณะเดียวกับที่ใช้ PCM และเครื่องผสมการ์ดเสียง
ในกรณีของ BLE MIDI Daemon จะสร้างพอร์ต MIDI ที่เรียบง่ายโดยตรงใน Sequencer ALSA MIDI เพื่อให้แอปพลิเคชัน ALSA MIDI สามารถเชื่อมต่อกับอุปกรณ์ BLE MIDI ระยะไกลในลักษณะเดียวกับที่จะเชื่อมต่อกับอุปกรณ์ MIDI ในท้องถิ่น
Bluealsa ยังมีแอปพลิเคชันยูทิลิตี้จำนวนมาก หมายเหตุเฉพาะคือ:
Bluealsactl
แอปพลิเคชันเพื่ออนุญาตการจัดการบรรทัดคำสั่งของระบบ Bluealsa
Bluealsa-Aplay
แอปพลิเคชันเพื่อทำให้งานสร้างลำโพงบลูทู ธ ง่ายขึ้นโดยใช้ Bluealsa
Bluealsa-RfComm
แอปพลิเคชันบรรทัดคำสั่งที่ให้การเข้าถึงเทอร์มินัล RFCOMM สำหรับอุปกรณ์ HFP/HSP
คำแนะนำในการสร้างและติดตั้งจะรวมอยู่ในไฟล์ติดตั้ง MD และคำแนะนำโดยละเอียดเพิ่มเติมมีอยู่ในวิกิ
องค์ประกอบหลักของ Bluealsa เป็นโปรแกรมที่เรียกว่า bluealsad
โดยค่าเริ่มต้นโปรแกรมนี้จะเรียกใช้เป็นรูทในระหว่างการเริ่มต้นระบบ มันจะลงทะเบียนบริการ org.bluealsa
ในบัสระบบ D-bus ซึ่งสามารถใช้สำหรับการเข้าถึงอุปกรณ์เสียงที่กำหนดค่า โดยทั่วไป Bluealsa ทำหน้าที่เป็นตัวแทนระหว่าง Bluez และ Alsa
bluealsad
daemon จะต้องทำงานเพื่อจับคู่เชื่อมต่อและใช้อุปกรณ์เสียงบลูทู ธ ระยะไกล ในการสตรีมเสียงไปยังชุดหูฟังบลูทู ธ อันดับแรกต้องเชื่อมต่ออุปกรณ์ หากคุณไม่คุ้นเคยกับขั้นตอนการจับคู่บลูทู ธ และการเชื่อมต่อบน Linux มีคู่มือพื้นฐานใน Wiki: การจับคู่และการเชื่อมต่อบลูทู ธ
สำหรับรายละเอียดของตัวเลือกบรรทัดคำสั่งไปยัง bluealsad
ให้ปรึกษาหน้าคู่มือ BlueAlsad
เมื่ออุปกรณ์บลูทู ธ เสียงเชื่อมต่อหนึ่งสามารถใช้อุปกรณ์ PCM เสมือนจริงของ bluealsa
กับแอปพลิเคชัน ALSA เช่นเดียวกับอุปกรณ์ PCM อื่น ๆ :
aplay -D bluealsa Bourree_in_E_minor.wav
หากมีอุปกรณ์บลูทู ธ มากกว่าหนึ่งตัวที่เชื่อมต่อกันเป้าหมายสามารถระบุได้ว่าเป็นพารามิเตอร์ของ PCM:
aplay -D bluealsa:XX:XX:XX:XX:XX:XX, Bourree_in_E_minor.wav
โปรดทราบว่าอุปกรณ์ PCM นี้ใช้ปลั๊กอิน PCM I/O ซอฟต์แวร์ ALSA - ไม่มีการ์ดเสียงที่เกี่ยวข้องและจะไม่สามารถใช้งานได้ในอินเตอร์เฟส Kernel Proc ของ Kernel
พารามิเตอร์การตั้งค่าของอุปกรณ์ 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 ยังอนุญาตให้จับเสียงจากอุปกรณ์บลูทู ธ ที่เชื่อมต่อ ในการทำเช่นนั้นเราต้องใช้อุปกรณ์ Capture PCM เช่น:
arecord -D bluealsa -f s16_le -c 2 -r 48000 capture.wav
นอกเหนือจากโปรไฟล์ A2DP ที่ใช้สำหรับเสียงคุณภาพสูง Bluealsa ยังอนุญาตให้ใช้การเชื่อมต่อเสียงโทรศัพท์ผ่านลิงก์ SCO หนึ่งสามารถใช้การสนับสนุน HSP/HFP ในตัวซึ่งใช้เฉพาะส่วนที่เกี่ยวข้องกับเสียงของข้อมูลจำเพาะหรือการใช้บริการ OFONO เป็นแบ็คเอนด์ ในการเปิดการเชื่อมต่อเสียง SCO หนึ่งจะเปลี่ยนเป็นโปรไฟล์ sco
ดังนี้:
aplay -D bluealsa:DEV=XX:XX:XX:XX:XX:XX,PROFILE=sco Bourree_in_E_minor.wav
เพื่อควบคุมระดับเสียงอินพุตหรือเอาต์พุตเราสามารถใช้ปลั๊กอินควบคุม bluealsa
ที่ให้ไว้ ปลั๊กอินนี้ช่วยให้สามารถปรับระดับเสียงของสตรีมเสียงหรือเพียงแค่ปิดเสียง/เปิดเสียงเช่น:
amixer -D bluealsa sset ' <control name> ' 70%
โดยที่ชื่อควบคุมคือชื่อของอุปกรณ์บลูทู ธ ที่เชื่อมต่อพร้อมคำต่อท้ายองค์ประกอบควบคุมเช่น:
amixer -D bluealsa sset ' Jabra MOVE v2.3.0 A2DP ' 50%
สำหรับรายละเอียดทั้งหมดของอุปกรณ์ Bluealsa Alsa PCM และอุปกรณ์มิกเซอร์ให้คำปรึกษาหน้าคู่มือปลั๊กอิน Bluealsa
นอกจากนี้ยังมีบทความจำนวนมากในโครงการ Bluez-ALSA Wiki ให้ตัวอย่างเพิ่มเติมของการใช้ปลั๊กอินเหล่านี้
สำหรับการกำหนดค่า ALSA ขั้นสูงให้ปรึกษาเอกสารออนไลน์ asoundRC ที่จัดทำโดยหน้า Wiki ของ Alsaproject
เป็นไปได้ที่จะสร้างลำโพงบลูทู ธ โดยใช้ Bluealsa สำหรับสิ่งนี้จำเป็นต้องส่งต่อสัญญาณเสียงจาก Bluealsa จับ PCM ไปยัง PCM การเล่นอื่น ๆ (เช่นการ์ดเสียงในตัว) เพื่อให้งานนี้ง่ายขึ้น Bluealsa รวมโปรแกรมที่เรียกว่า bluealsa-aplay
ซึ่งทำหน้าที่เป็นผู้เล่น Bluealsa ที่เรียบง่าย เชื่อมต่ออุปกรณ์บลูทู ธ ของคุณ (เช่นสมาร์ทโฟน) และทำดังนี้:
bluealsa-aplay XX:XX:XX:XX:XX:XX
สำหรับรายละเอียดของตัวเลือกบรรทัดคำสั่งไปยัง bluealsa-aplay
ปรึกษาหน้าคู่มือ BlueAlsa-Aplay นอกจากนี้ยังมีบทความบางอย่างเกี่ยวกับโครงการ Bluez-ALSA Wiki ให้ตัวอย่างของการใช้งาน
รายการของ Bluealsa PCM ที่มีอยู่ (จัดทำโดยอุปกรณ์บลูทู ธ ที่เชื่อมต่อกับความสามารถด้านเสียง) สามารถรับได้โดยตรงจาก Bluealsa D-Bus API หรือใช้ bluealsa-aplay
เป็น wrapper ที่สะดวกดังนี้:
bluealsa-aplay -L
โครงการนี้ยินดีต้อนรับการมีส่วนร่วมของรหัสเอกสารและการทดสอบ
โปรดดูคู่มือการสนับสนุนสำหรับรายละเอียด
ข้อผิดพลาดที่พบบ่อยที่สุดถูกกล่าวถึงในคู่มือการแก้ไขปัญหา โปรดตรวจสอบไฟล์นั้นเพื่อดูว่ามีวิธีแก้ปัญหาของคุณอยู่แล้วหรือไม่
หากคุณไม่สามารถหาวิธีแก้ปัญหาในเอกสารนั้นหรืออ่านหน้าด้วยตนเองโปรดค้นหาปัญหาก่อนหน้า (ทั้งเปิดและปิด) และปรึกษาวิกิก่อนที่จะยกประเด็นใหม่ น่าเสียดายที่วิกิไม่ได้จัดทำดัชนีโดยเครื่องมือค้นหาเว็บดังนั้นการค้นหาออนไลน์สำหรับปัญหาของคุณจะไม่ค้นพบข้อมูลในนั้น
หากการรายงานปัญหาเป็นปัญหาใหม่โปรดใช้เทมเพลตการรายงานปัญหา Bluez-Alla GitHub ที่เหมาะสมและทำเทมเพลตแต่ละส่วนให้เสร็จสมบูรณ์ที่สุด
Bluealsa ได้รับใบอนุญาตภายใต้เงื่อนไขของใบอนุญาต MIT ดูไฟล์ใบอนุญาตสำหรับรายละเอียด