[Ответить в тред] Ответить в тред

03/04/16 - Набор в модераторы 03.04 по 8.04
26/03/16 - Конкурс: Помоги гомункулу обрести семью!
15/10/15 - Набор в модераторы 15.10 по 17.10



[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 8 | 2 | 5
Назад Вниз Каталог Обновить

АНАЛИЗ ТРЕКА — РАЗБИВАЕМ ТРЕК НА ЗОНЫ Аноним 18/05/16 Срд 12:53:35  746654  
14635652160040.png (66Кб, 1194x525)
Хочу программно проанализировать трек и разбить его на зоны, вроде "начало", "конец", "яма", "обычная часть", "самая активная часть". Начал я с того, что отобразил звуковую волну, которая представляет из себя массив чисел от 0 до 1. Чисто визуально эти зоны несложно определить по волне, но вот как это сделать программно?

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

Первое, что пришло в голову, это пройти по всему треку с определённым шагом (5 секунд). Шаг будет выдавать среднее значение + за каждым шагом будет сохранятся глобальное среднее значение текущей зоны до тех пор, пока не будет найдет конец зоны. Конец зоны нужно будет определять с какой-то заданной погрешностью видимо. То есть если был скачок при сравнение средних значений, значит одна зона закончилась и началась другая. Видимо как-то так.
Аноним 18/05/16 Срд 13:41:27  746694
>Чисто визуально эти зоны несложно определить по волне, но вот как это сделать программно?

Ты уверен? Нынче в эпоху loudness war форма волны может спокойно выглядеть как большой зеленый прямоугольник.

У тебя задача на machine learning из разряда "задизайнь вручную фичи и посмотри что получится". Какие фичи? Ну твое "среднее значение" (на самом деле RMS, потому что среднее значение у нормального трека должно быть равно 0, угадай почему), ритм (гугли rhythm detection algorithms), разные параметры спектра и т. п. Далее размечаешь твои активные зоны у хотя бы полсотни треков нужного тебе жанра и настраиваешь пороги срабатывания твоих алгоритмов. Хз, с наскоку такую задачу вряд ли решишь.
Аноним 18/05/16 Срд 14:17:27  746734
>>746654 (OP)
https://en.wikipedia.org/wiki/Cluster_analysis
Аноним 18/05/16 Срд 14:30:43  746744
>>746654 (OP)
Ну если ты собираешься ориентироваться только на громкость то у меня есть кое-какие наработки.
Аноним 18/05/16 Срд 14:48:45  746760
>>746744
Да, мне по сути только анализ громкости нужен. Нужно понять, где самые активные части трека, чтобы в эти моменты активировать кое-какие штуки.

>>746694
Это если уж совсем крутой разбор треков делать, а мне нужен примитивный разбор на основе волны/громкости.
Аноним 18/05/16 Срд 14:59:17  746774
>>746734
Как применить кластерный анализ в данном случае?
Аноним 18/05/16 Срд 15:06:10  746779
14635731707190.png (131Кб, 1138x1709)
Использовал умственно отсталый подход из ОП-поста. В принципе, нужные зоны выделяются, но и ненужные тоже, хотя их можно будет отсеять уже после.
Аноним 18/05/16 Срд 15:14:36  746791
>>746760
Ну короче вот тут https://github.com/stop-scrolling/webm-project/blob/master/screamer_detector/detector.py лежит недоделаный "детектор скримеров". Для определения громкости там используется фильтр для ffmpeg ebur128, вывод парсится.
Может пригодится. Правильно посчитать интегральную и кратковременную громкость не так уж просто на самом деле.
Аноним 18/05/16 Срд 20:29:00  747099
>>746654 (OP)
>Хочу программно проанализировать трек и разбить его на зоны
>Начал я с освоения аутофеляции
Неплохой подход я щитаю

[Назад][Обновить тред][Вверх][Каталог] [Реквест разбана] [Подписаться на тред] [ ] 8 | 2 | 5
Назад Вверх Каталог Обновить

Топ тредов