Музыкальные мотивы
MotifSequenceGenerator
можно применить непосредственно к музыкальным настройкам (Notes
) с помощью функции random_notes_sequence
. В разделе Комбинирование базовых барабанных ритмов эта функция, как и другие функции JuliaMusic, используется в реальных сценариях.
#
MusicManipulations.random_notes_sequence
— Function
random_notes_sequence(motifs::Vector{Notes{N}}, q, δq = 0; weights)
Create a random sequence from a pool of notes (motifs
) such that it has total length ℓ
exactly q - δq ≤ ℓ ≤ q + δq
. Notice that q
is measured in ticks. Optionally pass keyword weights
to sample different motifs with different weights (either as frequencies or as probabilities).
Создает случайную последовательность из набора нот (motifs
), такую, чтобы ее общая длина ℓ
составляла ровно q - δq ≤ ℓ ≤ q + δq
. Обратите внимание, что q
измеряется в тиках. Опционально передайте ключевое слово weights
для выборки различных мотивов с различными весами (либо в виде частот, либо в виде вероятностей).
Возвращает результат в виде одного контейнера Notes
, а также последовательность использованных мотивов.
Эта функция использует функцию random_sequence
из модуля MotifSequenceGenerator
, адаптированную к структуре Notes
.