Поскольку вы пытаетесь выполнить распознавание речи (SER) с использованием глубокого обучения, вы можете использовать рекуррентную архитектуру (LSTM или GRU) или комбинацию CNN и рекуррентной сетевой архитектуры (CRNN) вместо GAN, поскольку GAN являются сложнымии трудно тренироваться.
В CRNN уровни CNN будут извлекать признаки различной детализации и сложности, тогда как рекуррентные уровни будут заботиться о временных зависимостях. Затем вы можете, наконец, использовать полностью связанный слой для вывода регрессии или классификации, в зависимости от того, является ли ваша метка вывода дискретной (для категориальных эмоций, таких как злой, грустный, нейтральный и т. Д.) Или непрерывной (пробуждение и валентность).
Что касается выбора входа, вы можете использовать либо вход спектрограммы (2D), либо необработанный речевой сигнал (1D) в качестве входа. Для ввода спектрограммы вы должны использовать 2D CNN, тогда как для необработанного речевого сигнала вы можете использовать 1D CNN. Спектрограммы масштаба Мел обычно предпочтительнее линейных спектрограмм, поскольку наши уши слышат частоты в логарифмическом масштабе, а не линейно.
Я использовал архитектуру CRNN для оценки уровня словесного конфликта, возникающего из разговорной речи. Хотя это не SER, это очень похожая задача. Вы можете найти более подробную информацию в статье
http://www.eecs.qmul.ac.uk/~andrea/papers/2019_SPL_ConflictNET_Rajan_Brutti_Cavallaro.pdf
Кроме того, проверьте мой код GitHub для той же бумаги
https://github.com/smartcameras/ConflictNET
иДокумент SER, код которого я воспроизвел на Python
https://github.com/vandana-rajan/1D-Speech-Emotion-Recognition
И, наконец, как уже упоминал Аюш, Librosa - одна из лучших библиотек Python для обработки аудио. У вас есть функции для создания спектрограмм в Librosa.