Глибоке навчання за допомогою спектрограм для розпізнавання звуку


12

Я розглядав можливість класифікувати звук (наприклад, звуки тварин) за допомогою спектрограми. Ідея полягає у використанні глибоких звивистих нейронних мереж для розпізнавання сегментів у спектрограмі та виведення одного (або багатьох) міток класу. Це не нова ідея (див., Наприклад, класифікацію звуку китів або розпізнавання музичного стилю ).

Проблема, з якою я стикаюся, полягає в тому, що у мене є звукові файли різної довжини і, отже, спектрограми різного розміру. Поки що кожен підхід, який я бачив, використовує звуковий зразок фіксованого розміру, але я не можу цього зробити, оскільки мій звуковий файл може тривати 10 секунд або 2 хвилини.

Наприклад, наприклад, пташиний звук на початку та звук жаби в кінці (вихід має бути "Птах, жаба"). Моїм поточним рішенням було б додати тимчасовий компонент до нейронної мережі (створюючи більше періодичної нейронної мережі), але я хотів би поки що простий. Будь-які ідеї, посилання, навчальні посібники, ...?


1
Найпростіший спосіб - використовувати FFT фіксованої довжини замість STFT (спектрограма). Це усуне вашу проблему зі змінною довжиною. Чому ви просто не застосуєте періодичну нейронну мережу? Вам просто потрібен відпрацьований приклад? Якщо так, чи гнучкі ви щодо того, яке програмне забезпечення використовувати?
Емре

1
Я думаю, що я втратив би багато інформації при FFT з фіксованою довжиною. Якби я зробив це, я думаю, що спочатку я повинен був би зробити сегментацію, де шукаю "цікаві" частини. Я можу це зробити або перейти до періодичних нейронних мереж (приклад приємний, але не надто необхідний, я хотів використати Лазанья). Причиною, яку я намагався уникнути, є те, що з виходом періодичної нейронної мережі важче боротися (на кожному кроці, але у мене є лише мітки для всього файлу). Тому я хотів почати з найпростішої моделі і поступово зробити її більш складною.
user667804

Скажіть, будь ласка, для чого ви закінчилися і який найкращий підхід ви знайшли? @ user667804
nia

Ознайомтеся з цим документом для пошуку рішення: ceur-ws.org/Vol-1609/16090547.pdf Використання CNN на фіксованих розмірах фрагментів спектрограми, а потім усереднення виходів для генерування одного остаточного прогнозу (середнє значення для індивідуальних виходів, здається, працює) найкращий).
user667804

Відповіді:


4

Для автоматичного розпізнавання мовлення (ASR) функції банку фільтрів виконуються так само добре, як CNN, на спектрограмах Таблиця 1 . Ви можете навчити систему DBN-DNN на fbank для класифікації звуків тварин.

На практиці довші висловлювання мови поділяються на більш короткі висловлювання, оскільки розшифровка Вітербі не працює добре для більш тривалих висловлювань. Ви могли зробити те саме.

Можна розділити довші висловлювання на менші висловлювання фіксованої довжини. Поділити довші висловлювання на менші легко. Проблема полягає в збільшенні довжини, менших висловлюваннях для досягнення фіксованої довжини.

Можна збільшити частотну вісь спектрограми для збільшення менших виразів. Показано, що це збільшення даних покращує збільшення даних щодо продуктивності ASR .

Для більш тривалого висловлювання з декількома звуками в ньому, ви можете використовувати алгоритми сегментації музики, щоб розділити їх на кілька вимов. Ці висловлювання можуть бути зроблені з фіксованою довжиною шляхом поділу чи збільшення.


4

RNN не дають достатньо хороших результатів, а також важко тренуватися, тому я поїхав із CNN.

Оскільки специфічний звук тварини становить лише кілька секунд, ми можемо розділити спектрограму на шматки. Я використав тривалість 3 секунди. Потім ми проводимо класифікацію на кожен фрагмент і проводимо середнє виведення, щоб створити єдине передбачення на аудіофайл. Це працює дуже добре, а також простий у виконанні.

Більш поглиблене пояснення можна знайти тут: http://ceur-ws.org/Vol-1609/16090547.pdf

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.