ChromeOS 対応 - スピーカー マイク仕様 v1.3

バージョン: 1.3
最終更新日: 2024-09-06

Legend

製品の動詞 開発アクション
「しなければならない」 必須のプロダクト要件
「SHOULD」 推奨事項(省略可)
「MAY」 推奨

概要

このドキュメントでは、ChromeOS 対応の USB + Bluetooth デバイスの要件について説明します。 設定することもできます。この仕様は WWCB プロダクト用ではなく、 Chromebook と一緒に設計、認定されています。

USB

セキュリティ

2.4 GHz ワイヤレスドングル

  • 2.4 GHz ワイヤレス デバイスは、受信機(ドングル)とのみ が付属しています。
  • ヘッドセットをペア設定するにはユーザーの操作(デバイスまたはアプリ経由)が必要 別のレシーバーとペア設定するか、新しいヘッドセットと既存のレシーバーをペア設定してください。
  • ヘッドセットとレシーバーのペア設定を変更する必要がある場合は、そのアプリを ChromeOS(拡張機能を使用するなど)。また、Terraform を使用するウェブアプリも、 WebUSB/WebHID
  • 拡張機能を介してペアリングを実装する場合、拡張機能は アクセスできます。コンテンツ スクリプトは明示的に禁止されています。

ファームウェアとコネクタ

  • ヘッドセットは、正しいオーディオ インターフェース(0x01)記述子を持つオーディオ デバイスとして宣言する必要があります。
    • 入力ターミナルと出力ターミナルの両方に対応する記述子が 1 つ必要です。
      • USB Audio Class(UAC)端子タイプを報告することをおすすめします。
  • ボタンがある場合は、HID として宣言する必要があります。
  • ヘッドセットは、WWCB ファームウェアとコネクタの要件を満たしている必要があります。

ソフトウェア

形式

音声形式を参照してください。

デバイスに入力と出力の両方のオーディオ インターフェース記述子がある場合。

  • オーディオ インターフェース記述子の例

    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass         1 Audio
      bInterfaceSubClass      2 Streaming
      bInterfaceProtocol      0
      iInterface              0
    

入力と出力のサンプリング レートが異なる場合、デバイスは異なるサンプリング レートでの再生とキャプチャを同時にサポートできる必要があります。それ以外の場合は、デバイスは AudioStreaming で同じ値を反映する必要があります。 インターフェース記述子 ->tSamFreq

  • 48k USB オーディオ出力サンプルレートの例

    AudioStreaming Interface Descriptor:
      bLength                11
      bDescriptorType        36
      bDescriptorSubtype      2 (FORMAT_TYPE)
      bFormatType             1 (FORMAT_TYPE_I)
      bNrChannels             2
      bSubframeSize           2
      bBitResolution         16
      bSamFreqType            1 Discrete
      tSamFreq[ 0]        48000
    Endpoint Descriptor:
      bLength                 9
      bDescriptorType         5
      bEndpointAddress     0x02  EP 2 OUT(Output)
      bmAttributes            9
        Transfer Type            Isochronous
        Synch Type               Adaptive
        Usage Type               Data
    
  • 44.1k USB オーディオ入力サンプルレートの例

    AudioStreaming Interface Descriptor:
      bLength                11
      bDescriptorType        36
      bDescriptorSubtype      2 (FORMAT_TYPE)
      bFormatType             1 (FORMAT_TYPE_I)
      bNrChannels             2
      bSubframeSize           2
      bBitResolution         16
      bSamFreqType            1 Discrete
      tSamFreq[ 0]        44100
    Endpoint Descriptor:
      bLength                 9
      bDescriptorType         5
      bEndpointAddress     0x81  EP 1 In(Input)
      bmAttributes            9
        Transfer Type            Isochronous
        Synch Type               Adaptive
        Usage Type               Data
    

HID コード

  • HID イベントごとに、一度に 1 つのイベントのみを送信できます。
  • ボタンが押されたときに、正しいイベントコードと対応するイベントコードが受信される必要があります。
    • たとえば、音量を上げる操作です。evtest で監視できる音量アップのイベントは 1 つだけです。コードは KEY_VOLUME_UP にする必要があります。
  • 次の機能を提供するように設計されたインターフェースがある場合、USB 周辺機器は USB.org HID 仕様に従って、対応する HID イベントの発行または受信をサポートする必要があります。
