Содержание статьи
С машинами на одном языке: как компьютеры «слышат» музыку и для чего используют этот навык
Генерация музыки
«Если позволить себе пофантазировать и пойти еще дальше, я вижу не просто умное музыкальное приложение для терапии, а целые адаптивные дома. Было бы здорово иметь системы, способные просканировать эмоциональное состояние человека, как только он перешагнул порог своей квартиры, чтобы включить нужное освещение, поменять цвет стен, выбрать на фоне подходящее музыкальное сопровождение. Я верю, что музыка сильно влияет на здоровье человека. Если понять, как именно использовать ее во благо, технология генерации треков станет незаменимой», — рассуждает Тимур Хазиев.
В области создания аудио успехи пока не столь впечатляющие. Несмотря на то, что Jukebox представляет собой смелый шаг вперед в плане качества музыки, длины аудио и способности настроиться на исполнителя или определенный жанр, различия между искусственной музыкой и произведениями, созданными людьми, все еще заметны. Так, в мелодиях от Jukebox хоть и есть традиционные аккорды и даже впечатляющие соло, мы не слышим крупные музыкальные структуры, такие как повторяющиеся припевы. Также в искусственных произведениях слышны шумы, связанные со способом работы моделей. Скорость генерации музыки также пока еще невысока — для полного рендеринга одной минуты звука с помощью Jukebox требуется около девяти часов, поэтому их пока нельзя использовать в интерактивных приложениях.
У машины этот процесс протекает иначе. Чтобы она «услышала» музыку, ее нужно преобразовать в набор цифр, понятный компьютеру. Преобразование в цифровой код происходит благодаря процессам дискретизации и квантования. Информация приходит в компьютер в виде непрерывной звуковой волны, «переведенной» в электрический ток. Чтобы описать ее на языке цифр, специальный преобразователь «нарезает» эту волну на очень маленькие отрезки длиной в несколько миллисекунд. Это дискретизация — процесс, когда непрерывная волна становится поделенной на части, то есть дискретной. Однако даже в самых крохотных отрезках звук представляет собой продолжительный кусочек волны. Для удобства преобразователь «округляет» его значения, измеренные во время дискретизации, и представляет в виде точки. Такой процесс называется квантованием.
«Любую табличную информацию, например, об изменении какого-либо параметра во времени, можно перевести в нотную последовательность, потому что ноты — это, по сути, таблица. Так астрофизики предоставили нам сведения об изменении солнечной активности и количестве пятен на нем, начиная с 1960 года. Мы присваивали этим данным ноты, и таким образом получалась мелодия, — объясняет музыкальный продюсер Тимур Хазиев. — После чего нам оставалось лишь художественно доработать композиции, чтобы передать характер каждого объекта. Черная дыра — это что-то трагическое, мистическое. Солнце — что-то теплое. Так и получился альбом про космос, приуроченный ко Дню космонавтики».
Способность искусственного интеллекта представлять музыку цифровым кодом нашла практическое применение в нашей жизни. Именно благодаря спектрограммам нейросети анализируют и распознают музыку, чтобы, например, с помощью Shazam находить похожие треки. Когда приложение «слышит» композицию, оно сравнивает ее спектрограмму со множеством других из базы данных и отыскивает совпадения. При этом искусственный интеллект распознает мелодию даже сквозь помехи вроде голосов за соседним столиком или шума машин.
Механизм сравнения композиций активизируется и на этапе, когда разработчикам необходимо выгрузить массив новых песен в приложение. До официального релиза нейросети молниеносно анализируют композиции и определяют их основные характеристики, чтобы сразу после загрузки треков в сервис они попали в рекомендации к пользователям, которым такая музыка точно понравится. Другими словами, в момент загрузки песен нейросети уже знают, какие треки слушаем мы и какими особенностями обладают новые композиции. Сравнивая эти данные между собой, ИИ решает, порекомендовать ли нам новую песню или нет.
Как творят нейросети?
Такой подход, например, позволил создать музыку в стиле Баха. Другой пример — нейросеть от OpenAI Musenet, которая появилась в апреле 2019 года. MuseNet может сочинять четырехминутные композиции на десяти инструментах и комбинировать стили «от Моцарта до Beatles». Эта нейросеть была обучена на огромном массиве MIDI-записей.
Генерация реалистичного человеческого голоса нужна не только для пения, но и во многих системах — от call-центров до личных голосовых помощников. Еще в 2016 году компания DeepMind выпустила алгоритм WaveNet, который создает очень реалистичный голос по заданному тексту (Text-To-Speech). Технология доступна для двух языков — английского и китайского.
В апреле 2020 года, компания OpenAI выпустила Jukebox, — нейросеть, которая генерирует музыку в различных жанрах. Она может сгенерировать даже элементарный голос, а также различные музыкальные инструменты. Jukebox создает аудиосигнал напрямую, минуя символьное представление. Такие музыкальные модели имеют гораздо большую емкость и сложность, чем их символьные аналоги, что подразумевает более высокие вычислительные требования для обучения модели.
В 2016 году разработчики «Яндекса» выпустили альбом «Нейронной обороны». В него вошли 13 песен в стиле «Гражданской обороны», тексты для которых сочинил искусственный интеллект. А годом позже вышел альбом «Neurona» с четырьмя песнями в стиле Nirvana, стихи для которых также были сгенерированы нейросетями.
Еще более наглядное объяснение этого процесса дается в рамках «Урока Цифры» от Яндекса — «Цифровое искусство: музыка и IT». В этом проекте эксперты компании рассказывают о музыкальной оцифровке, теории звука, системах рекомендаций в медиасервисах, а после теоретической части участники могут попробовать самостоятельно продолжить композицию. Уроки и задания предназначены для школьников, но взрослым они тоже будут интересны.
«Сейчас одна из самых сложных задач – понять, как рекомендовать людям непопулярные треки, – рассказывает руководитель группы рекомендательных продуктов Медиасервисов Яндекса Даниил Бурлаков. – Если у нас есть суперизвестная песня, мы на основании статистики прослушивания можем представить, каким пользователям она будет интересна. Но когда мы имеем дело с треком, который послушало всего 100 человек, предположить, кому еще она может понравиться, гораздо сложнее. Это вопрос объема данных: в отличие от людей, машинам требуется больше информации для обучения. Если ее не очень много, остается только один путь — научить нейросети использовать имеющиеся данные и делать это более эффективно. На этом сейчас сосредоточено много усилий программистов».
В области генерации музыки иногда используют «музыкальный тест Тьюринга». Так, например, был протестирован алгоритм DeepBach, который генерирует ноты в стиле Баха. Были опрошены более 1,2 тыс. людей (как эксперты, так и обычные люди), которые должны были отличить реального Баха от искусственного. И оказалось, что сделать это очень сложно — люди с трудом могут различать хоралы, сочиненные Бахом, и созданные DeepBach.
Хорошо, с музыкальными композициями разобрались, а как же тексты для песен? Может ли искусственный интеллект сочинять стихи? Да, и эта задача даже проще, чем написание мелодий, хотя и сложностей здесь тоже хватает — алгоритму нужно не только «придумать» осмысленный текст, но и учесть его ритмическую структуру.