Архитектура и алгоритмы для индексации всей музыки...
TRANSCRIPT
![Page 1: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/1.jpg)
Архитектура и алгоритмы для индексации всей музыки ВКонтакте
Алексей Акуловичvk.com
161104#5
![Page 2: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/2.jpg)
50миллионов треков?
Сколько музыки в ВК?
![Page 3: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/3.jpg)
100миллионов треков?
Сколько музыки в ВК?
![Page 4: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/4.jpg)
200миллионов треков?
Сколько музыки в ВК?
![Page 5: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/5.jpg)
500миллионов треков?
Сколько музыки в ВК?
![Page 6: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/6.jpg)
400миллионов треков
Сколько музыки в ВК?
![Page 7: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/7.jpg)
400миллионов треков
4 ПБ файлов
Сколько музыки в ВК?
![Page 8: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/8.jpg)
400миллионов треков
4 ПБ файлов
Сколько музыки в ВК?
+150к (1.5 ТБ)
в день
![Page 9: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/9.jpg)
Есть что послушать
![Page 10: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/10.jpg)
Найти в поиске по названию из ID3 тегов
Что с этим можно делать?
![Page 11: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/11.jpg)
Найти в поиске по названию из ID3 тегов
Дубли
Что с этим можно делать?
![Page 12: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/12.jpg)
Найти в поиске по названию из ID3 тегов
Дубли
Несоответствие названий и содержимого
Что с этим можно делать?
![Page 13: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/13.jpg)
Найти в поиске по названию из ID3 тегов
Дубли
Несоответствие названий и содержимого
И всё
Что с этим можно делать?
![Page 14: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/14.jpg)
Фильтровать дубли в поиске
Что хочется уметь делать
![Page 15: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/15.jpg)
Фильтровать дубли в поиске
Предлагать варианты лучшего качества
Что хочется уметь делать
![Page 16: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/16.jpg)
Фильтровать дубли в поиске
Предлагать варианты лучшего качества
Обложки, тексты, исполнители, …
Что хочется уметь делать
![Page 17: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/17.jpg)
Фильтровать дубли в поиске
Предлагать варианты лучшего качества
Обложки, тексты, исполнители, …
Легализация
Что хочется уметь делать
![Page 18: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/18.jpg)
Фильтровать дубли в поиске
Предлагать варианты лучшего качества
Обложки, тексты, исполнители, …
Легализация
Что хочется уметь делать
НА СЛУХ
![Page 19: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/19.jpg)
Перекодированию (смена битрейта и т.п.)
А ещё быть устойчивым к
![Page 20: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/20.jpg)
Перекодированию (смена битрейта и т.п.)
Добавлению тишины/шума в начало/конец
А ещё быть устойчивым к
![Page 21: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/21.jpg)
Перекодированию (смена битрейта и т.п.)
Добавлению тишины/шума в начало/конец
Убиранию небольшой части из начала/конца
А ещё быть устойчивым к
![Page 22: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/22.jpg)
Возьмём готовое решение!
![Page 23: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/23.jpg)
Решение лишь создавало отпечатки
Что вышло?
![Page 24: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/24.jpg)
Решение лишь создавало отпечатки
Поиск по ним мы сочинили свой
Что вышло?
![Page 25: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/25.jpg)
Решение лишь создавало отпечатки
Поиск по ним мы сочинили свой
В целом работало на тестах
Что вышло?
![Page 26: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/26.jpg)
Доп. требования: live, радио, подкасты
![Page 27: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/27.jpg)
Доп. требования: live, радио, подкасты
![Page 28: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/28.jpg)
Доп. требования: эквалайзер
![Page 29: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/29.jpg)
Доп. требования: склейки, каверы
![Page 30: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/30.jpg)
Доп. требования: зашумленный фрагмент
![Page 31: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/31.jpg)
Доп. требования: не вышло
Ольга Шалахіна (vk.com/osshalakhina)
![Page 32: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/32.jpg)
Что делать?
![Page 33: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/33.jpg)
Из файла достать аудио фреймы
Что делаем?
![Page 34: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/34.jpg)
Из файла достать аудио фреймы
Совершить некую магию
Что делаем?
![Page 35: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/35.jpg)
Из файла достать аудио фреймы
Совершить некую магию
Получить некие данные
Что делаем?
![Page 36: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/36.jpg)
Из файла достать аудио фреймы
Совершить некую магию
Получить некие данные
Как-то сравнивать файлы по этим данным
Что делаем?
![Page 37: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/37.jpg)
MP3 на вход → аудио данные на выходе
Библиотека libmad1 + свой враппер на Go2
1 — http://www.underbit.com/products/mad/2 — https://github.com/AterCattus/fennec-tiny (файл mad.go)
Декодирование MP3
![Page 38: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/38.jpg)
MP3 на вход → аудио данные на выходе
Библиотека libmad1 + свой враппер на Go2
1 — http://www.underbit.com/products/mad/2 — https://github.com/AterCattus/fennec-tiny (файл mad.go)
Декодирование MP3
FFMPEG
![Page 39: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/39.jpg)
Декодирование MP3: амплитуда
![Page 40: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/40.jpg)
Из файла достать аудио фреймы
Совершить некую магию
Получить некие данные
Как-то сравнивать файлы по этим данным
Что делаем?
![Page 41: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/41.jpg)
Звуковая волна
![Page 42: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/42.jpg)
Преобразование Фурье
![Page 43: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/43.jpg)
Спектрограмма
время
частота
![Page 44: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/44.jpg)
Спектрограмма
Songs About My Cats
Venetian Snares
![Page 45: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/45.jpg)
Спектрограмма
Continuum
Disasterpeace(FEZ Soundtrack)
![Page 46: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/46.jpg)
Спектрограмма
My Violent Heart
Nine Inch Nails
![Page 47: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/47.jpg)
Спектрограмма
Transitions
DJ Sonix
![Page 48: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/48.jpg)
Спектрограмма
Обычная песня
Займет 10 ПБ
А было 4 ПБ
![Page 49: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/49.jpg)
Из файла достать аудио фреймы
Совершить некую магию
Получить некие данные
Как-то сравнивать файлы по этим данным
Что делаем?
![Page 50: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/50.jpg)
Уменьшение объема данных
![Page 51: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/51.jpg)
Уменьшение объема данных
В 200 разменьше данных
![Page 52: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/52.jpg)
Уменьшение объема данных
Пики это (время, частота)
Время → uint32Частота → uint32(время, частота) → uint64
Отпечаток: массив uint64
![Page 53: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/53.jpg)
Из файла достать аудио фреймы
Совершить некую магию
Получить некие данные
Как-то сравнивать файлы по этим данным
Что делаем?
![Page 54: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/54.jpg)
Ищем временной сдвиг
одного трека относительно другого
при котором получается
максимум совпадений частот
Сравнение двух треков
![Page 55: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/55.jpg)
Сравнение треков: разные
![Page 56: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/56.jpg)
Сравнение треков: общий фрагмент
![Page 57: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/57.jpg)
Из файла достать аудио фреймы
Совершить некую магию
Получить некие данные
Как-то сравнивать файлы по этим данным
Что делаем?
![Page 58: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/58.jpg)
Всё ранее описанное общедоступно
https://github.com/AterCattus/fennec-tiny
Можно попробовать самим
Fennec SK042 Vulpes zerda Art Print by S-Schukina
![Page 59: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/59.jpg)
20 ТБ отпечатков
Как и где их все хранить?
Как по ним искать?
Кто подставил кролика Роджера?
Архитектура
![Page 60: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/60.jpg)
Архитектура
![Page 61: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/61.jpg)
На каждом upload сервере
Движок генерации отпечатков
![Page 62: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/62.jpg)
На каждом upload сервере
Многопоточностьпо горутине на файл
Движок генерации отпечатков
![Page 63: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/63.jpg)
На каждом upload сервере
Многопоточностьпо горутине на файл
Обработка песни:типичная - 2-4 секундыаудиокнига - линейно больше
Движок генерации отпечатков
![Page 64: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/64.jpg)
Прореженные индексы
20 ТБ →100 ГБ
Да, возможны потери
Движок индексирования и поиска
![Page 65: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/65.jpg)
Обратные индексы в памяти
Движок индексирования и поиска
![Page 66: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/66.jpg)
Насколько быстро движок работает?
Движок индексирования и поиска
![Page 67: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/67.jpg)
Прогноз: 12 месяцев
Движок индексирования и поиска
![Page 68: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/68.jpg)
Был прогноз: 12 месяцев
Повсеместное использование sync.Pool
Получили: 10 месяцев
Движок индексирования и поиска
![Page 69: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/69.jpg)
Был прогноз: 10 месяцев
Использование container/heap
Получили: 6 месяцев
Движок индексирования и поиска
![Page 70: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/70.jpg)
Был прогноз: 6 месяцев
Специализация container/heap
Получили: 5 месяцев
Движок индексирования и поиска
![Page 71: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/71.jpg)
Был прогноз: 5 месяцев
Свой container/heap
Получили: 3 месяцев
Движок индексирования и поиска
![Page 72: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/72.jpg)
Был прогноз: 3 месяцев
Обновления Go 1.5 → 1.6.2
Получили: 2.5 месяцев
Движок индексирования и поиска
![Page 73: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/73.jpg)
Ooops!
Production тестирование
![Page 74: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/74.jpg)
Ooops! Измененная скорость
![Page 75: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/75.jpg)
Наибольшая общая подпоследовательностьLCS (longest common subsequence)
Ooops! Измененная скорость
t
ν
t
νt
ν
t
ν
![Page 76: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/76.jpg)
Миксы и склейки
Версии на разных языках
«Happy birthday»
Рэп «школьников»
Ooops! Отличия во фрагментах
![Page 77: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/77.jpg)
Ooops! Отличия во фрагментах
![Page 78: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/78.jpg)
Ooops! Отличия во фрагментах
Одно совпадение Несколько совпадений
![Page 79: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/79.jpg)
● EQ changes Lowpass filter with 6dB octave roll-off starting at 10kHz● Low bitrate-sample rate MP3 encoding with standard ffmpeg settings at 64kbps
CBR 8kHz with an exception for 16kHz● Phase shifting or inversion between channels● Pitch shifting ± 2% at launch working to improve with an aim of reaching ±5%
over the course of the agreement● Speed changes 1.05x playback at launch, working to improve with an aim of
reaching 1.25x over the course of the Agreement, subject to mutual agreement between the Parties
● The addition of silence, voice-over, or other non-program material at the beginning or end of the track
Стресс-тест
Не читай - презентацию скачай :)
![Page 80: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/80.jpg)
«Ничто не вечно, ничто не закончено и ничто не совершенно»
Итоги
![Page 81: Архитектура и алгоритмы для индексации всей музыки ВКонтакте / Алексей Акулович (ВКонтакте)](https://reader031.vdocuments.site/reader031/viewer/2022020301/586f901b1a28ab54768b7851/html5/thumbnails/81.jpg)
Презентация:https://ater.me/conf/hl2016_audfp.pdf
Для вопросов после:https://vk.com/ac
Вот и всё