การรองรับเสียงเครื่องช่วยฟังโดยใช้ Bluetooth LE

อุปกรณ์เครื่องช่วยฟัง (HA) สามารถปรับปรุงการช่วยเหลือพิเศษในอุปกรณ์เคลื่อนที่ที่ใช้ Android โดยใช้แชแนล L2CAP (CoC) ที่มุ่งเน้นการเชื่อมต่อผ่านบลูทูธพลังงานต่ำ (BLE) CoC ใช้บัฟเฟอร์แบบยืดหยุ่นของแพ็กเก็ตเสียงหลายรายการเพื่อรักษาระดับเสียงให้ราบรื่น แม้จะมีการสูญเสียแพ็กเก็ตก็ตาม บัฟเฟอร์นี้ให้คุณภาพเสียงสำหรับอุปกรณ์เครื่องช่วยฟัง แต่แลกมาด้วยเวลาในการตอบสนองที่ช้าลง

การออกแบบของ CoC อ้างอิงถึงข้อกำหนดหลักของบลูทูธเวอร์ชัน 5 (BT) ค่าแบบหลายไบต์ทั้งหมดในหน้านี้จะอ่านแบบ Little Endian เพื่อให้สอดคล้องกับข้อกำหนดหลัก

คำศัพท์

  • อุปกรณ์หลัก - อุปกรณ์ Android ที่สแกนหาโฆษณาผ่านบลูทูธ
  • อุปกรณ์ต่อพ่วง - เครื่องช่วยฟังที่ส่งแพ็กเก็ตโฆษณาผ่านบลูทูธ

โทโพโลยีเครือข่ายและสถาปัตยกรรมระบบ

เมื่อใช้ CoC สำหรับเครื่องช่วยฟัง โทโพโลยีเครือข่ายจะถือว่ามีอุปกรณ์กลาง 1 เครื่องและอุปกรณ์ต่อพ่วง 2 เครื่อง โดย 1 เครื่องอยู่ด้านซ้ายและอีก 1 เครื่องอยู่ด้านขวา ดังที่แสดงในรูปที่ 1 ระบบเสียงบลูทูธจะถือว่าอุปกรณ์ต่อพ่วงด้านซ้ายและขวาเป็นอุปกรณ์ส่งเสียงตัวเดียว หากอุปกรณ์ต่อพ่วงขาดหายไปเนื่องจากเป็นอุปกรณ์แบบโมโนหรือขาดการเชื่อมต่อ อุปกรณ์ส่วนกลางจะผสมช่องเสียงซ้ายและขวา แล้วส่งเสียงไปยังอุปกรณ์ต่อพ่วงที่เหลือ หากส่วนกลางเสียการเชื่อมต่อกับอุปกรณ์ต่อพ่วงทั้ง 2 ตัว ก็จะถือว่าเสียการเชื่อมต่อกับตัวแปลงสัญญาณเสียง ในกรณีดังกล่าว อุปกรณ์ส่วนกลางจะกำหนดเส้นทางเสียงไปยังเอาต์พุตอื่น


รูปที่ 1 โทโปโลยีสำหรับการจับคู่เครื่องช่วยฟังกับอุปกรณ์เคลื่อนที่ Android โดยใช้ CoC ผ่าน BLE

เมื่ออุปกรณ์หลักไม่ได้สตรีมข้อมูลเสียงไปยังอุปกรณ์ต่อพ่วงและสามารถรักษาการเชื่อมต่อ BLE ไว้ได้ อุปกรณ์หลักไม่ควรตัดการเชื่อมต่อจากอุปกรณ์ต่อพ่วง การรักษาการเชื่อมต่อช่วยให้สามารถสื่อสารข้อมูลกับเซิร์ฟเวอร์ GATT ที่อยู่ในอุปกรณ์ต่อพ่วง

