Вчера был завершён очередной цикл разработки медиаплеера Amarok. В новой версии вновь появится так называемый Moodbar, графический элемент, помогающий ориентироваться в звуковой дорожке.
Пользовательские качества Moodbar
По умолчанию Moodbar встраивается в полосу перемещения по дорожке. Это выглядит как разноцветная линейчатая полоса. Встраивание в полосу прокрутки удобно тем, что можно щёлкать мышью прямо на графическом представлении звука.
Цвет в каждом месте дорожки определяется из звукового спектра в том же месте. Рекомендую сразу выбрать стиль «Happy», это наиболее яркие цвета. Очень тихий звук соответствует чёрному цвету. При монотонном звуке спектр не меняется, поэтому получается почти однородный цвет. Смотря на цветную полосу, можно даже найти повторяющиеся фрагменты музыки. В грубом приближении, три составляющих цвета зависят от интенсивности звука в трёх частотных диапазонах:
* 20..920 Гц
* 920..3150 Гц
* 3150..15500 Гц
Генерация файлов .mood
В Amarok 2 пока нет встроенной возможности анализа выбранных файлов, поэтому на сайте предлагается использовать скрипт, запускающий анализатор moodbar для всех звуковых файлов в данной и во вложенных директориях.
К сожалению, анализатор не работает с видео, а Amarok работает. Но можно предварительно извлечь звук из видеофайла:
ffmpeg -i video.avi video.mp3
После этого можно смотреть видеофайлы с включённым Moodbar:
Имена файлов .mood, открываемых Amarok для соответствующих медиафайлов, формируются так: в начало имени приписывается точка (чтобы файл был скрытым), а последнее расширение изменяется на «mood», например:
song.mp3 -> .song.mood
video.avi -> .video.mood
Алгоритм анализа звука
Идеи, использованные в алгоритме анализатора moodbar, описаны в статье Gavin Wood и Simon O'Keefe. Однако в moodbar реализована очень малая часть идей из статьи. Фактически используемый алгоритм состоит из следующей последовательности действий:
* Находится спектр в ряде точек (используется локальное преобразование Фурье);
* Спектр разбивается на 24 диапазона в соответствии с шкалой Баркгаузена, в каждом диапазоне суммируются амплитуды;
* Диапазоны группируются по 8 штук, в каждой из трех групп суммируются интенсивности звука, от этих суммарных интенсивностей напрямую зависит «цвет» в данном интервале времени.
Перевод на русский
На мой взгляд, русский аналог термина «Moodbar» ещё не устоялся, поэтому в списке рассылки русских локализаторов KDE было начато его обсуждение. Можно высказывать свои мнения здесь.
Согласен, область применения весьма туманна. Но можно, к примеру, пропускать «скучные» отрывки песен. Можно сравнивать отрывки песни, найдя их и запомнив глазами. То есть этот Moodbar можно использовать как альтернативную шкалу времени.