HARK FORUM › AudioStreamFromRosによるマルチチャネル録音について › Reply To: AudioStreamFromRosによるマルチチャネル録音について
November 25, 2019 at 2:05 pm
#1261
お問い合わせありがとうございます。
こちらの投稿 を既にご覧になっているとの事でしたので、マルチチャネルの場合に必要となる情報だけ回答させて頂きます。
hark_msgs/HarkWave
の nch
に送信するチャネル数を設定して頂き、マルチチャネルの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
の件、書き忘れました。全チャネル分になりますのでご注意ください。
以上、ご参考になれば幸いです。
- This reply was modified 4 years, 4 months ago by Masayuki Takigahira.