เมื่อจับคู่และเชื่อมต่ออุปกรณ์ช่วยฟัง อุปกรณ์ส่วนกลางจะดำเนินการดังนี้

  • ติดตามอุปกรณ์ต่อพ่วงด้านซ้ายและขวาที่จับคู่ล่าสุด
  • ระบบจะถือว่าอุปกรณ์ต่อพ่วงมีการใช้งานอยู่หากมีการจับคู่ที่ถูกต้อง อุปกรณ์ส่วนกลางจะพยายามเชื่อมต่อหรือเชื่อมต่ออีกครั้งกับอุปกรณ์ที่จับคู่ไว้เมื่อขาดการเชื่อมต่อ
  • ถือว่าไม่ได้ใช้งานอุปกรณ์ต่อพ่วงอีกต่อไปหากมีการลบการจับคู่

ในกรณีข้างต้น การจับคู่หมายถึงการลงทะเบียนชุดเครื่องช่วยฟังด้วย UUID ที่กำหนดและตัวระบุซ้าย/ขวาในระบบปฏิบัติการ ไม่ใช่กระบวนการจับคู่บลูทูธ

ข้อกำหนดของระบบ

ระบบบลูทูธในอุปกรณ์ส่วนกลางและอุปกรณ์ต่อพ่วงต้องมีคุณสมบัติดังนี้เพื่อให้ใช้ CoC ได้อย่างเหมาะสมและมอบประสบการณ์การใช้งานที่ดีแก่ผู้ใช้

  • ใช้ตัวควบคุม BT 4.2 ขึ้นไปที่เป็นไปตามข้อกำหนด ขอแนะนําอย่างยิ่งให้ใช้การเชื่อมต่อที่ปลอดภัยของ LE
  • มีการสนับสนุนจากส่วนกลางสำหรับลิงก์ LE พร้อมกันอย่างน้อย 2 ลิงก์พร้อมพารามิเตอร์ตามที่อธิบายไว้ในรูปแบบและเวลาของแพ็กเก็ตเสียง
  • อุปกรณ์ต่อพ่วงรองรับลิงก์ LE อย่างน้อย 1 รายการที่มีพารามิเตอร์ที่อธิบายไว้ในรูปแบบและเวลาของแพ็กเก็ตเสียง
  • มีการควบคุมการไหลเวียนตามเครดิต LE [BT Vol 3, Part A, Sec 10.1] อุปกรณ์ต้องรองรับ MTU และ MPS ขนาดอย่างน้อย 167 ไบต์ใน CoC และสามารถบัฟเฟอร์แพ็กเก็ตได้สูงสุด 8 รายการ
  • มีการขยายความยาวข้อมูล LE [BT Vol 6, Part B, Sec 5.1.9] ที่มีเพย์โหลดอย่างน้อย 167 ไบต์
  • อุปกรณ์กลางรองรับคําสั่งอัปเดตการเชื่อมต่อ HCI LE และเป็นไปตามพารามิเตอร์ maximum_CE_Length และ minimum_CE_Length ที่ไม่ใช่ 0
  • ให้อุปกรณ์กลางรักษาอัตราข้อมูลสำหรับการเชื่อมต่อ LE CoC 2 รายการไปยังอุปกรณ์ต่อพ่วง 2 ตัวที่มีช่วงเวลาการเชื่อมต่อและขนาดเพย์โหลดในรูปแบบและเวลาของแพ็กเก็ตเสียง
  • ให้อุปกรณ์ต่อพ่วงตั้งค่าพารามิเตอร์ MaxRxOctets และ MaxRxTime ในเฟรม LL_LENGTH_REQ หรือ LL_LENGTH_RSP เป็นค่าต่ำสุดที่จำเป็นสำหรับข้อกำหนดเหล่านี้ ซึ่งช่วยให้ส่วนกลางเพิ่มประสิทธิภาพตัวจัดเวลาเมื่อคำนวณระยะเวลาที่จําเป็นในการรับเฟรม

ขอแนะนําอย่างยิ่งว่าอุปกรณ์ส่วนกลางและอุปกรณ์ต่อพ่วงควรรองรับ PHY 2MB ตามที่ระบุไว้ในข้อกําหนดของ BT 5.0 อุปกรณ์ส่วนกลางต้องรองรับลิงก์เสียงอย่างน้อย 64 Kbit/s ทั้งใน PHY 1M และ 2M ไม่ควรใช้ PHY ระยะไกลของ BLE

