Reply To: AudioStreamFromRosによるマルチチャネル録音について

HARK FORUM AudioStreamFromRosによるマルチチャネル録音について Reply To: AudioStreamFromRosによるマルチチャネル録音について

#1261

お問い合わせありがとうございます。

こちらの投稿 を既にご覧になっているとの事でしたので、マルチチャネルの場合に必要となる情報だけ回答させて頂きます。

hark_msgs/HarkWavench に送信するチャネル数を設定して頂き、マルチチャネルのPCMデータは wavedata が各チャネルのデータで、 src にチャネル順に格納して頂ければ送信可能です。

Thomas氏が投稿されたソースコードをお借りするならば、


result = []
result.append(harkwaveval)

の部分がマルチチャネルの場合は次のようになります。


result = []
result.append(harkwaveval_ch0)
result.append(harkwaveval_ch1)
result.append(harkwaveval_ch2)
...

なお、AudioStreamFromRosノードでは下記のように実装しております。C/C++をよく書かれている方でしたら下記のソースコードの方が分かりやすいかもしれません。


for (int k = 0; k < nb_channels; k++) {
  for (int i = 0; i < length; i++) {
    (*output)(k, i) = cbf->deque_wave[0].src[k].wavedata[i];
  }
}

https://www.hark.jp/download/source-code/
上記URLでHARKの全ソースコードを公開しておりますので、その他の部分についても実装内容を確認する事が可能です。

———-

data_bytes の件、書き忘れました。全チャネル分になりますのでご注意ください。

以上、ご参考になれば幸いです。