Zao SDK for Jetson / libzao-endpoint API リファレンス 1.1.0.0 (2023-08-17)
Loading...
Searching...
No Matches
ZaoAudioSinkAlsa の使用方法

クラウド側から受信 (Sink)した音声データを、ALSA が認識する Playback デバイスへ送信して再生するプログラムです。

■ ビルドと導入

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

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

ZaoAudioSinkAlsa -d <device> [-s <stream_name>] [-p <link-path>] [-v]
  • -d <device> : ALSAデバイス名の指定
    • aplay -L 等で列挙されるPCMデバイス名を指定します。
      • 例: -dplug hw:CARD=2
    • このオプションは必須です。
  • -s <stream_name> : ストリーム名の指定
    • 接続するストリームの名前を1つ指定します。
      • external : 追加の外部音声(送り返し音声)から受信します。
      • ※現状はこのストリームは1種類しか存在しません。
    • 省略時は external となります。
  • -p <link-path> : 連携用パスの指定
    • ZaoRemoteEndpointとの連携に用いるパスを指定します。
    • 省略時は unix:///run/zao/RemoteEndpoint.sock となります。
  • -v : verbose 指定

■ 自動実行

systemd の zao-audio-sink-alsa.service から ZaoAudioSinkAlsa が起動されます。 SDK セットアップ直後のデフォルト状態は無効となっており、自動実行されません。 設定ユーティリティから Audio Output を Enable することでサービスが有効化され自動実行されるようになります。

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

■ 手動実行

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

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

■ 制限事項

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