September 4, 2025

звучание и мелодия

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

  • сигнатура типа: как функция объявлена ​​на стороне Haskell.
  • описание: словесное описание функции.
  • примеры: небольшой список примеров, которые можно скопировать и вставить в редактор.

скейлинг

функция scale преобразует последовательность номеров нот в определённую гамму.:

scaleList

функция scaleList выводит все доступные на момент написания статьи масштабы:

scaleTable

функция scaleTable выводит список всех доступных гамм и соответствующих им нот. например, её первый элемент - ("minPent",[0.0,3.0,5.0,7.0,10.0]), что означает, что минорная пентатоника образована root(0),the minor third(3 semitones above the root), the perfect fourth (5 semitones above the root) т.д....

поскольку список большой, вы можете использовать Haskell функцию lookup для поиска конкретного масштаба:

будет выводить - Just [0.0,1.0,3.0,5.0,7.0,8.0,10.0].

можно выполнить обратный просмотр таблицы масштабов:

в приведенном выше примере будут выведены все гаммы, первые три ноты которых - это тоника, большая секунда (на 2 полутона выше основного тона) и большая терция (на 4 полутона выше основного тона).

getScale

при желании вы можете создать собственную функцию scale с дополнительными шкалами, используя getScale:

в примере выше мы используем стандартную таблицу scaleTable в качестве отправной точки и добавляем к ней две пользовательские шкалы. вы сможете использовать новую функцию как обычно:

toScale

toScale позволяет быстро применить масштаб, не указывая его название:

аккорды

chordList

функция chordList выводит все доступные аккорды. на момент написания:

перед использованием этой функции вам необходимо запустить import Sound.Tidal.Chords.

chordTable

функция chordTable выводит список всех доступных аккордов и соответствующих им нот. например, её первая запись - ("major",[0,4,7]), что означает, что мажорное трезвучие образовано root (0), the major third (4 semitones above the root)) и he perfect fifth (7 semitones above the root).

тк список большой, вы можете использовать функцию chordL для поиска конкретного аккорда:

:будет выводить (0>1)|[0,3,7,10]

если вы знаете ноты аккорда, но не можете найти его название, вы можете использовать этот код Haskell для обратного поиска в таблице:

:будет выводить [("dom7",[0,4,7,10])]

арпеджио

функция arpeggiate (= arpg) распределяет номера нот аккордов во времени. например:

rolled

функция roll не принимает аргументов и имитирует нисходящий рисунок игры струн на гитаре. ноты играются снизу вверх и равномерно распределяются в пределах (1/4) длительности события аккорда, в отличие от arp, который распределяет ноты по всему событию.

rolledBy

функция rollingBy работает так же, как и rolled, но позволяет указать часть события, на которую будут распределены заметки, или «длину» ролла.

модификаторы аккордов/голосовые тональности

существует множество различных модификаторов аккордов, предназначенных для изменения способа «звучания» аккорда (порядка нот, выбора октавы и т. д.).

количество аккордовых тонов

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

по умолчанию c'min9 содержит 5 аккордовых тонов [0,3,7,10,14] - мы можем увеличить это число до 8, то есть [0,3,7,10,14,12,15,19]:

мы можем сократить его до 4 аккордовых тонов (т.е. убрать 9), [0,3,7,10]:

открытый войсинг

это имитирует «открытое» фортепианное звучание, где первая и третья ноты аккорда понижены на октаву/12 полутонов, расширяя диапазон тонов аккорда на дополнительную октаву.

дроп n - войсинга

пониженные войсинга похоже на открытые, понижая N-ю самую высокую ноту в аккорде на октаву/12 полутонов. «drop 3» войсинг:

инверсия аккордов

аккорд инвертируется путём взятия самых низких нот аккорда N и повышения их на октаву/12 полутонов. это вторая инверсия для c'min9:

воспроизведение сэмпла питча

по умолчанию SuperDirt считает, что все сэмплы имеют высоту до C4 (MIDI-нота 60). воспроизвести сэмпл в тональном режиме просто, если звук действительно соответствует ноте C.

metatune

в WAV-файлы можно встраивать метаданные высоты тона в виде smpl chunk. это используется некоторыми сэмплерами для автоматического сопоставления сэмплов с MIDI-нотами. SuperDirt также считывает метаданные высоты тона всех загруженных сэмплов, позволяя корректно настроить их высоту тона (при условии корректности метаданных), установив параметр metatune в значение 1.

например, сэмпл bass1:18 из Dirt-Samples — это нота F2 (MIDI-нота 41) и помечен соответствующими метаданными высоты тона. с помощью metatune мы можем легко воспроизвести его в унисон с аккордом суперпиано:

можно редактировать с помощью различных инструментов. типа: pitcheon и LoopAuditioneer.