HARK FORUM › Harktool4 closing abruptly
- This topic has 5 replies, 2 voices, and was last updated 5 years, 5 months ago by Rohan sheelvant.
-
AuthorPosts
-
May 31, 2019 at 5:56 pm #851
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.
Attachments:
May 31, 2019 at 5:58 pm #853Attached is the screenshot of the terminal error.
Attachments:
June 3, 2019 at 5:57 pm #857Hello,
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.
June 6, 2019 at 4:02 pm #879Yes, 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?
June 10, 2019 at 4:36 pm #904There 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.June 11, 2019 at 12:08 pm #914Yes, this method will solve my problem.
Thank you for your reply 🙂
-
AuthorPosts
- You must be logged in to reply to this topic.