Статья опубликована в рамках: CXL Международной научно-практической конференции «Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ» (Россия, г. Новосибирск, 05 августа 2024 г.)
Наука: Информационные технологии
Скачать книгу(-и): Сборник статей конференции
дипломов
СОЗДАНИЕ МУЗЫКИ НА ЯЗЫКЕ ПРОГРАММИРОВАНИЯ R
MUSIC CREATING IN THE PROGRAMMING LANGUAGE R
Kristina Zhuravleva
student, Department of Natural Sciences, Faculty of Business Communications and Informatics, Irkutsk State University,
Russia, Irkutsk
АННОТАЦИЯ
В статье представлен обзор возможностей использования языка программирования R для создания музыки, дано описание различных пакетов. Также описана методология, выделены преимущества и недостатки языка в этой сфере. Статья завершается обсуждением потенциала использования R для создания разнообразной музыки от простых мелодий до сложных оркестровых аранжировок.
ABSTRACT
The article provides an overview of the possibilities of using the programming language R to create music, provides a description of various packages. The methodology is also described, the advantages and disadvantages of the language in this sphere are highlighted. The article concludes with a discussion of the potential of using R to create diverse music, from simple melodies to complex orchestral arrangements.
Ключевые слова: создание музыки, язык программирования R, библиотеки R, пакеты R, tabr, gm, chorrrds, music21, chordgen, синтез звука, музыкальные паттерны, гармонии, последовательности, аранжировка, обработка данных.
Keywords: creation of music, programming language R, libraries R, packages R, tabr, gm, chorrrds, music21, chordgen, synthesis of sound, musical patterns, harmonies, sequences, arrangement, data processing.
Введение
Создание музыки — увлекательное и многогранное занятие, которое традиционно ассоциируется с использованием специализированных программ и инструментов. Однако в последние годы язык программирования R набирает популярность в этой области благодаря своим мощным возможностям обработки данных. В этой статье мы рассмотрим набор пакетов, преимущества и недостатки языка, а также методологию создания музыки в R.
Обзор библиотек и пакетов R
Существует множество библиотек и пакетов R, которые предоставляют функции для создания музыки. Среди них:
- {tabr}
Данный пакет предоставляет синтаксис нотной записи и набор функций музыкального программирования для генерации, обработки, организации и анализа музыкальной информации в R.
Структура нотной записи облегчает создание и анализ музыкальных данных в форме нот. Помимо множества других функций, {tabr}
имеет функцию визуализации аккордовых схем, которая может быть особенно интересна пользователям пакета {chorrrds}.
- {gm}
Название этого пакета можно интерпретировать в двух вариантах: грамматика музыки или генерация музыки. Это соответствует двум функциональным возможностям пакета: язык для представления музыки, а также генерация музыкальных партитур и аудиофайлов.
Пакет предоставляет интуитивно понятный язык, с помощью которого можно легко создавать музыку в R. Он генерирует и встраивает музыкальные партитуры и аудиофайлы в документы R-Studio.
- {chorrrds}
Данный пакет нужен для извлечения и анализа музыкальных аккордов. Он сканирует веб-сайт для загрузки музыкальных аккордов Cifra Club.
Его можно считать пакетом для MIR (Music Information Retrieval). MIR — это широкая область вычислительной музыки, которая извлекает и обрабатывает музыкальные данные, от неструктурированных, таких как звуковые волны, до структурированных, таких как ноты или аккорды.
В настоящее время основными функциями пакета являются: извлечение названий песен определённого исполнителя и извлечение аккордов песни. Также есть некоторые вспомогательные объекты - кадры данных, содержащие все основные гаммы и мажоры, а также расстояние от ноты С в квинтовом круге по полутонам.
Удобство использования этого пакета может быть значительно увеличено в сочетании с другими инструментами MIR, такими как пакет {tabr}, который предлагает конвертер синтаксиса нотной записи.
- {music21}
Основан на библиотеке music21 из языка программирования Python, используется для запуска любых функций внутри него, показывает хоралы Баха и генерирует случайные аккорды с помощью внутреннего пакета {chordgen}.
- {chordgen}
Сделан поверх пакета {music21}, генерирует случайные аккорды и может добавлять тексты песен.
Методология
Методология создания музыки в R включает в себя следующие этапы:
- Генерация звуков.
Использование функций синтеза для создания основных единиц звука (например, волн, шумов).
- Формирование музыкальных паттернов.
Объединение звуков в более сложные структуры (например, риффы, мелодии).
- Создание гармоний.
Добавление дополнительных нот или аккордов для обогащения музыкального звучания.
- Последовательность и аранжировка.
Организация музыкальных паттернов и гармоний в связную композицию.
Результаты
Благодаря использованию пакетов R и описанной методологии можно создавать разнообразную музыку от простых мелодий до сложных оркестровых аранжировок. Качество музыки зависит от выбранных алгоритмов, параметров и мастерства композитора.
Преимущества и недостатки
Создание музыки в R имеет ряд преимуществ:
- Доступность.
R является бесплатным и общедоступным языком программирования.
- Мощность обработки данных.
R предоставляет мощные инструменты для анализа и обработки музыкальных данных.
Однако есть и некоторые недостатки:
- Сложность обучения.
R может быть сложным в освоении для начинающих.
- Ограниченная звуковая библиотека.
R имеет ограниченную встроенную библиотеку звуков.
- Отсутствие графического интерфейса.
R в основном основан на тексте, что может быть непривычно для некоторых композиторов.
Заключение
Создание музыки в R — это захватывающий и инновационный подход, который открывает новые возможности для композиторов и исследователей. Хотя R может быть сложным для новичков, его мощь и гибкость делают его ценным инструментом для тех, кто стремится создавать музыку с помощью программирования. По мере дальнейшего развития языка и экосистемы пакетов R, мы можем ожидать еще большего прогресса в этой увлекательной области.
Список литературы:
- Chordgen [Электронный ресурс]. – Режим доступа: https://github.com/r-music/chordgen (дата обращения: 19.07.2024)
- Chorrrds [Электронный ресурс]. – Режим доступа: https://github.com/r-music/chorrrds (дата обращения: 17.07.2024)
- Complete Guide to gm [Электронный ресурс]. – Режим доступа: https://cran.r-project.org/web/packages/gm/vignettes/gm.html (дата обращения: 20.07.2024)
- Complete Guide to gm [Электронный ресурс]. – Режим доступа: https://flujoo.github.io/gm/articles/gm.html (дата обращения: 20.07.2024)
- Introduction to the chorrrds package [Электронный ресурс]. – Режим доступа: https://r-music.rbind.io/posts/2018-08-19-chords-analysis-with-the-chorrrds-package/ (дата обращения: 19.07.2024)
- Introduction to the gm package [Электронный ресурс]. – Режим доступа: https://r-music.rbind.io/posts/2021-04-03-gm/ (дата обращения: 19.07.2024)
- Music notation syntax converters [Электронный ресурс]. – Режим доступа: https://leonawicz.github.io/tabr/reference/to_tabr.html (дата обращения: 18.07.2024)
- Music21 [Электронный ресурс]. – Режим доступа: https://github.com/r-music/music21 (дата обращения: 17.07.2024)
- Music21 [Электронный ресурс]. – Режим доступа: https://r-music.rbind.io/posts/2018-10-06-music21/ (дата обращения: 18.07.2024)
- Render chord charts [Электронный ресурс]. – Режим доступа: https://leonawicz.github.io/tabr/articles/tabr-chordchart.html (дата обращения: 20.07.2024)
- Tabr [Электронный ресурс]. – Режим доступа: https://leonawicz.github.io/tabr/ (дата обращения: 17.07.2024)
дипломов
Оставить комментарий