私は現在、MFCC機能を抽出する目的でネットワークを回帰しようとしています。ネットワークの入力は、サンプリングされ、フレーム化されたオーディオ ファイルです。これには、いくつかの問題があるようです。または、一貫した出力が得られるような方法で実行します。つまり、入力として機能しないため、一貫したフレーム サイズを意味します。ニューラル ネットワークの場合。
現在、各オーディオファイルを次のようにサンプリングしてフレーミングしています。
def load_sound_files(file_paths , data_input):
raw_sounds = []
data_output = []
for fp in file_paths:
y,sr = librosa.load(fp)
X = librosa.util.frame(y)
raw_sounds.append(X)
return raw_sounds
各オーディオがリストに追加され、各リスト内にフレーム化されたオーディオファイルの配列があることを意味します。
[array([[frame],[frame],...,[frame]],dtype=float32), ...]
これを印刷してみた
print raw_sounds[0].shape
print raw_sounds[1].shape
で、こんな結果になりました
(2048, 121)
(2048, 96)
しかし、なぜ私はこの結果を得ているのですか?フレーミング オプションに関しては何も変更していませんが、なぜ異なるのですか?
また、一貫性を保つ方法がない場合、一貫性のない入力を使用して、これを実行できるニューラル ネットワークをどのようにトレーニングするのでしょうか?