Коли починається трек сміху?


14

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

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

Ось що я спробував поки що: я подрібнив п'ятихвилинний уривок з недавнього епізоду Saturday Night Live у два секунди кліпу. Потім я позначив ці "сміхи" або "не сміється". Використовуючи екстрактор функцій MFCC Librosa, я запустив K-Means, кластеризуючи дані, і отримав хороші результати - два кластери дуже чітко відображені на моїх мітках. Але коли я спробував перебрати більш довгий файл, прогнози не тримали води.

Що я зараз спробую: я буду більш точним щодо створення цих кліпів для сміху. Замість того, щоб робити сліпе розбиття та сортування, я збираюся їх вручну витягти, щоб жоден діалог не забруднював сигнал. Тоді я поділю їх на кліпи четвертої секунди, обчислюю MFCC, і використаю їх для тренування SVM.

Мої запитання на даний момент:

  1. Чи є щось із цього сенсу?

  2. Чи може тут допомогти статистика? Я прокручувався в режимі перегляду спектрограми Audacity і досить чітко бачу, де відбувається сміх. У спектрограмі потужності журналу мовлення має дуже характерний, «борознестий» вигляд. Навпаки, сміх охоплює широкий спектр частоти досить рівномірно, майже як звичайний розподіл. Можна навіть візуально відрізнити оплески від сміху за більш обмеженим набором частот, представлених оплесками. Це змушує мене думати про стандартні відхилення. Я бачу, що тут може бути корисне тест Колмогорова – Смірнова? Спектрограма журналу потужності (Ви можете бачити сміх на наведеному вище зображенні як стіна помаранчевого кольору, яка потрапляє на 45% шляху.)

  3. Лінійна спектрограма, схоже, показує, що сміх є більш енергійним на нижчих частотах і згасає у бік більш високих частот - це означає, що він кваліфікується як рожевий шум? Якщо так, чи може це стати опорою на проблему? Спектрограма

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


1
Я погоджуюсь з тим, що "не знадобиться нейронна мережа, щоб отримати надійний детектор сміховиків". Я також погоджуюся з тим, що ти кидаєш Колмогорову на сигнал, вважаючи, що якщо ти маєш рацію, а трек сміху є (зваженою) сумою сміху, - ти маєш отримувати якісь звичайні риси . Можливо, ви все-таки хочете збільшити роздільну здатність частоти. До речі, для того, хто "не входить" у DSP, ваш жаргон є цілком чудовим :), на жаль, я не аудіо хлопець, тому, мабуть, не дуже корисний.
Маркус Мюллер

Я радий допомогти. Чи є у вас дані про навчання? Однією з найважливіших речей є маркування даних. Сміття в - сміття поза. Одним із найпростіших та найефективніших підходів було б навчити ГММ з мішком кадрів та оцінити ймовірність.
jojek

Ви можете спершу перевірити, чи можете ви відокремити сміх від тиші, перевіривши потужність / амплітуду сигналу в заданий час. Даючи вам можливість порогових моментів, коли "щось" відбувається. Тоді ви можете спробувати подивитися на розподіл частоти. Наприклад, мова може мати певні чіткі різкі вершини (байдуже, де саме ці вершини, лише те, що вони існують), а сміх рівномірний, як ви сказали. Відстеження цього може дати значення, щоб вирішити, чи це сміх. (Вам потрібна інформація про обсяг, щоб переконатися, що у вас просто однакова тиша)
користувач6522399,

Відповіді:


0

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

Існує багато способів розглянути проблему.

Підхід №1

Одного разу, ви можете просто подивитися на вектор MFCC. і застосувати це до будь-якого класифікатора. Оскільки у вас є багато співпрацівників у частотній області, ви, можливо, захочете переглянути структуру класифікаторів каскаду з розширеними алгоритмами, такими як Adaboost на основі цього, ви можете порівняти між класом мовлення та класом сміху.

Підхід №2

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

Підхід №3

Змусити застосувати сигнал кодування типу LPC / CELP і спостерігати за залишком. Кодування CELP робить дуже точну модель виробництва мови.

З посилання тут: ТЕОРІЯ КОДУВАННЯ СЕЛП

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

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

Як це допомагає вашій проблемі? В основному, якщо застосувати кодування CELP, мова в сигналі здебільшого видаляється, що залишається - залишок. У разі сміху більшість сигналів може бути збережена, оскільки CELP не зможе передбачити такий сигнал при моделюванні голосових шляхів, де як окрема мова буде мати дуже мало залишку. Ви також можете проаналізувати цей залишок у частотній області, щоб побачити, чи це сміх чи мова.


0

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

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