EDGEPLANT T1で音声データを取得する

EDGEPLANT T1のオンボードの音声ジャックに接続されたマイクから、付属デバイスコネクターdevice-connector-intdashを使用して音声データを取得し、リアルタイム送信するための設定例です。

../../_images/pcm-sample.svg

図 36 音声データを送信するための設定例

アップストリームの設定

以下のコマンドを実行して、 recoverable というIDを持つアップストリームを作成します。 指定しているのはIDのみのため、他の設定値はデフォルトのとおりになります。

$ intdash-agentctl config up --create '
    id: recoverable
  '

デバイスコネクターIPCの設定

デバイスコネクターからのデータを受け取るためにデバイスコネクターIPCを追加します。以下のコマンドを実行してください。

注意

DC_PROCESS_SRC_CONF_COMMAND では、GStreamerを使って音声を取得し、変換するコマンドを指定します。 パイプライン設定ファイルのサンプル /etc/dc_conf/gstreamer_pcm.yml 内の例も参考にして、使用するハードウェアに合ったものを指定してください。

$ intdash-agentctl config device-connector up --create '
    id: pcm
    data_name_prefix: v1/150/
    format: iscp-v2-compat
    dest_ids:
      - recoverable
    ipc:
      type: fifo
      path: /var/run/intdash/pcm.fifo
    launch:
      cmd: device-connector-intdash
      args:
      - --config
      - /etc/dc_conf/gstreamer_pcm.yml
      environment:
      - DC_PROCESS_SRC_CONF_COMMAND="gst-launch-1.0 -q alsasrc device=hw:1 ! audioconvert ! audio/x-raw,format=S32LE,rate=48000,channels=1 ! fdsink fd=1"
      - DC_PCM_SPLIT_FILTER_CONF_DELAY_MS=0
      - DC_PCM_SPLIT_FILTER_CONF_AUDIO_ELEMENT="y Jack-state"
      - DC_PCM_SPLIT_FILTER_CONF_AUDIO_IFACE="mixer"
      - DC_PCM_SPLIT_FILTER_CONF_AUDIO_FORMAT="S32LE"
      - DC_PCM_SPLIT_FILTER_CONF_AUDIO_RATE=48000
      - DC_PCM_SPLIT_FILTER_CONF_AUDIO_CHANNELS=1
      - DC_PCM_SPLIT_FILTER_CONF_AUDIO_VOLUME_IFACE="mixer"
      - DC_PCM_SPLIT_FILTER_CONF_AUDIO_VOLUME_ELEMENT="y Mic Capture Volume"
      - DC_PCM_SPLIT_FILTER_CONF_AUDIO_VOLUME_VALUE=20
      - DC_PCM_SPLIT_FILTER_CONF_AUDIO_BOOST_ELEMENT="y Mic Boost Capture Volume"
      - DC_PCM_SPLIT_FILTER_CONF_AUDIO_BOOST_VALUE=1
      - DC_PCM_SPLIT_FILTER_CONF_PATH=/dev/snd/by-path/platform-sound
      - DC_PRINT_LOG_FILTER_CONF_TAG=pcm
      - DC_FILE_SINK_CONF_PATH=/var/run/intdash/pcm.fifo
'
  • launch で、device-connector-intdashを起動するように設定しています。

  • device-connector-intdashのパイプライン設定として、付属の /etc/dc_conf/gstreamer_pcm.yml を指定しています。 また、パイプライン設定で使用する環境変数を environment で与えています。

  • device-connector-intdashから /var/run/intdash/pcm.fifo を介して得られたデータは、 v1/150/ というデータ名称プレフィックスを与えられて、 recoverable というIDを持つアップストリームに送信されます。

ストリーマーの起動

以上の設定ができたらストリーマーを起動します。

$ intdash-agentctl run