Автоматическое распознавание текста в треках без модерированного текста
TL;DR: NLP модель для музыкальных текстов и синхронизации текста в режиме караоке.
Я был приятно удивлен, что в Яндекс Музыке есть текст песен, хоть и не синхронизированный. Однако со временем я начал замечать, что к некоторым трекам нет текста, а к некоторым текст написан неправильно. Я сразу подумал, что Яндекс использует свой главный продукт, чтобы находить тексты песен на сайтах, которые не блокируют поисковых роботов. Если это так, то это умно, но так нельзя гарантировать правильность текста, пока кто-нибудь не проверит текст вручную (а бегать на этот покосившийся форум чтобы попросить исправлений мало кто будет).
Думая о вариантах предоставления текста в принципе
- поиск - самый дешевый и самодостаточный вариант, но без модерации тексты могут не совпадать
- своя платформа - дорого и самое главное, надо надеяться на пользователей, части которой либо не интересно писать тексты, либо они пишут их для галочки, возможно даже результат будет такой же как с поиском
- сотрудничество с лейблами - к сожалению, судя по LyricFind, лейблы тоже могут поставлять бредовый текст, будто они не запрашивают его у артистов
- сотрудничество с сервисами
- musixmatch - синхронизирует текст, курируется пользователями, но не без проблем. Первая - он тоже зависит от правообладателей, которые могут наложить право вето на тексты песен (даже если они неправильные). Вторая - он имеет кривую систему поощрений - у пользователей есть уровни, и чем выше уровень, тем больше прав ты имеешь, например определенные пользователи могут блокировать текст песен для изменения. А поскольку модераторами становятся по праву количества действий, а не качества, часто возникают ситуации, когда текст песен даже исправить нельзя. В таком случае есть кнопка "пожаловаться на неправильный текст", но мои просьбы и через год не были услышаны. (Хотел бы скинуть ссылку на Welshly Arms - X для пруфа, но сейчас они даже его текст не показывают на сайте). С floating window были проблемы, что начинал крутить текст другой песни.
- genius - платформа, которой лучше удается хранить правильный текст, наверное потому, что блокировок нет. Но он направлен не на синхронизацию текста, а на расшифровку мыслей, поэтому максимум даст хороший текст. Ремиксы в пролете
Поэтому, учитывая оригинальные инициативы Яндекса в сфере машинного обучения, я подумал, что Яндекс вполне может использовать его и здесь, научив модель распознавать текст в музыке. Также ее можно использовать для того, чтобы синхронизировать текст (возможно отдельным этапом, чтобы пробовать синхронизировать заведомо хороший текст без переписывания), контролируя интервалы без слов и даже отдельные слова.
Да, на бета-этапе возможно будет не супер (переключатель между распознанным и найденным текстом может помочь пользователям, я считаю, он будет необходим), но если использовать вариант с 2 состояниями (дефолтный текст -> подтвержденный текст, с соответствующими дисклеймер-плашками), распознавание со временем может стать очень неплохим дефолтным вариантом и хотя бы поможет почти исключить ручную синхронизацию текста (за некоторыми исключениями).
Для случаев, когда машина не справляется, стоит добавить кнопку "сообщить об ошибочном распознавании"/"ошибочной синхронизации", возможно даже с полем для ввода текста, чтобы пользователи могли сэкономить разработчикам время, исправив текст, который после проверки можно было бы использовать для тренировки модели.
Насчет исправлений временных меток LRC - честно говоря хз, тут вообще скорее всего понадобится отдельную страничку делать, чтобы протестить можно было на реальном треке, если вообще позволять пользователям править синхронизацию. Типа с одной стороны разработчикам может быть все равно на миллисекунды синхронизации, с другой - пользователям будет лень проверять каждую строчку (слово?) в случае одной грубой ошибки, и в итоге оба варианта могут только навредить модели.
Но если все сработает, это существенно облегчит жизнь с текстами песен, и даже может стать киллер-фичей (главное визуально-опытно не запороть - у deezer был мелкий текст на телефоне, а spotify не позволяет увидеть весь текст на десктопе, например).
Если Музыка в принципе станет конфеткой - у нее даже могут быть шансы на мировой арене, хотя бы на уровне Deezer (Spotify просто уже дофига всего сделал внутри и снаружи и, главное, продолжает развиваться, поэтому его уже не догнать).
P.S. на подтвержденный текст тоже нужно оставить возможность пожаловаться - расписал почему в поинте про musixmatch. Блокировка текста только вредит. Если исправлять нечего - то никто и так трогать текст не будет.
Многие исполнители очень нечетко произносят слова, и у песен нет официального текста на ресурсе. Очень не хватает субтитров для песен, у которых нет загруженного текста.