CoC ใช้กลไกบลูทูธมาตรฐานสำหรับการเข้ารหัสเลเยอร์ลิงก์และการกระโดดความถี่

บริการ ASHA GATT

อุปกรณ์ต่อพ่วงจะใช้บริการเซิร์ฟเวอร์ GATT สตรีมมิงเสียงสำหรับเครื่องช่วยฟัง (ASHA) ตามที่อธิบายไว้ด้านล่าง อุปกรณ์ต่อพ่วงจะต้องโฆษณาบริการนี้เมื่ออยู่ในโหมดที่ค้นพบได้ทั่วไปเพื่อให้อุปกรณ์ส่วนกลางจดจำตัวรับเสียง การดำเนินการสตรีมเสียง LE ทั้งหมดจะต้องเข้ารหัส สตรีมมิงเสียง BLE มีลักษณะต่อไปนี้

ลักษณะ คุณสมบัติ คำอธิบาย
ReadOnlyProperties อ่าน ดู ReadOnlyProperties
AudioControlPoint เขียนและเขียนโดยไม่ตอบ จุดควบคุมสำหรับสตรีมเสียง ดูAudioControlPoint
AudioStatusPoint อ่าน/แจ้งเตือน ช่องรายงานสถานะสำหรับจุดควบคุมเสียง ดูAudioStatusPoint
ระดับเสียง เขียนโดยไม่มีการตอบกลับ ไบต์ระหว่าง -128 ถึง 0 ที่ระบุปริมาณการลดทอนที่จะใช้กับสัญญาณเสียงที่สตรีม ซึ่งมีช่วงตั้งแต่ -48 dB ถึง 0 dB การตั้งค่าเป็น -128 จะถือว่าปิดเสียงทั้งหมด กล่าวคือ ระดับเสียงที่ดังที่สุดโดยไม่ปิดเสียงคือ -127 ซึ่งเทียบเท่ากับการลดทอน -47.625 dB เมื่อตั้งค่าเป็น 0 การสตรีมเสียงไซน์แบบรางต่อรางจะแสดงอินพุต 100 dBSPL ที่เทียบเท่าในเครื่องช่วยฟัง อุปกรณ์ส่วนกลางจะสตรีมแบบเต็มสเกลที่ระบุและใช้ตัวแปรนี้เพื่อตั้งค่าระดับการแสดงผลที่ต้องการในอุปกรณ์ต่อพ่วง
LE_PSM_OUT อ่าน PSM ที่จะใช้ในการเชื่อมต่อช่องเสียง เลือกจากช่วงไดนามิก [BT Vol 3, Part A, Sec 4.22]

UUID ที่กำหนดให้กับบริการและลักษณะ

UUID ของบริการ: {0xFDF0}

ลักษณะ UUID
ReadOnlyProperties {6333651e-c481-4a3e-9169-7c902aad37bb}
AudioControlPoint {f0d4de7e-4a88-476c-9d9f-1937b0996cc0}
AudioStatus {38663f1a-e711-4cac-b641-326b56404837}
ระดับเสียง {00e4ca9e-ab14-41e4-8823-f9e70c7e91df}
LE_PSM_OUT {2d410339-82b6-42aa-b34e-e2e01df8cc1a}

นอกจากบริการ ASHA GATT แล้ว อุปกรณ์ต่อพ่วงยังต้องใช้บริการข้อมูลอุปกรณ์ด้วยเพื่อให้อุปกรณ์หลักตรวจหาชื่อผู้ผลิตและชื่ออุปกรณ์ของอุปกรณ์ต่อพ่วง

ReadOnlyProperties

ReadOnlyProperties มีค่าดังต่อไปนี้

