HARK FORUM › HARKネットワークで非同期処理は可能でしょうか?
Tagged: HARK-Python3
HARK-Python3では、「マイクアレイ入力などを想定してリアルタイム処理を行う場合はcalculate()、1フレーム(デフォルトで10ms)未満で処理を終えないといけない」と理解していますが、外部APIと連携したい、かつ、その処理が、10ms以上かかるため、PyCodeExecutor3を、リアルタイム音声処理のループとは、別の非同期処理で動かしたいと考えているのですが、HARKネットワークを工夫したりすることで、そのような処理は可能でしょうか?
考えている実現イメージとしては、例えば、外部APIからデータを1分ごとに取得、取得処理には1秒かかる場合、その処理は10ms未満には絶対ならないので、HARKネットワークで、1分ごとに動くイテレーションシートを作って、そのシートで取得した値を、音声処理しているシートへの入力としたいのですが、そのようなことは可能でしょうか?よろしくお願いいたします。
お問い合わせありがとうございます。
ご質問の処理については可能ではありますが、 Pythonでの非同期処理についての知識が必要ですので、 簡単にできるとは言いがたいです。
また、何らかのデータ入力がないとHARKのノード内でエラー終了してしまうため ネットワーク実行開始からデータが取得されるまでの期間は PyCodeExecutor3からダミーのデータを出力しておく等の対応が必要となります。
あまりお力になれず申し訳ございませんが、以上で回答になっておりますでしょうか?
HARKサポートチーム
ご回答ありがとうございます。
> Pythonでの非同期処理についての知識が必要ですので、簡単にできるとは言いがたいです。 承知しました。頑張ればできるということですね。 インメモリDBを経由することで10ms未満での連携が実現でているのは確認できています。が、その他の機能を実現する際にHarkPythonのコードだけでの非同期処理の実現どうしても必要になりそうなので、そもそも実装可能か知りたかったためご質問させていただきました。簡単でないけどできると保証していただけたので、安心して実現方法を調べられるので大変助かりました。
> ネットワーク実行開始からデータが取得されるまでの期間は > PyCodeExecutor3からダミーのデータを出力しておく等の対応が必要となります。 承知しました。ありがとうございます。
Log In