MATLABで取り込んだ2種類の音、それぞれ20個ずつ計40個のwavファイルにFFT処理をし、処理後の行列を結合、PCAで次元圧縮しました。
ここからHMMにトレーニングデータとして与えるための「圧縮した次元数 × 1サンプルあたりのフレーム数 × サンプル数」という3次元の配列を作成しなければなりません。
PCAで次元圧縮をした結果、7000(全サンプルの合計のフレーム数) x 5(5次元圧縮をしたため)という行列が出力されましたが3次元の配列にする方法がわかりません。
欠けている情報がありましたらご指摘いただけると幸いです。
よろしくお願いします。
追記:
1サンプルに対してFFT処理後に出力される行列は 171 × 512 (フレーム数×次数)です。
計40サンプルありますのでPCA処理後、正確には 6840 × 5 (全サンプルのフレーム数×圧縮した次元数)の行列が生成されます。
これを 5 × 171 × 40 (圧縮した次元数 × 1サンプルのフレーム数 × サンプルの合計)の形で3次元配列にしようとしています。
回答1件
あなたの回答
tips
プレビュー