AudioStreamFromMic(DEVICETYPE=NETWORK)で900が返ってこない

HARK FORUM AudioStreamFromMic(DEVICETYPE=NETWORK)で900が返ってこない

Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
    Posts
  • #1696
    moriya
    Participant

      以下、
      ・質問
      ・pythonのログ
      の順です。

      よろしくお願いいたします。

      ●質問
      AudioStreamFromMic (DEVICETYPE = NETWORK) を使い、
      HARKをクライアントとして、自作のpythonコードで音声をHARK仕様に従いTCP通信しています。

      HARK側は、以下のHARKクックブックの2.1のネットワークを作っています。
      https://www.hark.jp/document/3.0.0/hark-cookbook-ja/subsec-LearningHARK-001.html

      実際に音声はwavに保存されていますので、音声のTCP通信はできています。

      しかし、以下のFAQにある手続きのようにやっていて、300までは受信できて301を返していますが、
      900を受け取る前に、コネクションがリセットされます。
      何が問題なのでしょうか?もしこの情報だけでわかりそうであれば、教えていただけますと幸いです。

      ※ 現状は301を返した時点で録音は終わっているので、
      例外を握り潰して落ちたらスレッド再起動しているので実装上は動いていますが、
      おかしい状態のままにしておくのは心配なので質問させてください。

      ※FAQより抜粋
      https://wp.hark.jp/faq/#What_should_I_do_to_receive_acoustic_signal_over_TCPIP_using_AudioStreamFromMic_node
      
      Before sending data, your program needs to:
      1. receive 100 and send 101 on control socket to establish a connection.
      2. receive 200 and sen 201 to start data sending.
      
      After sending data, your program needs to:
      1. receive 300 and send 301 to stop recording
      2. receive 900 and send 901 to close connection.

      ●pythonのログ

      INFO : 2020-09-16 17:02:42,269 : Main : MainThread : START MAIN
      INFO : 2020-09-16 17:02:42,270 : Main : MainThread : server_ip=192.168.0.6
      INFO : 2020-09-16 17:02:42,270 : Main : MainThread : START CONTROLLER THREAD
      INFO : 2020-09-16 17:02:43,276 : Main : MainThread : START SENDER THREAD
      INFO : 2020-09-16 17:02:48,853 : HarkController : Thread-1 : data=b'100\x00', client_addr=('192.168.0.7', 59506)
      INFO : 2020-09-16 17:02:48,854 : HarkController : Thread-1 : status_code=100
      INFO : 2020-09-16 17:02:48,868 : HarkDataSender : Thread-2 : client addr=('192.168.0.7', 59507)
      INFO : 2020-09-16 17:02:48,868 : HarkController : Thread-1 : data=b'200\x00', client_addr=('192.168.0.7', 59506)
      INFO : 2020-09-16 17:02:48,869 : HarkController : Thread-1 : status_code=200
      INFO : 2020-09-16 17:02:54,185 : HarkController : Thread-1 : data=b'300\x00', client_addr=('192.168.0.7', 59506)
      INFO : 2020-09-16 17:02:54,186 : HarkController : Thread-1 : status_code=300
      INFO : 2020-09-16 17:02:54,235 : HarkController : Thread-1 : [Errno 54] Connection reset by peer
      INFO : 2020-09-16 17:02:54,320 : Main : MainThread : END MAIN
      • This topic was modified 3 years, 2 months ago by moriya.
      #1832
      moriya
      Participant

        上と同じ状況で、windowでpython動かして、harkにsocket通信した場合、「既存の接続はリモートホストに強制的に切断されたした」となるため、自作pythonでなくharkがコネクションを切っていると思います。

        #1833
        moriya
        Participant

          以下でも書きましたが、harkをwindows版ではなく、linux版にすると900が正しく送られてきます(自前pythonコードは変更なし)。
          https://wp.hark.jp/forums/topic/terminate-called-without-an-active-exception/

        Viewing 3 posts - 1 through 3 (of 3 total)
        • You must be logged in to reply to this topic.