Harktool4 closing abruptly

HARK FORUM Harktool4 closing abruptly

Viewing 6 posts - 1 through 6 (of 6 total)
  • Author
    Posts
  • #851
    AvatarRohan 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
    AvatarRohan sheelvant
    Participant

    Attached is the screenshot of the terminal error.

    #857
    Avatarnterakado
    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
    AvatarRohan 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
    Avatarnterakado
    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 8 months, 2 weeks ago by Avatarnterakado.
    • This reply was modified 8 months, 2 weeks ago by Avatarnterakado.
    #914
    AvatarRohan 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.