Google Assistant научился распознавать не только записанные песни, но и напетые или насвистанные. После обработки записи алгоритмами машинного обучения приложение выдает наиболее вероятные песни и указывает вероятность совпадения, пишет N+1 . Функция доступна в приложении или виджете Google для Android, а также iOS, но только на английском.
Уже много лет для смартфонов разрабатывают программы, которые могут распознавать играющие рядом песни. Реализация алгоритмов варьируется от программы к программе, но в целом их принцип работы заключается в анализе пиков на спектрограмме аудиозаписи, преобразовании этих данных в акустический отпечаток и сравнение его с отпечатками из базы данных.
Поскольку данные сравниваются с базой в сильно сжатом виде, по сути отражающем основную мелодию песни, потенциально такой же способ можно применять и для напетых мелодий. На практике это сложная задача, потому что данные могут быть неполными (человек забыл часть мелодии) и искаженными, а вместо нескольких инструментов при напевании используется лишь один «инструмент».
Несколько лет назад подобную функцию реализовали разработчики приложения SoundHound, а теперь она также появилась в поиске Google — для этого нужно спросить голосового помощника, что за песня сейчас играет. Разработчики обучили новые нейросетевые модели на записях людей, насвистывающих и напевающих различные песни со словами или без. В результате сервис распознавания песен научился сопоставлять такие записи с обычными песнями из своей базы.
На момент запуска функция доступна в последних версиях приложений Google на Android и iOS, при этом на Android она работает с более чем 20 языками, в том числе на русском, а на iOS пока она доступна только на английском, но компания обещает расширять список языков. После того, как алгоритмы прослушали песню, приложение выдает не конкретную песню, как происходит обычно, а три на выбор с указанием вероятности соответствия для каждой из них, и, в некоторых случаях, кнопку с дополнительными результатами.