ไบต์ คำอธิบาย
0 เวอร์ชัน - ต้องเท่ากับ 0x01
1 ดู DeviceCapabilities
2-9 ดู HiSyncId
10 ดู FeatureMap
11-12 RenderDelay ระยะเวลานี้แสดงเป็นมิลลิวินาทีนับจากเวลาที่อุปกรณ์ต่อพ่วงได้รับเฟรมเสียงจนกว่าอุปกรณ์ต่อพ่วงจะแสดงผลเอาต์พุต โดยจะใช้ไบต์เหล่านี้เพื่อเลื่อนเวลาวิดีโอให้ซิงค์กับเสียงได้
13-14 สงวนไว้สำหรับการใช้งานในอนาคต เริ่มต้นเป็น 0
15-16 รหัสตัวแปลงรหัสที่รองรับ นี่เป็นบิตมาสก์ของรหัสตัวแปลงรหัสที่รองรับ 1 ในตำแหน่งบิตหนึ่งๆ สอดคล้องกับตัวแปลงรหัสที่รองรับ เช่น 0x0002 บ่งบอกว่าระบบรองรับ G.722 ที่ 16 kHz ส่วนบิตอื่นๆ ทั้งหมดให้ตั้งค่าเป็น 0

DeviceCapabilities

บิต คำอธิบาย
0 ด้านอุปกรณ์ (0: ซ้าย, 1: ขวา)
1 ระบุว่าอุปกรณ์เป็นแบบสแตนด์อโลนและรับข้อมูลโมโน หรืออุปกรณ์เป็นส่วนหนึ่งของชุด (0: โมโน 1: สเตอริโอ)
2 อุปกรณ์รองรับ CSIS (0: ไม่รองรับ, 1: รองรับ)
3-7 สงวนไว้ (ตั้งค่าเป็น 0)

HiSyncID

ช่องนี้ต้องไม่ซ้ำกันสำหรับอุปกรณ์เสียงแบบ 2 ช่องหูทั้งหมด แต่ต้องเหมือนกันสำหรับชุดเสียงซ้ายและขวา

ไบต์ คำอธิบาย
0-1 รหัสของผู้ผลิต ตัวระบุบริษัทที่ BTSIG กำหนด
2-7 รหัสที่ไม่ซ้ำกันซึ่งระบุชุดเครื่องช่วยฟัง รหัสนี้ต้องตั้งค่าให้เหมือนกันทั้งในอุปกรณ์ต่อพ่วงด้านซ้ายและด้านขวา

FeatureMap

บิต คำอธิบาย
0 รองรับการสตรีมเอาต์พุตเสียง LE CoC (ใช่/ไม่)
1-7 สงวนไว้ (ตั้งค่าเป็น 0)

รหัสตัวแปลงรหัส

หากตั้งค่าบิตไว้ แสดงว่าระบบรองรับตัวแปลงรหัสนั้น

รหัส / หมายเลขบิต ตัวแปลงรหัสและอัตราการสุ่มตัวอย่าง อัตราบิตที่กำหนด เวลาที่ใช้ในการแสดงผลเฟรม ต้องระบุในอุปกรณ์ส่วนกลาง (C) หรืออุปกรณ์ต่อพ่วง (P)
0 สงวนไว้ สงวนไว้ สงวนไว้ สงวนไว้
1 G.722 ที่ 16 kHz 64 กิโลบิต/วินาที ตัวแปร C และ P
2-15 สงวนไว้
0 สงวนไว้ด้วย

AudioControlPoint

จะใช้จุดควบคุมนี้ไม่ได้เมื่อ LE CoC ปิดอยู่ ดูคำอธิบายขั้นตอนได้ที่หัวข้อการเริ่มและหยุดสตรีมเสียง

รหัสการดำเนินการ อาร์กิวเมนต์ กระบวนการย่อย GATT คำอธิบาย
1 «Start»
  • uint8_t codec
  • uint8_t audiotype
  • int8_t volume
  • int8_t otherstate
เขียนคำตอบและรอการแจ้งเตือนสถานะเพิ่มเติมผ่านลักษณะAudioStatusPoint สั่งให้อุปกรณ์ต่อพ่วงรีเซ็ตตัวแปลงรหัสและเริ่มเล่นเฟรม 0 ช่องตัวแปลงรหัสจะระบุรหัสตัวแปลงรหัสที่จะใช้สำหรับการเล่นนี้ ตัวอย่างเช่น ช่องตัวแปลงรหัสคือ "1" สำหรับ G.722 ที่ 16k Hz

