Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

requesting for configuring process documentation or instruction. #4

Closed
Oblivion97 opened this issue Oct 8, 2019 · 4 comments
Closed

Comments

@Oblivion97
Copy link

How can I configure it for my native language?& if I want to test yours, how would I start the training & test the model?

@x4nth055
Copy link
Owner

Hi,
You can use custom data only as mentioned in README.md, after deleting my own custom data in data/train-custom and data/test-custom folders, you can add your own there.
After that, you need to disable default datasets, here is the code for that:

from emotion_recognition import EmotionRecognizer
rec = EmotionRecognizer(None, emotions=["sad", "neutral", "happy"], tess_ravdess=False, emodb=False, custom_db=True)
rec.get_samples_by_class()

Outputs: (in my case)

         train  test  total
sad         21    16     37
neutral     21    16     37
happy       21    16     37
total       63    48    111

You can find the best model suited automatically:

rec.determine_best_model()

Outputs:

[+] Best model determined: MLPClassifier with 77.083% test accuracy

To add your custom data, all you need to do is converting your audio samples to 16000 sample rate as mentioned in README.md (please read it) and then labeling each sample by its emotion at the end of its name, here is an example: 20190615_014359_sad.wav will automatically classified as sad sample.

@Tanish18
Copy link

Hi,
Can I use your model to detect any other emotion like rudeness using my own custom-dataset? If yes, please guide.

@x4nth055 x4nth055 mentioned this issue Apr 23, 2020
Closed
@Tanish18
Copy link

Tanish18 commented Jun 10, 2020

Hi, sorry to disturb you again,
I am trying to use my own custom training dataset, I have done all the preprocessing of the files and changed the code as well. But I am getting the following error

deeprec = DeepEmotionRecognizer(emotions=['angry', 'sad', 'neutral', 'ps', 'happy'], n_rnn_layers=2, n_dense_layers=2, rnn_units=128, dense_units=128, emodb=False, tess_ravdess=False, custom_db=True)
File "/home/ritika/emotion-recognition-using-speech/deep_emotion_recognition.py", line 116, in init
self._compute_input_length()
File "/home/ritika/emotion-recognition-using-speech/deep_emotion_recognition.py", line 151, in _compute_input_length
self.load_data()
File "/home/ritika/emotion-recognition-using-speech/deep_emotion_recognition.py", line 219, in load_data
self.X_test = self.X_test.reshape((1, X_test_shape[0], X_test_shape[1]))
IndexError: tuple index out of range

But when I change these tess_ravdess and emodb to True the code works fine, can you please help and let me know where am I missing the trick here?

Thank You

@x4nth055
Copy link
Owner

x4nth055 commented Sep 2, 2020

Hey @Tanish18

Sorry for the late reply, I have fixed the issue, it was caused because the custom dataset doesn't have the emotions you specify.

For instance, if you specify 'angry' emotion, and you do not have angry samples in the custom dataset, it will raise this error, it was there because balance is set to True by default. Now I fixed it and it set it to False when there are no samples on some emotion classes.

So please pull the latest updates.

Thanks.

@x4nth055 x4nth055 closed this as completed Sep 2, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants