Home Робототехника Искусственный интеллект сгенерировал музыку из данных аудиоволн | DeepTech

Искусственный интеллект сгенерировал музыку из данных аудиоволн | DeepTech

0
Искусственный интеллект сгенерировал музыку из данных аудиоволн
 | DeepTech

Введение

В этой статье мы исследуем, как можно использовать ИИ для анализа звуковых волн и автоматического создания музыки.

Мой вопрос

Я люблю музыку. В детстве я брал уроки игры на барабанах в средней школе и колледже. Я также создаю музыку на своем компьютере, используя FL Studio и Virtual DJ. На протяжении многих лет я пытался разучить несколько песен на скрипке, но мне никогда не удавалось добиться большого успеха, что привело меня к следующему вопросу:

Может ли компьютер играть на инструменте так же, как опытный музыкант?

Чтобы ответить на этот вопрос, нам сначала нужно изучить тему компьютерного звука.

Компьютерное аудио

Я новичок в аудиотехнике и компьютерной музыке, но за несколько недель обучения я многому научился. Вот несколько важных концепций, о которых я узнал.

  1. В волновом файле (.wav) хранятся байтовые данные, которые можно использовать для представления звука.
  2. В формате PCM байтовые данные представляют собой последовательность числовых значений амплитуды со знаком.
  3. Позиции в последовательности связаны с моментами времени, а изменения значений амплитуды приводят к вибрации динамиков.
  4. В формате два байта на кадр (или 16-битном формате) каждое числовое значение амплитуды представляется в виде пары байтов. Это позволяет использовать значения амплитуды от -32768 до 32767.
  5. Используя порядок с прямым порядком байтов, второй байт содержит старшие биты, а первый байт содержит младшие биты.
  6. Стерео имеет два аудиоканала (например: левое и правое ухо), а моно — один аудиоканал.

Я смог применить эти знания для программного чтения, записи, воспроизведения, копирования и смешивания аудиоданных из нескольких звуковых файлов. Я также смог программно выполнить несколько простых преобразований звука.

Аудио преобразования

Аудио можно преобразовать, манипулируя соответствующей последовательностью значений амплитуды.

Например:

  1. Для регулировки громкости мы умножаем значения амплитуды на постоянный коэффициент.
  2. Чтобы объединить два звуковых клипа, мы суммируем значения амплитуд из соответствующих последовательностей.

Мое решение для создания музыки

Для своего побочного проекта я создал компьютерный ИИ, который читает песню и пытается воссоздать ее, используя заданный инструмент.

Если инструмент — скрипка, то программа сначала считывает сэмплы скрипки. Затем программа копирует, преобразует и смешивает эти семплы, чтобы воссоздать оригинальную песню.

Посмотреть пример процесса отдыха на скрипке можно здесь.

Источник: YouTube

Примечание. Сгенерированная скрипка играет ближе к концу видео.

Вы также можете прослушать сгенерированный звук здесь.

Источник: Саундклауд

Процесс отдыха основан на интуитивной идее. Сэмплы скрипки многократно воспроизводятся с разными интервалами разными способами, чтобы создать звуки, соответствующие фрагментам исходной песни. ИИ определяет, как эффективно выполнить этот процесс, в течение серии раундов. По мере увеличения количества раундов сгенерированный звук все больше и больше напоминает музыку.

Существующие решения

Оказывается, существуют программные решения, которые напрямую конвертируют аудио в MIDI. Это позволяет извлечь мелодию из аудиофайла и транскрибировать ее в композицию. В будущей работе я надеюсь изучить различные подходы к преобразованию аудио в MIDI.

Вот несколько полезных ссылок, которые я нашел.

http://akoff.com/audio-to-midi.html

http://www.justinsalamon.com/melody-extraction.html

Большое спасибо за чтение! Я с радостью приветствую любые мысли, отзывы и комментарии.

Это была моя первая серьезная попытка создать музыку, генерируемую искусственным интеллектом. В будущем я надеюсь узнать больше о существующих технологиях производства музыки и аудиотехники, чтобы усовершенствовать свой подход к созданию музыки.

Я очень признателен всем музыкальным исполнителям, которые поделились своими песнями и сэмплами.

ДЖБА – https://spot1techno.newgrounds.com

Карлос Вакеро – https://freesound.org/people/Carlos_Vaquero

LEAVE A REPLY

Please enter your comment!
Please enter your name here