Forum Replies Created
-
AuthorPosts
-
Thank you for your inquiry.
We will answer to the following.
1.
Yes, you can set arbitrarily.
But sample network files and transfer functions are based on 512 / 160 settings.The value for LENGTH is derived by:
32 ms = 0.032 seconds
16000 Hz * 0.032 seconds = 512The value for ADVANCE is derived by:
10 ms = 0.01 seconds
16000 Hz * 0.01 seconds = 160Why use the values 32ms and 10ms?
In, https://www.hark.jp/document/3.0.0/hark-document-en/subsec-AudioStreamFromWave.html – see “Rough indication of parameters”.2.
A brief description is in the cookbook.
https://www.hark.jp/document/hark-cookbook-en/subsec-Others-001.htmlIt is another inquiry, but the explanation document about the frame is in the following.
https://wp.hark.jp/wp-content/uploads/2019/04/frames_revised.png3.
For the same reason as the second answer.Best regards,
HARK Support Team繰り返しになりますが、
写真では分かりませんので、
追加の写真を添付いただいても回答できません。また、一次解析も行っておりませんので、
原因が使用されているマイクにあるのか(HW要因)、または設定にあるのかを判断することもできません。ただ、ご使用の環境(OS、HARKバージョン、使用マイクアレイ等)についての情報とネットワークファイル(添付の写真では、bunri2という名前で保存されているようです)を提供いただけるなら、こちらで再現実験を行うことができるかもしれません。
申し訳ありませんが、HARKはオープンソースとしてソースコードをすべて開示しており、必要な情報はご自分で調査いただくことを前提としています。
お力添えできず大変申し訳ございませんが、以上ご了承願います。HARKサポートチーム
お問い合わせありがとうございます。
まず、以前にもお伝えしたように、写真だけでは設定がわかりませんので
ネットワークファイルを添付いただけない場合は回答いたしかねます。そのうえで、現状の確認をさせていただきますと、
INITW_FILENAME
の役割をご理解できていないように見受けられます。
詳細はノードリファレンス の 6.3.6.5.4 分離行列の更新式 にある分離行列の推定
にありますが、
簡単に説明しますと、INITW_FILENAME
を指定しない場合、音声の最初の部分は分離精度があまりよくないですが、処理を続けていくうちに精度がよくなっていきます。
適切な初期値を指定した場合、精度がよくなるまでの時間が短縮できますが、適切でない場合は指定していない場合と同様に時間がかかるというものです。また、作成方法については、ノードリファレンスにも記載してありますが、
EXPORT_W
にtrueを設定し、EXPORT_W_FILENAME
に作成したいファイル名を指定してください。
ネットワーク実行後にファイルが作成されます。以上、よろしくお願いいたします。
- This reply was modified 5 years, 4 months ago by nterakado.
Attachments:
Hello
It is difficult to answer immediately because the previous moderator is busy at other work.
Sorry, please wait for a while.Sincerely,
HARK Support Teamお問い合わせありがとうございます。
短い音声ファイルが大量に作成されるとのことですが、
大きく二つの原因がございます。1. 小さな音声がノイズと認識されてしまう場合
この場合、発話の最中に声が小さくなるような音声は、別の音声として分割されてしまいます。
SourceTracker
ノードのパラメータTHRESH
の値を小さくすることで改善する可能性がありますが、ノイズを拾いやすくなります。2. 無音区間と認識する時間が短い場合
この場合、発話の最中の息継ぎなどで音声が分割されてしまいます。
SourceTracker
ノードのパラメータPAUSE_LENGTH
の値を大きくすることで無音区間があっても同一の音声と認識されます。
問題点としては、発話前後に録音される無音区間が長くなります。どちらも、実際の録音環境に応じて調整が必要となります。
ノードの詳細については、以下を参照してください。https://www.hark.jp/document/3.0.0/hark-document-ja/subsec-SourceTracker.html
以上、よろしくお願いいたします。
- This reply was modified 5 years, 4 months ago by nterakado.
定位した音源のIDを区別するために、表示ごとに色わけしています。
詳細は以下のHARKドキュメントに記載しています。https://www.hark.jp/document/3.0.0/hark-document-ja/subsec-DisplayLocalization.html
基本的な情報は、Webサイトのドキュメント、クックブックに記載していますので、一読をお勧めします。
以上、よろしくお願いいたします。
> sep_rec_offline.nで表示されるということは自分の送った画像のノードの何か設定が間違っているのでしょうか?
画像からでは判断できませんので、HARK-Designer上でsave
を押して保存したファイルが必要になります。
これをネットワークファイルと呼びます。sep_rec_offline.nも同様にして作成されています。音源ファイルとは、音源定位させたい音声が含まれるwavファイルを指しています。
Supported HardwareのBy Geometrically Calculationで提供しておりますのは、
TAMAGOの伝達関数ファイルになります。
wavファイルがTAMAGOで録音した音源である場合に使用します。
音声ファイルセットに含まれる2SPK-jp.wav
であれば問題ありませんが、
別のマイクアレイで録音したwavファイルを定位させたい場合は、
録音したマイクアレイでの伝達関数を作成する必要があります。Attachments:
お力添えできず、大変申し訳ございません。
画像の情報だけでは、原因を特定できません。よろしければ、ご使用の環境一式を添付いただけると
こちらでの再現と調査が可能でございますが、いかがでしょうか。最低限必要なファイル
・ネットワークファイル
・音源ファイル
(もし独自の伝達関数を作成しているようならそちらも)その他、OS・使用したマイクロホンや音源ファイルの情報もあれば調査に役立ちます。
以上、よろしくお願いいたします。
クックブックの記述が分かりにくい点、申し訳ございません。
お問い合わせの件、ご説明いたします。・batchflowについて
batchflowは、HARK-Designerで作成したネットワークファイル(解凍したディレクトリにある拡張子が.nのファイル)を実行するコマンドになります。
HARK-Designer上でExecute
ボタンをクリックしたことと同義です。HARKをインストールしたWindows環境であれば、Anaconda Promptを起動して
batchflow
と入力してEnterを押してみてください。
添付画像のように表示されるはずです。したがって、クックブックの説明は、
sep_rec_offline.n
と2SPK-jp.wav
のあるディレクトリでbatchflow
コマンドを実行するという意味になります。
これは、ネットワークファイルsep_rec_offline.n
を引数2SPK-jp.wav
で実行するということになります。また、batchflowはHARK 2.5以前で使用していたコマンドです。HARK 3.0以降は
harkmw
というコマンドになりますが、同じ動作をします。・LocalizeMUSICのA_MATRIXについて
こちらに設定するのは定位用伝達関数ファイルのパスになります。
詳細については、以下のリンクをご参照ください。
その際、harktool4
と記載していますが、現在のharktoolはバージョンが5になっていますので、
harktool5
のドキュメントをご参照願います。LocalizeMUSICノードの説明:
https://www.hark.jp/document/3.0.0/hark-document-ja/subsec-LocalizeMUSIC.htmlHARKTOOL5の説明:
https://www.hark.jp/document/packages/harktool5-gui-ja/index.html・マイクロホンの設定について
クックブックの2.1 はじめての録音 に記載の内容はお試しいただけているでしょうか?
マイクロホンを正しく認識できていませんと、その後の処理が正常に働きませんので
お手数ですが、ご使用のデバイスが正常に動作することを確認いただければと思います。
(ご確認ずみであれば失礼いたしました。)最後に、HARKはUbuntu版を優先して開発していることもあり、ドキュメントやFORUMの投稿内容もUbuntu版の方が充実しております。
お手間でなければ、Ubuntu版の使用もご検討いただけますと幸いです。以上、よろしくお願いいたします。
- This reply was modified 5 years, 5 months ago by nterakado.
Attachments:
お問い合わせありがとうございます。
TF Calculation Type
の設定から、録音したTSP信号を用いて伝達関数を作成していることと推測されます。
その場合、録音したファイルをSound source positions
のWave File Path
に指定する必要がございます。
また、TSP信号の代わりに幾何計算(シミュレーション)で伝達関数を作成することが可能です。
TF Calculation Type
をUse Geometric Calculation
に設定することで、幾何計算による伝達関数が作成されます。詳細については下記ドキュメントに記載してありますので、ご参照いただければ幸いです。
https://www.hark.jp/document/packages/harktool5-gui-ja/harktool5-gui.html
また、過去に同様のお問い合わせがありましたので、こちらもご参考までに。
https://wp.hark.jp/forums/topic/伝達関数の生成について/
以上、よろしくお願いいたします。
お問い合わせありがとうございます。
HARKサポートチームです。添付画像を拝見したところ、
エラーログに “No output terminal in network ‘MAIN'” と表示されており、
LOOP0シートにてAudioStreamFromMic
ノードのNOT_EOF
端子と
DisplayLocailzation
ノードのOUTPUT
端子が設定されていないことが原因のように見受けられます。
各端子部分を右クリックして、NOT_EOF
端子をCondition、OUTPUT
端子をOutputに設定してください。また、以前に同様のお問い合わせがございましたので、そちらもご参照いただければと思います。
https://wp.hark.jp/forums/topic/音源定位について/
以上、よろしくお願いいたします。
Attachments:
お問い合わせありがとうございます。
ネットワークファイルを確認させていただきましたが、
PyCodeExecutor3ノードで設定している端子名
が大文字になっておりました。
チュートリアルで例示しているPythonのsamplecodeでは端子名を小文字としておりますので、
そのまま記述していた場合は定義されていない端子にアクセスしようとしてエラーとなります。
以前に回答させていただいたように、Pythonファイルの記述とネットワークファイルのPyCodeExecutor3ノードに追加した端子名は一致させてください。また、
Node::addFactory : The factory (ノード名) already exists. Ignoring the new one.
というメッセージが多発しているようですが、
こちらは以前のバージョンのHARKとパスが競合している場合に発生します。
flowdesigner-0.9.1-harkをアンインストールして頂くことで、改善するかと存じます。
ソースからコンパイルしていた場合は、$ sudo make uninstall
でアンインストール可能です。以上、よろしくお願いいたします。
- This reply was modified 5 years, 5 months ago by nterakado.
- This reply was modified 5 years, 5 months ago by nterakado.
- This reply was modified 5 years, 5 months ago by nterakado.
Attachments:
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.お問い合わせありがとうございます。
新規ノードの作成については前提となる知識が多いため、
大変申し訳ございませんが詳細な説明は省かせていただいております。代わりに、HARKでは必要な機能を実現するための仕組みとしてPythonを採用しております。
hark 3.0.4でしたら、HARK-Python3というパッケージをインストールして頂くことで
ご自分で作成したPyhonコードをHarkで実行可能です。英語になりますが、以下のページに説明がございます。
https://www.hark.jp/document/packages/hark-python3/harkpython3.html・上記ページのGoogle翻訳結果
https://translate.google.com/translate?hl=ja&sl=en&tl=ja&u=https%3A%2F%2Fwww.hark.jp%2Fdocument%2Fpackages%2Fhark-python3%2Fharkpython3.htmlまた、以前のバージョンになりますが、
HARK-Pythonについてのやりとりがございますのでご参照いただければと思います。
https://wp.hark.jp/forums/topic/hark-pythonについて/—
また、クックブックについては、最新の状況に更新できておらず
ご不便おかけしてしまい申し訳ございません。ソースコンパイルからインストールする方法については
下記ページの Installation from Source Compilation 以降をご参照ください
https://www.hark.jp/install/linux/以上、よろしくお願いいたします。
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.
-
AuthorPosts