Ксеногармонические функции
Эти функции позволяют использовать гаммы, отличные от типичных хроматических 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 имеет похожий набор нот с двумя конфликтующими. Вы можете попробовать подставить его выше и посмотреть, найдете ли вы любимый паттерн арпеджио.