Документация Engee

Введение

В этой документации описывается, как использовать пакеты JuliaMusic, которые предназначены для считывания, обработки и сохранения данных, связанных с музыкой, и написаны на языке программирования Julia. Большая часть функций реализована в формате MIDI, который описывается далее на этой странице.

Новое! "Очеловечивание": humanize!

Текущая документация была создана с использованием следующих версий пакетов:

using Pkg
Pkg.status(["MIDI", "MotifSequenceGenerator",
            "MusicManipulations", "MusicVisualizations"],
            mode = PKGMODE_MANIFEST, io=stdout
)
Status `/mnt/c/For_GIT/External_Packages/JuliaMusic_documentation.jl-master/docs/Manifest.toml`
  [f57c4921] MIDI v2.7.0
  [7d228ccb] MotifSequenceGenerator v1.0.0
  [274955c0] MusicManipulations v1.7.1
  [8e838768] MusicVisualizations v0.2.6

Кроме того, использовались Literate.jl и Documenter.jl. Документация написана и поддерживается Джорджем Дацерисом (George Datseris).

Начало работы

Текущая документация предполагает, что вы уже знакомы с форматом MIDI и языком Julia. После установки Julia вы можете установить нужные вам пакеты, введя в REPL Julia символ ] (для перехода в режим диспетчера пакетов), а затем команду add MIDI MusicManipulations. Узнать больше о формате MIDI можно в разделе MIDI: минимальные необходимые знания. В разделе Обзор описываются предлагаемые JuliaMusic возможности.

Цитирование

Если вы использовали MIDI.jl или MusicManipulations.jl в исследовании, которое в итоге было опубликовано, просим указать ссылку на нашу статью, используя следующую запись BibTeX:

@article{Datseris2019,
  doi = {10.21105/joss.01166},
  url = {https://doi.org/10.21105/joss.01166},
  year  = {2019},
  month = {mar},
  publisher = {The Open Journal},
  volume = {4},
  number = {35},
  pages = {1166},
  author = {George Datseris and Joel Hobson},
  title = {{MIDI}.jl: Simple and intuitive handling of MIDI data.},
  journal = {The Journal of Open Source Software}
}

Представление о научных проектах, в которых используется это программное обеспечение, можно получить здесь: https://www.nature.com/articles/s41598-019-55981-3

Обзор

MIDI

MIDI.jl — это модуль, в котором определены такие базовые типы, как дорожки, функции чтения и записи, функции нот и другие основополагающие элементы.

  1. Basic MIDI structures : The API of basic types like midi files and tracks, as well as IO. Various utility functions are included as well.

  2. Notes : The Note construct describes a music note. Many convenience tools are also provided in the same page, like e.g. turning a note pitch to a string like A♯3.

MusicManipulations

Пакет MusicManipulations.jl предоставляет более продвинутые возможности обработки нот, извлечения данных, квантизации и других подобных процессов, связанных с музыкальными данными.

  1. Note Tools for easy handling of notes.

  2. Quantizing & Humanizing for quantizing and classifying notes on a given grid.

  3. Music data extraction.

MusicVisualizations

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

MotifSequenceGenerator

MotifSequenceGenerator.jl — это чрезвычайно простой модуль, который решает очень простую задачу: на основе набора мотивов указанной длины создает случайную последовательность так, чтобы она также имела указанную длину.

  1. Motif sequence generation introduces the module and has a basic usage example.

  2. Music motifs applies this to notes.

Блог об улучшении навыков игры на ударных

Этот раздел документации больше похож на блог. На этих страницах я описываю то, как с помощью пакетов JuliaMusic и языка программирования Julia я улучшаю свои навыки игры на барабанах.