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 2 years, 8 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.