Здравствуйте, CTpaHHoe, Вы писали:
CTH>Постановка задачи пока что достаточно нечеткая — "выделить припев", примерно так. CTH>Собственно сабж, какие мысли, соображения?
для начала нужно бы четко определиться что такое "привеп" и сфомулировать ТЗ
Насколько мне известно, припев — это не изменяющаяся (в большинстве случаев) часть песни, повторяющаяся после каждого куплета. Между припевом и куплетом зачастую бывают паузы (голосовые). Можно попробовать порезать песню по голосовым паузам, а потом найти из кусков похожие.
Nuzhny пишет:
> Насколько мне известно, припев — это не изменяющаяся (в большинстве > случаев) часть песни, повторяющаяся после каждого куплета. Между > припевом и куплетом зачастую бывают паузы (голосовые). Можно попробовать > порезать песню по голосовым паузам, а потом найти из кусков похожие.
бывает так что между куплетом и припевом нет паузы, поется на одном дыхании
бывает так что каждое повторение припева немного отличается по тексту
бывает так что припев каждый раз поется под разную аранжировку,
соответственно общему уровню композиции в данном месте.
бывает так что в конце песни припев сдвигается на несколько полутонов вверх
не проще ли получать караоке песни по ID3/APE тегам, если таковые
имеются, и уже там проводить анализ или хотя бы грубо привязываться к
таймлайну?
РД>не проще ли получать караоке песни по ID3/APE тегам, если таковые РД>имеются, и уже там проводить анализ или хотя бы грубо привязываться к РД>таймлайну?
Нет, Роман, не проще.
Постановка задачи оговаривает только наличие mp3.
Анализ — грубый, то есть нам не требуется 100% попаданий. На данный момент хочется научиться хотя бы отпределять поют или нет
... << RSDN@Home 1.2.0 alpha 4 rev. 1111>>
[Guano Apes — We Use The Pain]
Здравствуйте, Роман Дубров, Вы писали:
РД>бывает так что между куплетом и припевом нет паузы, поется на одном дыхании РД>бывает так что каждое повторение припева немного отличается по тексту РД>бывает так что припев каждый раз поется под разную аранжировку, РД>соответственно общему уровню композиции в данном месте. РД>бывает так что в конце песни припев сдвигается на несколько полутонов вверх
РД>не проще ли получать караоке песни по ID3/APE тегам, если таковые РД>имеются, и уже там проводить анализ или хотя бы грубо привязываться к РД>таймлайну?
Разумеется, что абсолютно точно работать не будет. Я так понимаю, что задача на анализ звука, поэтому тэги для караоке вряд ли подойдут.
Я бы начал работу так:
1. Собрать библиотеку песен для разработки (разные стили, исполнители и т.д.).
2. Собрать контрольную выборку для тестирования.
3. Вручную порезать все песни — это идеальный вариант, к которому твой алгоритм должен стремиться.
4. Сравнить разными метриками между собой припевы, выбрать наилучшую. По возможности подобрать метрику нечувствительную к громкости (амплитуде).
5. Изучить характеристики сигнала в области разреза куплет/припев. Возможно, вырезать голос и работать только с ним.
...
Здравствуйте, Nuzhny, Вы писали:
N>Разумеется, что абсолютно точно работать не будет. Я так понимаю, что задача на анализ звука, поэтому тэги для караоке вряд ли подойдут.
абсолютно верно
N>1. Собрать библиотеку песен для разработки (разные стили, исполнители и т.д.).
Это есть. По стилям и направлениям для начала тоже ограничены.
N>2. Собрать контрольную выборку для тестирования.
А здесь какие критерии?
N>5. Изучить характеристики сигнала в области разреза куплет/припев. Возможно, вырезать голос и работать только с ним.
А с этого места — тёмный лес. Есть что почитать для начала, чтобы не задавать вопросы по теме, в которой не разбираюсь?
Здравствуйте, CTpaHHoe, Вы писали:
N>>2. Собрать контрольную выборку для тестирования.
CTH>А здесь какие критерии?
Охватить весь возможный диапазон входных данных. Как правило составляет 10-20% от выборки для разработки. Используется для независимого тестирования алгоритма, проверяется его способность к обобщению.
N>>5. Изучить характеристики сигнала в области разреза куплет/припев. Возможно, вырезать голос и работать только с ним.
CTH>А с этого места — тёмный лес. Есть что почитать для начала, чтобы не задавать вопросы по теме, в которой не разбираюсь?
Например, предположить, что между припевом и куплетом солист умолкает на промежуток времени больший чем 1 сек. Найти где-нибудь детектор речи (мне здесь
Очевидный подход, первый приходящий на ум:
1. разбиваем песню на мелкие кусочки, каждый ксочек раскладываем по частотам (ключевое слово — Фурье). Если на входе mp3, то именно это уже сделано.
2. Имеем двумерный массив: по одному измерению время, по второму — частота. Значения — амплитуды этих частот, или лучше их логарифмы.
3. В этом массиве ищем похожие полосы теми же алгоритмами, которыми в видео ищут похожие блоки (см. motion estimation).
То же самое можно провернуть не просто с частотами, а с коэффициентами вейвлет-разложения. В целом картина та же, просто у разных частот будет разное разрешение по времени.
CTpaHHoe пишет: > > попробую сформулировать более четко > куплет это часть песни, где поют. > припев это повторяющийся куплет > > мне нужны 1) паузы между куплетами 2) с некоторой точностью — > преположение, что этот куплет является припевом > > точнее пока не получается
Есть ли у вас опыт работы с речью, цифровой обработкой сигналов?
Если нет, то имхо, ловить вам нечего. Задача сильно нетривиальная.
Паузы между куплетами в общем случае не выделите, их может вообще не
быть. Похожесть одних фрагментов на другие — тут туева хуча методов от
кросс-корреляции до HMM и нейросетей .
Фактически если спросите у гугла — он вам выдаст кучу ссылок на статьи с
подходами к похожим задачам, но там будет все и ЦОС и ТВ с MC во всем
объеме курса, что вам давали в институте и много больше.
Думаю, если готовы потратить на эту задачу несколько лет, то что-то
получится в итоге.
2 Vzhyk не боги горшки обжигают. нам нужно не точное решение задачи, а приблизительное. наработок в этой области много, так что есть с чего начать. к тому случай рассматриваем не общий
В итоге буду смотреть
— смотреть детектор речи и его возможности, что подсказал Nuzhny
— преобразование Фурье и оценку движения, как советует D. Mon
Роман Дубров пишет: > > >> > ну... это надо формантный анализ ковырять >> Зачем? > > искать похожие повторяющиеся куски достаточно большой длины и считать их > припевом > впрочем могу и ошибаться, я тоже непрофессионал (Ц)
Ага. Просто сама по себе задача выделения формантных траекторий пока
очень далека от решения.