SemiBlindICA Connection

HARK FORUM SemiBlindICA Connection

Viewing 7 posts - 1 through 7 (of 7 total)
  • Author
  • #977

      We have problems with the SemiBlindICA module.
      We have a microphone array with 8 microphones.
      In order to exclude a certain signal (sounds made by the robot) from the microphone array signal, we take the SemiBlindICA module and send a signal from the microphone array to INPUT, and to REFERENCE we send the sound of the Linux system via ROS. But there is no effect.


      Thank you for your inquiry.

      I have confirmed your screen shot. The main cause is that the HarkMsgsStreamFromRos node is placed on the MAIN sheet. Please move the HarkMsgsStreamFromRos node to the MAIN_LOOP sheet and connect MATOUT terminal to the MultiFFT node (The side connected to REFERENCE) on the same sheet. It takes iterations to perform frame-by-frame calculations.

      Best regards,


        Thanks for the fast reply!

        I tried this connection scheme. In this case, the system is very slow. I can say that it hangs. Even if we set the parameter ROS_LOOP_RATE much less than the default value.

        • This reply was modified 4 years, 5 months ago by Steph.
        • This reply was modified 4 years, 5 months ago by Steph.

          I think I set some parameters incorrectly. But I can’t figure out which ones when the system is very slow.

          • This reply was modified 4 years, 5 months ago by Steph.

          First of all, I will talk from factors other than parameters.

          If the overall system speed is slowing, the following causes may be considered. If you execute thread processing in a small matrix whose element size is less than a few thousand, calculation units are excessively divided, and the overhead reduces the speed of the OPENBLAS library.

          Therefore if you are using HARK 3.x, try setting the environment variable OPENBLAS_NUM_THREADS=1 .

          For example, set the following line in the .bashrc file:

          export OPENBLAS_NUM_THREADS=1

          In this case, variables will be effective from the newly opened terminal.

          Or you can do the following when you run the network file:

          OPENBLAS_NUM_THREADS=1 harkmw ./your_networkfile.n

          In this case, variables apply only to the command.

          If only the processing speed of HARK is decreasing, the following causes may be considered. Please check the following contents.

          • Make sure that the known sound signal input to the HarkMsgsStreamFromRos node is not intermittent. For example, if a robot performs TTS, the sound signal must be transmitted not only during speech but also during silence periods.
          • Make sure that the sampling rate of the microphone array input matches the sampling rate of the sound signal input to the HarkMsgsStreamFromRos node. If it is difficult to match, please adjust the input of HarkMsgsStreamFromRos node to the sampling rate of the microphone array by MultiDownSampler node. Note that if you lower the sampling rate on the microphone array by MultiDownSampler node, you need to recreate the transfer function.

          If the parameters of SemiBlindICA node seems to be the cause, please check the following contents.

          • Please check the background noise level contained in the microphone array input. The SemiBlindICA node’s IS_ZERO parameter is used to determine input levels of INPUT that do not need to be processed, since it is not necessary to perform estimation processing during periods where there is no sound signal input (silence period) of REFERENCE. Note that this parameter should be set with power in the frequency domain.
          • Please save the output of AudioStreamFromMic node and HarkMsgsStreamFromRos node with SaveWavePCM. If you compare the sound signals recorded in the two WAV files, you should see something like this:
            The waveform of the audio signal obtained at the HarkMsgsStreamFromRos node should be recorded at the AudioStreamFromMic node with a slight delay. The larger the delay amount, the larger the value of the TAP parameter, but if it is excessively large, the amount of calculation increases. However, if it is slow enough to misunderstand it as a hangup, I think that it is not the influence by this parameter.

          Best regards,


            Thank you so much!
            If other questions arise, may I ask them here?

            • This reply was modified 4 years, 5 months ago by Steph.

            If the new question is related to this post, please post in the same thread. Conversely, if the new question is not relevant, please post in a new thread with the appropriate subject. It will probably help people with the same problem to find a solution.

            I and we (HARK support team) hope this forum will help you.

            Best regards,

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