Ксеногармонические функции 🌀 Bulka

Ксеногармонические функции

Эти функции позволяют использовать гаммы, отличные от типичных хроматических 12-тоновых.

tune(scale)

Вот пример настройки базовой гаммы hexany:

"0 1 2 3 4 5".tune("hexany15").mul("220").freq()

Попробуйте другие гаммы, такие как hexany1, iraq, gumbeng, gunkali, или tranh3

Полный список доступных гамм из tunejs см. на http://abbernie.github.io/tune/scales.html

Вы можете установить свою основную ноту на определенную ноту с помощью getFreq

"4 8 9 10 - - 5 7 9 11 - -".tune("tranh3")
  .mul(getFreq('c3'))
  .freq().clip(.5).room(1)

Некоторые строи становятся более выраженными с более длительным затуханием reverb:

"<[5 6 8 10] - [5 7 9 12] -> -".tune("gumbeng")
.mul(getFreq('c3'))
.freq().clip(.8).room("3:10").rdim(10000).rfade(5)

Кроме того, вы можете комбинировать это с fmap, чтобы базовая нота изменялась:

"9 11 12 10 - - -".tune("gunkali")
.mul("<c3 c3 a3 d#3>".fmap(getFreq))
.freq().legato("2 .7").room("1:15").rdim(8500).rlp(14000).rfade(8)

Комбинирование этого с различными трюками полиритмии может стать очень выразительным:

"<[0 3 1 -] [-1 4 2 8]> ~ ~,<-4 -5>"
.transpose(4)
.tune("iraq")
.mul("<c3 d3 c#3>".fmap(getFreq))
.freq().clip(.5).room(1).rfade(9)

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

Возьмем строй sanza:

"4 5 6 7 8 9".tune("sanza")
.mul(getFreq('c3'))
.freq()

Ноты 7 и 9 будут довольно сильно конфликтовать, если вы играете их арпеджио обычным способом. Многие строи будут иметь такое звучание, и это может отвлекать само по себе. Посмотрите, как они близко на pitch wheel?

"[7 9]!3".tune("sanza").mul(getFreq('c3')).freq()._pitchwheel()

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

"[0 1 2 3 4 5 6]@0.3 -"
.transpose("<2 5 8 1>")
.tune("sanza")
.mul(getFreq('c3')).freq()
.legato("3").room(1).rfade(5)

Обратите внимание, что эффекты legato и reverb обеспечивают, чтобы звук арпеджио смешивался вместе. Чередование направления арпеджио может сделать тона еще более живыми.

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