ช่องบิตประเภทเสียงจะระบุประเภทเสียงที่อยู่ในสตรีม ดังนี้
  • 0 - ไม่ทราบ
  • 1 - เสียงเรียกเข้า
  • 2 - การโทร
  • 3 - สื่อ
ช่อง otherstate ระบุว่าอุปกรณ์อีกข้างของเสียงสเตอริโอแบบ 2 ช่องเชื่อมต่ออยู่หรือไม่ ค่าของช่องจะเป็น 1 เมื่ออุปกรณ์ต่อพ่วงอื่นๆ เชื่อมต่ออยู่ หรือจะเป็น 0 ในกรณีอื่นๆ

อุปกรณ์ต่อพ่วงต้องไม่ขอการอัปเดตการเชื่อมต่อก่อนที่จะได้รับ«Stop» opcode
2 «Stop» ไม่มี เขียนคำตอบและรอการแจ้งเตือนสถานะเพิ่มเติมผ่านลักษณะAudioStatusPoint สั่งให้อุปกรณ์ต่อพ่วงหยุดแสดงผลเสียง คุณควรเริ่มลำดับการตั้งค่าเสียงใหม่หลังจากหยุดนี้เพื่อแสดงผลเสียงอีกครั้ง
3 «Status»
  • uint8_t connected
เขียนโดยไม่มีการตอบกลับ แจ้งให้อุปกรณ์ต่อพ่วงที่เชื่อมต่ออยู่ทราบว่ามีการอัปเดตสถานะในอุปกรณ์ต่อพ่วงเครื่องอื่น ช่องที่เชื่อมต่อจะระบุประเภทการอัปเดต ดังนี้
  • 0 - อุปกรณ์ต่อพ่วงอื่นๆ ยกเลิกการเชื่อมต่อ
  • 1 - เชื่อมต่ออุปกรณ์ต่อพ่วงอื่นๆ แล้ว
  • 2 - มีการอัปเดตพารามิเตอร์การเชื่อมต่อ LE ในการเชื่อมต่อใดการเชื่อมต่อหนึ่ง

AudioStatusPoint

ฟิลด์รายงานสถานะสำหรับจุดควบคุมเสียง

รหัสการดำเนินการ คำอธิบาย
0 สถานะ "ใช้ได้"
-1 คำสั่งที่ไม่รู้จัก
-2 พารามิเตอร์ที่ไม่ถูกต้อง

โฆษณาสําหรับบริการ ASHA GATT

UUID ของบริการต้องอยู่ในแพ็กเกจโฆษณา ในโฆษณาหรือเฟรมการตอบสนองการสแกน อุปกรณ์ต่อพ่วงต้องมีข้อมูลบริการ ดังนี้

ออฟเซ็ตไบต์ ชื่อ คำอธิบาย
0 ความยาวของโฆษณา >= 0x09
1 ประเภทโฆษณา 0x16 (ข้อมูลบริการ - UUID 16 บิต)
2-3 UUID ของบริการ 0xFDF0 (Little-endian)

หมายเหตุ: นี่เป็นรหัสชั่วคราว
4 เวอร์ชันของโปรโตคอล 0x01
5 ความสามารถ
  • 0 - ด้านซ้าย (0) หรือด้านขวา (1)
  • 1 - อุปกรณ์เดี่ยว (0) หรือคู่ (1)
  • 2 - อุปกรณ์รองรับ CSIS (<0: ไม่รองรับ, 1: รองรับ)
  • 3-7 - สงวนไว้ บิตเหล่านี้ต้องเป็น 0
6-9 HiSyncID ที่ตัดให้สั้นลง ไบต์ที่มีนัยสำคัญที่สุด 4 ตัวจาก HiSyncId ไบต์เหล่านี้ควรเป็นส่วนที่สุ่มที่สุดของรหัส

