Zao SDK for Jetson / libzao-endpoint API リファレンス 1.6.1.0 (2025-01-15)
Loading...
Searching...
No Matches
ZaoAudioSourceAlsa の使用方法

ALSA が認識する Capture デバイスから音声を取り込み、クラウド側へ音声データを送信 (Source) するサンプルプログラムです。

■ ビルドと導入

ビルド方法にしたがって apps/audio-source-alsa/ でビルドすると ZaoAudioSourceAlsa が得られます。

■ コマンドラインオプション

ZaoAudioSourceAlsa <options...>
  • -d <device> または --device=<device> : ALSAデバイス名の指定
    • arecord -L 等で列挙されるPCMデバイス名を指定します。
      • 例: -d plughw:CARD=2
    • このオプションは必須です。
  • -s <name> または --stream=<name> : ストリーム名の指定
    • 接続するストリームの名前を1つ指定します。
      • embedded : 映像信号に重畳されたエンベッデッド音声として送信します。
      • external : 追加の外部音声として送信します。
    • 省略時は external となります
  • --link-path=<path> : 連携用パスの指定 (SDK1.6から短いオプション(-p)は廃止されました)
    • ZaoRemoteEndpointとの連携に用いるパスを指定します。
    • 省略時は unix:///run/zao/RemoteEndpoint.sock となります。
  • -l <level> または --log-level=<level> : ログ出力レベルの指定
    • LEVELには trace, debug, info, warning, error, critical, off または、その頭文字である T, D, I, W, E, C, O (大文字)が指定できます。
    • デフォルトは info となります。
  • --log-color : ログへの色付けを有効にします。
  • --log-no-color : ログへの色付けを無効にします。
    • デフォルトでは、出力先が端末(tty)か否かに基づき自動で色の有無を決定します。
  • --log-output=<output> : ログの出力先。
    • stdout, stderr, syslog, null のいずれかを指定します。
    • デフォルトは stderr となります。
  • --syslog-ident=<name> : syslog出力時のident名称。
  • --syslog-facility=<name_or_number> : syslog出力時のfacilityコード。
    • alert 等の文字列か、0~23の数値でfacilityを指定します。
  • -v または --verbose : verbose 指定
    • -l/--log-level によるログレベルを1段階詳細な方に引き上げるのと同等です。
  • -h または --help : コマンドラインオプションに関するヘルプを表示して終了します。

■ 自動実行

systemd の zao-audio-source-alsa-embedded.service, zao-audio-source-alsa-external.service から ZaoAudioSinkAlsa が起動されます。 SDK セットアップ直後のデフォルト状態は embedded が有効、external が無効となっています。 設定ユーティリティから Audio Input を Enable/Disable すると embedded について有効化/無効化されます。

各サービスが /etc/zao/AudioSourceAlsa.conf を読み込み ZaoAudioSourceAlsa へオプション指定する形になっています。 設定ユーティリティでのデバイス選択はこの設定ファイルへ反映されます。

■ 手動実行

systemd service としてではなくターミナルから直接実行する場合についてです。

  • zao group に属しているアカウントから実行する必要があります
  • ZaoAudioSourceAlsa 自身は /etc/zao/AudioSourceAlsa.conf を参照しませんので、コマンドラインオプションでデバイス指定等を行う必要があります
  • 取り込みと送信を止めるにはCtrl-Cを入力します

■ 制限事項

  • 選択する Capture デバイスは、サンプリングレート 48kHz かつステレオ入力に対応している必要があります。