0

だから私はpyAudioAnalysis ライブラリを使用して基本的な感情分類器を作成しようとしています。それが機能するかどうかをテストするために小さなデータサンプルを収集しました。私のコードは次のとおりです。

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")

これを実行すると、次のエラーが発生します。

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

shape[1]配列次元の列を返すことになっていることは知っ ています。しかし、なぜここでエラーを返すのですか

4

2 に答える 2

0

The same issue could be due to different number of files inside training folders For ex:

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

Then It would also generate the same error because it can not generate the desired matrix of arrays( using dirsWavFeatureExtraction function inside audioFeatureExtraction.py).

The solution I found is there should be the same number of files inside training folders

Resolved Example:

+Training
  +Bubble - 6 files
  +glass - 6 files
  +bounce - 6 files
于 2018-02-12T17:04:35.840 に答える