อุปกรณ์ต่อพ่วงต้องมีประเภทข้อมูลชื่อในเครื่องแบบสมบูรณ์ที่ระบุชื่อของอุปกรณ์ช่วยฟัง ระบบจะใช้ชื่อนี้ในอินเทอร์เฟซผู้ใช้ของอุปกรณ์เคลื่อนที่เพื่อให้ผู้ใช้เลือกอุปกรณ์ที่เหมาะสมได้ ชื่อต้องไม่ระบุช่องซ้ายหรือขวา เนื่องจากข้อมูลนี้มีอยู่ใน DeviceCapabilities

หากอุปกรณ์ต่อพ่วงใส่ชื่อและประเภทข้อมูลบริการ ASHA ไว้ในประเภทเฟรมเดียวกัน (ADV หรือ SCAN RESP) ประเภทข้อมูล 2 ประเภท ("ชื่อท้องถิ่นแบบสมบูรณ์" และ "ข้อมูลบริการสำหรับบริการ ASHA") จะปรากฏในเฟรมเดียวกัน ซึ่งช่วยให้เครื่องสแกนอุปกรณ์เคลื่อนที่ได้รับทั้ง 2 ข้อมูลในผลการสแกนเดียวกัน

ในระหว่างการจับคู่ครั้งแรก อุปกรณ์ต่อพ่วงต้องโฆษณาด้วยอัตราที่เร็วพอเพื่อให้อุปกรณ์เคลื่อนที่ค้นพบอุปกรณ์ต่อพ่วงและจับคู่กับอุปกรณ์ต่อพ่วงได้อย่างรวดเร็ว

ซิงค์อุปกรณ์ต่อพ่วงด้านซ้ายและขวา

หากต้องการใช้งานบลูทูธในอุปกรณ์เคลื่อนที่ Android อุปกรณ์ต่อพ่วงจะต้องรับผิดชอบในการตรวจสอบว่าอุปกรณ์ดังกล่าวมีการซิงค์กัน การเล่นในอุปกรณ์ต่อพ่วงด้านซ้ายและขวาต้องซิงค์กัน อุปกรณ์ต่อพ่วงทั้ง 2 เครื่องต้องเล่นตัวอย่างเสียงจากแหล่งที่มาพร้อมกัน

อุปกรณ์ต่อพ่วงสามารถซิงค์เวลาโดยใช้หมายเลขลำดับที่ใส่ไว้ข้างหน้าแต่ละแพ็กเก็ตของเพย์โหลดเสียง อุปกรณ์ส่วนกลางจะรับประกันว่าแพ็กเก็ตเสียงที่มีไว้เพื่อเล่นพร้อมกันในแต่ละอุปกรณ์ต่อพ่วงจะมีหมายเลขลำดับเดียวกัน หมายเลขลำดับจะเพิ่มขึ้น 1 รายการหลังจากแต่ละแพ็กเก็ตเสียง หมายเลขลำดับแต่ละหมายเลขมีความยาว 8 บิต ดังนั้นหมายเลขลำดับจะซ้ำกันหลังจากแพ็กเก็ตเสียง 256 รายการ เนื่องจากขนาดแพ็กเก็ตเสียงและอัตราตัวอย่างของแต่ละการเชื่อมต่อจะคงที่ อุปกรณ์ต่อพ่วง 2 ชิ้นจึงสามารถอนุมานเวลาการเล่นโดยประมาณได้ ดูข้อมูลเพิ่มเติมเกี่ยวกับแพ็กเก็ตเสียงได้ที่รูปแบบและเวลาของแพ็กเก็ตเสียง