ユーザー ページ(0x0c)
キー名 HID 使用状況 ID 使用タイプ
KEY_PLAY 0x0b0 OOC
KEY_PAUSE 0x0b1 OOC
KEY_NEXTSONG 0x0b5 OSC
KEY_PREVIOUSSONG 0x0b6 OSC
KEY_STOPCD 0x0b7 OSC
KEY_PLAYPAUSE 0x0cd OSC
KEY_PREVIOUSSONG 0x0b6 OSC
KEY_MUTE 0x0e2 OOC
KEY_VOLUMEUP 0x0e9 RTC
KEY_VOLUMEDOWN 0x0ea RTC
テレフォニー ページ(0x0b)
キー名 HID 使用状況 ID 使用タイプ
フックスイッチ 0x20 OOC
着信音 0x9e OOC
LED ページ(0x08)
キー名 HID 使用状況 ID 使用タイプ
ミュート 0x09 OOC
オフフック 0x17 OOC
着信音 0x18 OOC

ジャック検出

USB デバイスが USB Audio Class(UAC)に対応していない場合は、常に 出力ノードで確認できます。ただし、USB デバイスが UAC をサポートしている場合、デバイスを挿入すると、システムは 3.5 mm オーディオ ジャックを正しく検出できます。

  • ChromeOS 3.5 mm ジャックには在宅確認を使用する必要があります <ph type="x-smartling-placeholder">
      </ph>
    • 次のいずれかを使用して挿入検出を行う必要があります。

Bluetooth の一般的な要件

ChromeOS 対応 - Bluetooth 仕様を参照してください。

オーディオ形式

再生 録画
サンプルレート 16 kHz 以上16 kHz 以上
形式 S16_LE S16_LE
  • チャンネル番号と構成が正しいこと。
  • ヘッドセットがサポートと宣言しているすべてのサンプリング レートが正しく機能する必要があります。
    • 測定レートとサンプリング レートの差は 0.1% 以下にする必要があります。
    • 測定レートの線形回帰の標準誤差は < 30.
  • ヘッドセットは、サポートするとアサートするさまざまなサンプリング レートで再生またはキャプチャをサポートする必要があります。

    たとえば、44.1 kHz 未満の音声を再生しながら、48 kHz 未満の音声を同時にキャプチャできます。

    • そうでない場合は、ChromeOS で特定の構成ファイルを追加して、システム側でこれを防ぐ必要があります。

音質

キャプチャ パス - ミュート

  • ユーザーが音声デバイスをミュートできるインターフェースがある場合は、次の要件を満たす必要があります。
    • 以下の影響を受けないようにミュート状態を維持します。
      • デバイスを開閉する。
      • 別の入力デバイスに切り替える。
  • ユーザーがヘッドセットまたは ChromeOS のミュートボタンを押すと、ミュート状態が変更される必要があります。
  • ミュート状態が変更された場合、ヘッドセットのミュート状態インジケーター(LED など)も変更する必要があります。

オーディオ レイテンシ

レイテンシ

  • 出力レイテンシ
    • 音声の再生は、ユーザーが操作してから 500 ミリ秒以下で開始する必要があります。 再生を開始します。
      • デバイスの OEM がエコーが発生しないことを証明できる場合は、免除を要求する場合があります。 この要件を満たさない場合に適用されます。

A/V 同期

  • 音声の再生は動画再生と同期する必要があります。音声の再生が動画より 25 ms 以内進むか、動画より 95 ms 以内遅れることがあります。

変更履歴

日付 バージョン メモ
2024-09-06 1.3 ChromeOS 互換の仕様を導き出しました。パートナー サイトの初回公開。
2022-09-14 1.2 v1.2 に更新しました。
2022-08-19 1.1 v1.1 に更新しました。
2022-08-18 1.0 関連する WWCB 仕様を作成しました。