Harktool4 closing abruptly

HARK FORUM Harktool4 closing abruptly

Viewing 6 posts - 1 through 6 (of 6 total)
  • Author
    Posts
  • #851
    Rohan sheelvant
    Participant

      I am using Harktool4 for generating a transfer function for a 4 mic circular array.

      In Harktool4 software the Mic array option, I choose a distance of 0.50m, elevation-16.70, and as I am using a mic array of 4 mics, I set the azimuth to be 0 – 270 at Interval of 90.

      The mic array that I am using gives a 6 channel output out of which only 4 are actually relevant as they contain the audio data of 4 mics. Therefore in the channel list, I entered channels: 1,2,3,4 (these are the channels I need). On clicking create, there is no error shown but if I click Plot then the harktool4 software will close automatically giving an error in terminal(mentioned below).

      ERROR:

      terminate called after throwing an instance of ‘std::range_error’
      what(): length of given vector is zero
      Aborted (core dumped)

      I am attaching screenshots for your reference. Can you please let me know if I have made any mistake in entering the parameters.

      PS: If I select the channels as 0,1,2,3 then the software works fine and I am able to generate the transfer function.

      #853
      Rohan sheelvant
      Participant

        Attached is the screenshot of the terminal error.

        #857
        nterakado
        Moderator

          Hello,
          Thank you for your inquiry.

          When creating a transfer function, microphone array configuration starts from 0.
          So selecting the channels as 0,1,2,3 is correct.
          This will use the four-channel stream created from channels 1, 2, 3, and 4.

          Best Regards.

          #879
          Rohan sheelvant
          Participant

            Yes, I understand that if I select 0,1,2,3 then channels 1,2,3,4 will be used.

            But I want to use 2nd, 3rd, 4th and 5th channel of the 6 available channels.

            So, how do I proceed?

            #904
            nterakado
            Moderator

              There are 2 cases in creating transfer function depending on your setup.

              Case1: Geometric transfer function
              The position and the number of microphones that actually exists must be set in the HARKTOOL’s channel list. Since ReSpeaker Mic Array only has 4 microphones, it will create a 4-channel transfer function.

              Case2: TSP transfer function.
              The number of microphones used must be set in HARKTOOL’s channel list. But since the TSP sound recorded by ReSpeaker Mic Array has 6 channels, the WAV files input to HARKTOOL must exclude 0 and 5 channels beforehand. To do this, for example if you use a tool called ‘sox’, this can be done by executing the following command:

              sox input.wav output.wav remix 2 3 4 5

              Note that the channel number starts with 1 in sox, while in HARK it starts with 0.

              In HARK, the 6 channels of data coming from AudioStreamFromMic can be filtered by using the ChannelSelector node in configuring the channels needed.

              https://www.hark.jp/document/hark-document-en/subsec-ChannelSelector.html

              In your case, if you want to use the 2nd, 3rd, 4th, and 5th channels, you can set <Vector<int> 1 2 3 4> in the ChannelSelector’s SELECTOR parameter.

              • This reply was modified 4 years, 10 months ago by nterakado.
              • This reply was modified 4 years, 10 months ago by nterakado.
              #914
              Rohan sheelvant
              Participant

                Yes, this method will solve my problem.

                Thank you for your reply 🙂

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