โดยอุปกรณ์ส่วนกลางจะช่วยเหลือโดยการส่งทริกเกอร์ไปยังอุปกรณ์เสียงแบบ 2 ช่องหูเมื่ออาจต้องมีการซิงค์ ทริกเกอร์เหล่านี้จะแจ้งสถานะของอุปกรณ์ต่อพ่วงที่จับคู่ไว้ให้อุปกรณ์ต่อพ่วงแต่ละเครื่องทราบทุกครั้งที่มีการดำเนินการที่อาจส่งผลต่อการซิงค์ ทริกเกอร์มีดังนี้

  • เป็นส่วนหนึ่งของคําสั่ง «Start» ของ AudioControlPoint ซึ่งจะแสดงสถานะการเชื่อมต่อปัจจุบันของอีกด้านหนึ่งของอุปกรณ์เสียงแบบ 2 ช่อง
  • เมื่อใดก็ตามที่มีการดำเนินการเชื่อมต่อ ยกเลิกการเชื่อมต่อ หรืออัปเดตพารามิเตอร์การเชื่อมต่อในอุปกรณ์ต่อพ่วงเครื่องหนึ่ง ระบบจะส่งคําสั่ง «Status» ของ AudioControlPoint ไปยังอีกด้านหนึ่งของอุปกรณ์เสียงแบบ 2 ข้าง

รูปแบบและช่วงเวลาของแพ็กเก็ตเสียง

การจัดเฟรมเสียง (บล็อกของตัวอย่าง) ลงในแพ็กเก็ตช่วยให้เครื่องมือฟังเสียงสามารถดึงข้อมูลเวลาจากจุดยึดเวลาของเลเยอร์ลิงก์ วิธีลดความซับซ้อนในการติดตั้งใช้งาน

  • เฟรมเสียงควรตรงกับช่วงเวลาการเชื่อมต่อเสมอ ตัวอย่างเช่น หากช่วงเวลาการเชื่อมต่อคือ 20 มิลลิวินาทีและอัตราการสุ่มตัวอย่างคือ 16 kHz เฟรมเสียงจะมี 320 ตัวอย่าง
  • ระบบจะจำกัดอัตราตัวอย่างไว้ที่จำนวนที่คูณด้วย 8kHz เพื่อให้มีจำนวนตัวอย่างที่เป็นจำนวนเต็มในเฟรมเสมอ โดยไม่คำนึงถึงเวลาเฟรมหรือช่วงเวลาการเชื่อมต่อ
  • บิตตามลำดับจะวางไว้ข้างหน้าเฟรมเสียง ไบต์ลำดับจะนับแบบวนรอบและอนุญาตให้อุปกรณ์ต่อพ่วงตรวจหาบัฟเฟอร์ที่ไม่ตรงกันหรือการไหลเข้าข้อมูลไม่เพียงพอ
  • เฟรมเสียงควรพอดีกับแพ็กเก็ต LE แพ็กเกจเดียวเสมอ ระบบจะส่งเฟรมเสียงเป็นแพ็กเก็ต L2CAP แยกต่างหาก ขนาดของ LE LL PDU จะเป็น
    ขนาดของข้อมูลแอตทริบิวต์เสียง + 1 (ตัวนับลำดับ) + 6 (4 สำหรับส่วนหัว L2CAP, 2 สำหรับ SDU)
  • เหตุการณ์การเชื่อมต่อควรมีขนาดใหญ่พอที่จะบรรจุแพ็กเก็ตเสียง 2 รายการและแพ็กเก็ตว่าง 2 รายการสำหรับ ACK เพื่อจองแบนด์วิดท์สำหรับการส่งอีกครั้ง โปรดทราบว่าตัวควบคุมบลูทูธของอุปกรณ์หลักอาจทำให้แพ็กเก็ตเสียงแตก อุปกรณ์ต่อพ่วงต้องสามารถรับแพ็กเก็ตเสียงที่กระจัดกระจายได้มากกว่า 2 รายการต่อเหตุการณ์การเชื่อมต่อ

ไม่มีการระบุความยาวของแพ็กเก็ต G.722 เพื่อให้ส่วนกลางมีความยืดหยุ่น ความยาวของแพ็กเก็ต G.722 อาจเปลี่ยนแปลงตามช่วงเวลาการเชื่อมต่อที่ศูนย์กำหนด

รูปแบบออกเทตเอาต์พุต G.722 อ้างอิงถึง Rec. ITU-T G.722 (09/2012) ส่วน 1.4.4 "Multiplexer"

สำหรับตัวแปลงรหัสทั้งหมดที่อุปกรณ์ต่อพ่วงรองรับ อุปกรณ์ต่อพ่วงจะต้องรองรับพารามิเตอร์การเชื่อมต่อด้านล่าง รายการนี้เป็นเพียงตัวอย่างการกำหนดค่าบางส่วนที่ส่วนกลางสามารถติดตั้งใช้งาน

