2013-03-28 2 views
1

Я работаю над созданием системы распознавания речи для живых записей. Я использую библиотеку OpenSMILE для извлечения функции. Я собрал набор аудиофайлов, содержащих разные классы речевых типов, и я извлекаю из них свои функции и тренирую классификатор на основе SVM для распознавания эмоций. Однако это полностью не удается при тестировании на живую речь. Причина в том, что сигнал и, следовательно, распределение функций (MFCC, LSP, Pitch, Intensity, F0) в живой речи сильно отличаются от сигналов в файлах. Библиотека OpenSMILE использует portaudio для доступа к аудиосигналу с микрофона.Различия в звуковых сигналах между файлами и запись с микрофона

Я попытался воспроизвести файл (f_original) по воздуху и записать его через микрофон, после чего OpenSMILE сохранит его (f_distorted). Я обнаружил, что f_original и f_distorted не очень сильно отличаются от человеческого уха при игре. Однако аудиосигналы при визуализации в audacity отличаются совсем немного, а функции, извлеченные из f_original и f_distorted, значительно различаются. Файл f_original находится на 16000 Гц, и я добираю его до 44100 Гц перед извлечением функции. Микрофон записывается на частоте 44100 Гц.

Несмотря на то, что при записи через микрофон я ожидаю искажения, количество искажений, которое я вижу, является экстремальным.

С кем-нибудь сталкивались с подобными проблемами? Любые указатели на то, как исправить это.

Спасибо!

+0

Upsampling не восстанавливает информацию, которая никогда не записывалась. Самая высокая частота, зарегистрированная на f_original, составляет 8000 Гц (частота Найквиста). Увеличьте его, и самая высокая частота источника * все еще * 8000 Гц, в то время как запись микрофона может иметь записанные частоты до 20 000 Гц. Это может объяснить некоторые из различий, которые вы видите. –

+0

Кроме того, уровни записи чрезвычайно важны. Если ваш голос нажимает входной уровень выше 0 дБ, вы в цифровом виде * жестко отсекаете * форму волны. Звуковая информация буквально исчезает, когда это происходит, и появляются высокоамплитудные гармонические артефакты. Если уровень записи слишком низок, вы теряете 1 бит цифровой точности для каждой потери 3db в объеме и увеличиваете шум на ту же сумму. –

+0

@RobertHarvey: Что касается повышения частоты дискретизации, я тоже пробовал наоборот: где я извлекаю функции из f_original без изменений и уменьшаю звуковой сигнал на 16000 Гц, но это не помогает, и сигналы все еще различаются. Я также тестировал разные уровни записи (100, 75, 50 и 25 на окнах), но это тоже не сработало. Я обнаружил, что более высокие уровни были ближе к исходному сигналу. Также, смотря на спектрограммы журнальных частот, похоже, что запись действует как фильтр верхних частот и уменьшает энергию в низкочастотных областях. – bsidd

ответ

1

Это будет зависеть от факторов окружающей среды записи, включая комнату, частотную характеристику комбинации динамиков/микрофонов и их тип/положение в помещении для записи. Программное обеспечение может помочь вам очистить его, но получение чистой записи станет одним из самых важных факторов, влияющих на возможности профилирования вашего программного обеспечения.

Предполагая, что уровни записи установлены правильно, а ваш микрофон и динамики имеют относительно плоскую частотную характеристику, вы все равно будете преобразовывать частотный профиль звука в соответствии с окружающей средой.

Этот эффект может быть не сразу очевидным при воспроизведении, но есть ряд элементов звука, которые будут затронуты в ущерб. Это было очень полезно для композиторов.

См. Элвин Люсьер Я сижу в комнате в http://www.ubu.com/sound/lucier.html для прекрасного примера этого типа композиции.

Многие из эффектов кратковременного размытия, которые вы слышите в этой записи, резко влияют на речевое профилирование, поэтому настройку вашей записи нужно будет рассмотреть очень подробно. Скорее всего, лучше поговорить со звукорежиссером о советах по настройке записи, так как кажется, что это та часть, с которой вы, похоже, боретесь. , например. вы не говорите об акустических свойствах комнаты, которую используете, или о настройке звука.

Вы также можете сделать импульсную характеристику установки комнаты/микрофона/громкоговорителя, которую вы собираетесь использовать, а затем деконволюлизовать записанную речь с импульсом, что теоретически должно уменьшить запись до идеального представления исходного сигнала , Это сложно, но может дать некоторые результаты.

+0

Похоже, что проблемы с окружающим шумом в разных настройках были проблемой. Я располагаю простым решением, где я просто запускаю фильтр высоких частот на сигнале перед извлечением функции, и это устраняет окружающий шум. – bsidd

Смежные вопросы