2016-10-19 3 views
0

pyAudioAnalysis libraryを使用して初歩的な感情クラシファイアを作成しようとしていますが、動作するかどうかをテストするために小さなデータサンプルを収集しました。私のコードは次の通りです:私はshape[1]は、配列の次元の列を返すことになっている知っているpyAudioAnalysis、タプルのインデックスが範囲外にある

Traceback (most recent call last) <ipython-input-7-2e5393432e89> in <module>() 
    5      "C:\Users\gover_000\Desktop\Scared", 
    6      "C:\Users\gover_000\Desktop\Neutral"], 
----> 7      "testSVM") 

C:\Users\gover_000\Documents\GitHub\Emotion-Recognition-Prototype\pyAudioAnalysis\audioAnalysis.pyc in trainClassifierWrapper(method, beatFeatures, directories, modelName) 
    88   raise Exception("At least 2 directories are needed") 
    89  aT.featureAndTrain(directories, 1, 1, aT.shortTermWindow, aT.shortTermStep, 
---> 90      method.lower(), modelName, computeBEAT=beatFeatures) 
    91 
    92 

C:\Users\gover_000\Documents\GitHub\Emotion-Recognition-Prototype\pyAudioAnalysis\audioTrainTest.pyc in featureAndTrain(listOfDirs, mtWin, mtStep, stWin, stStep, classifierType, modelName, computeBEAT, perTrain) 
    275  featureNames = ["features" + str(d + 1) for d in range(numOfFeatures)] 
    276 
--> 277  writeTrainDataToARFF(modelName, features, classNames, featureNames) 
    278 
    279  for i, f in enumerate(features): 

C:\Users\gover_000\Documents\GitHub\Emotion-Recognition-Prototype\pyAudioAnalysis\audioTrainTest.pyc in writeTrainDataToARFF(modelName, features, classNames, featureNames) 
    1097  for c, fe in enumerate(features): 
    1098   for i in range(fe.shape[0]): 
-> 1099    for j in range(fe.shape[1]): 
    1100     f.write("{0:f},".format(fe[i, j])) 
    1101    f.write(classNames[c]+"\n") 

IndexError: tuple index out of range 

from pyAudioAnalysis import audioAnalysis as aA 

aA.trainClassifierWrapper('svm', False, 
         ["C:\Users\gover_000\Desktop\Angry", 
         "C:\Users\gover_000\Desktop\Happy", 
         "C:\Users\gover_000\Desktop\Sad", 
         "C:\Users\gover_000\Desktop\Scared", 
         "C:\Users\gover_000\Desktop\Neutral"], 
         "testSVM") 

私はこれを実行する場合は、このエラーが発生します。 なぜここにエラーが返されますか

+0

:私が見つけ

ソリューションは

例を解決トレーニングフォルダ内のファイルと同じ数があるはずです。ですから、あなたの特徴の1つが1次元であるのはなぜですか?なぜなら、 'tuples'や' IndexError'ではなく、ライブラリ名で質問にタグを付けることを考えてください。 – wrwrwr

+0

ライブラリ名でタグ付けすることはできませんでした。なぜなら、それはまだ存在しないからです –

答えて

1

問題が見つかりました。

私のクラシファイアの1人が十分なファイルを持っていなかったので、少なくとも2人必要でした。

同じ問題が原因EXのためのトレーニングフォルダ 内のファイルの異なる数にすることができ
0

+Training 
    +Bubble - 6 files 
    +glass - 6 files 
    +bounce - 8 files 

それが配列の所望の行列を生成することはできませんので、それはまた、同じエラーを生成する(dirsWavFeatureExtractionを使用してinside inside audioFeatureExtraction.py)。 fe`は、ベクトル、行列ではないですおそらく `ので

+Training 
    +Bubble - 6 files 
    +glass - 6 files 
    +bounce - 6 files 
関連する問題