ตัวแปลงรหัส อัตราบิต ช่วงเวลาการเชื่อมต่อ ความยาว CE (PHY 1M/2M) ขนาดเพย์โหลดเสียง
G.722 ที่ 16 kHz 64 กิโลบิต/วินาที 20 มิลลิวินาที 5000/3750 us 160 ไบต์

เริ่มและหยุดสตรีมเสียง

ก่อนเริ่มสตรีมเสียง อุปกรณ์ส่วนกลางจะค้นหาอุปกรณ์ต่อพ่วงและสร้างตัวแปลงรหัสที่เหมือนกัน จากนั้นการตั้งค่าสตรีมจะดำเนินการตามลำดับต่อไปนี้

  1. ระบบจะอ่าน PSM และ RenderDelay (ไม่บังคับ) ค่าเหล่านี้อาจได้รับการแคชโดยส่วนกลาง
  2. ช่อง CoC L2CAP เปิดอยู่ – อุปกรณ์ต่อพ่วงจะให้เครดิต 8 เครดิตในตอนแรก
  3. ระบบจะออกการอัปเดตการเชื่อมต่อเพื่อเปลี่ยนลิงก์เป็นพารามิเตอร์ที่จําเป็นสําหรับตัวแปลงรหัสที่เลือก โดยส่วนกลางอาจทําการอัปเดตการเชื่อมต่อนี้ก่อนการเชื่อมต่อ CoC ในขั้นตอนก่อนหน้า
  4. ทั้งโฮสต์ส่วนกลางและอุปกรณ์ต่อพ่วงจะรอเหตุการณ์การอัปเดตเสร็จสมบูรณ์
  5. รีสตาร์ทโปรแกรมเปลี่ยนไฟล์เสียงและรีเซ็ตจำนวนลำดับแพ็กเก็ตเป็น 0 ระบบจะออกคําสั่ง «Start» ที่มีพารามิเตอร์ที่เกี่ยวข้องใน AudioControlPoint อุปกรณ์ส่วนกลางจะรอการแจ้งเตือนสถานะสำเร็จของคำสั่ง «Start» ก่อนหน้าจากอุปกรณ์ต่อพ่วงก่อนที่จะสตรีม การรอนี้จะช่วยให้อุปกรณ์ต่อพ่วงมีเวลาเตรียมไปป์ไลน์การเล่นเสียง ในระหว่างการสตรีมเสียง ข้อมูลจำลองควรพร้อมใช้งานในทุกเหตุการณ์การเชื่อมต่อ แม้ว่าเวลาในการตอบสนองของข้อมูลจำลองปัจจุบันอาจไม่ใช่ 0
  6. อุปกรณ์ต่อพ่วงจะรับแพ็กเก็ตเสียงแรกจากคิวภายใน (หมายเลขลำดับ 0) และเล่นแพ็กเก็ตนั้น

อุปกรณ์ส่วนกลางจะออกคำสั่ง «Stop» เพื่อปิดสตรีมเสียง หลังจากใช้คำสั่งนี้แล้ว อุปกรณ์ต่อพ่วงไม่จำเป็นต้องพร้อมใช้งานในเหตุการณ์การเชื่อมต่อทุกครั้ง หากต้องการเริ่มสตรีมเสียงอีกครั้ง ให้ทำตามลำดับข้างต้นโดยเริ่มจากขั้นตอนที่ 5 เมื่อไม่ได้สตรีมเสียง อุปกรณ์หลักควรยังคงเชื่อมต่อ LE สำหรับบริการ GATT

อุปกรณ์ต่อพ่วงต้องไม่ออกการอัปเดตการเชื่อมต่อไปยังส่วนกลาง อุปกรณ์หลักอาจออกการอัปเดตการเชื่อมต่อกับอุปกรณ์ต่อพ่วงเมื่อไม่ได้สตรีมเสียงเพื่อประหยัดพลังงาน