Danilo Onishi

Forum Replies Created

Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
    Posts
  • Danilo Onishi
    Participant

      > fMLLR法の場合、オンライン処理に向いていないとありますが、
      > オフライン処理の場合は認識させることはできるのでしょうか。

      > 私自身の直近で実施したいことといたしましては、
      > マイク経由ではなく事前に用意した「こんにちは」などの
      > “発話者一人が静音環境下が録音した音源”を認識させたいと考えております。
      目的に関して、かしこまりました。オフライン処理の場合、そしてマイクアレイを使用しない場合でしたら、HARK自体は不要になり、Kaldiの特徴量作成とオフラインデコードツール(steps/make_mfcc.shとsteps/nnet/decode.sh)のみで出来ます。その手順に関してはKaldiのCSJレシピをご参照ください。

      > KaldiとHARKそれぞれでどのようなデータが必要でどのような手順が
      > 必要なのかあまり理解できておらずご教示いただけると幸いです。
      HARK特徴量に対応した音響モデルの作成ですが、下記投稿の通り、HARKで保存したMFCCまたはMSLS特徴量をfeats.scpファイルに列挙し、copy-feats --htk-inコマンドを使用して頂ければKaldiアーカイブに変換されたデータを通常のレシピに使用出来ます。

      音響モデルの作成について

      大変恐縮ですが、HARKは商品ではなくオープンソースプロジェクトのため、HARKに対応したKaldi音響モデル作成に関してのサポートは出来かねます。ご了承ください。

      > MFCCあるいはMSLSと2つの方法で音響モデルを作成かと存じますが、
      > 私のような初心者が行う場合はどちらが比較的容易に行えますでしょうか。
      MFCCとMSLSは特徴量作成に用いる手法で、ファイルの扱いは同じですが後者の方が若干性能的に良いためサンプル音響モデルに使用しております。またMSLSはKaldiのfbankに近い処理を行います。

      以上、よろしくお願い申し上げます。

      Danilo Onishi
      Participant

        前の投稿で誤解を招いてしまい、申し訳ございませんでした。

        現状は特徴量を40次元に設定して処理が通るようになりましたが、fMLLR法を用いた音響モデルですとミスマッチがあり、認識性能が出ません。

        Kaldi本家のレシピのままですとfMLLR(話者適応処理)を使用しますが、その手法はオンライン処理に向いていないためkaldidecoderは対応しておりません。恐れ入りますが、HARK+kaldidecoderを使用する場合はfMLLRを使わず、MFCC/MSLSそのもので音響モデルを学習する必要があります。

        また、HARKのMFCCとKaldiのMFCCが若干異なりますので、HARKのSaveHTKFeatureノードで出力した特徴量を用いて音響モデルを学習した方が条件としてマッチすることになります。

        以上、宜しくお願い申し上げます。

        Danilo Onishi
        Participant

          お送りいただいたエラー内容ですが、HARKが送信している特徴量とKaldi音響モデルの入力次元数が異なるのが原因です。

          HARK側ではMSLSExtractionノードとMelFilterBankのFBANK_COUNTオプションを実際の次元数を設定し、DeltaノードのFBANK_COUNTに次元数+1(パワー次元のため)を設定して頂く必要があります。

          また、Kaldidecoder側で–splice(現在フレームと合わせて前後何フレームを入力するか)の設定が必要になります。HARK_recog_2.3.0.1_practice2で提供しているモデルはsplice 3を使用しておりますので、現在フレームの±3フレーム(合計7フレーム)をモデルに入力します。つまり、入力次元数は [13(ベース次元数)+13(デルタ)+1(パワー)] * 7 = 189になります。一歩、Kaldi本家のnnetレシピのデフォルトですと、splice=17とfMLLR特徴量で(17*2+1)*40=1400になります。

          ただ、注意点としてkaldidecoderはHTK形式特徴量(HARKが扱う形式)にしか対応しておりませんので、それに合わせてHTK特徴量でKaldi音響モデルを学習する必要があります。データの変換手順に関しては前の投稿をご参照ください。

          以上、宜しくお願い申し上げます。

        Viewing 3 posts - 1 through 3 (of 3 total)