Комментарии 16
Прикольно. Не пробовали ли вы сочинять такую чиптюн-музыку в натуральном строе?
Конечно, эти биения аккордов, вкупе с тембром square wave, придают музыке определённый шарм. Но интересно, как она будет звучать, если все ноты настроить в точные соотношения (3/2 - квинта, 5/4, 6/5, 7/6 - терции и т.д.).
Вспомнил свои первые эксперименты со звуком в виде программы, игравшей последовательность частот из текстового файла (в роли источника звука выступал, конечно, PC Speaker). Музыка сочинялась просто: в качестве основного тона берём число, хорошо делящееся на 2, 3, 5 (например, 240 Гц), и создаём новые ноты, умножая/деля на 2, 3, 5 и их отношения (для удобства, чтобы понимать, где какая нота, рисуем на бумаге сетку степеней 3 - квинты/кварты и 5 - терции/сексты).
Пример
240, 360, 540, 360, 600, 540, 360, 540,
240, 360, 540, 360, 600, 540, 360, 540,
200, 300, 450, 300, 480, 450, 300, 450,
200, 300, 450, 300, 480, 450, 300, 450,
320, 480, 720, 480, 640, 480, 320, 480,
360, 540, 810, 540, 720, 540, 360, 540,
240, 360, 540, 360, 600, 540, 360, 540,
240, 360, 540, 360, 600, 540, 360, 540,
Жаль, что тогда не было полифонии и не было простого способа изменить тембр - квадратная волна состоит из нечётных гармоник, а хотелось бы также подчеркнуть и чётные.
Но потом стали популярны различные трекеры, и находились умельцы, которые в них писали музыку в Just intonation с помощью команд файн-тюна. То ещё извращение, но в результате могло получиться очень плавное и чистое звучание. Пример: https://www.youtube.com/watch?v=5I9tgRfDsv4
При работе с натуральным строем приходится постоянно иметь дело с коммами. В приведённом примере есть две ноты - 810 Гц (3 квинты вверх от основного тона) и 200 Гц (малая терция вниз от основного тона), различающиеся после приведения октав на комму. Они находятся в разных местах гармонической сетки и выполняют разные функции.
Вот пример гармонической сетки:

Если нет желания бороться с коммами, то можно использовать среднетоновый строй. Он не так идеален, как чистый, но легче в освоении и довольно легко адаптируется под обычную 12EDO клавиатуру.
Пример настройки
Как известно, натуральная квинта (701,955 центов) примерно на 2 цента шире равномерно темперированной (700 центов). Сужая квинту на определённую долю коммы (которая составляет примерно 21,5 центов) и подтягивая большую терцию до совпадения с 4 квинтами (минус октавы), мы получаем строи, более близкие или к пифагорейскому, или к классическому среднетоновому (1/4 коммы).
Например, чтобы получить 0,18коммы-среднетоновый строй, начинаем настройку клавиатуры от ноты Фа и двигаемся вверх по квинтам. Цифрами указано отклонение от равномерно темперированного строя в центах.
F +2
C 0
G -2
D -4
A -6
E -8
B -10
F# -12
C# -14
G# -16
D# -18
A# -20
Попробовав поиграть в таком строе в До-мажоре, можно ощутить некоторое смягчение терций и секст в сравнении со стандартным строем. Также вы заметите, что минорные аккорды на I, IV, V ступенях стали звучать иначе - они превратились в субминорные, выражающиеся отношением 6:7:9 вместо 10:12:15. Интересно звучит прогрессия Fmajor - Fsubminor - Cmajor.
Для сочинения JI музыки на ПК, к сожалению, нет какого-то удобного и доступного JI редактора/секвенсера. Я для редких экспериментов использую Reaper с плагином Alt-tuner. Но у программистов микроконтроллеров в этом отношении руки совершенно развязаны - можно использовать любые техники и алгоритмы синтеза, которые будут "по зубам" данному МК. Даже на простейших МК, оснащённых только ШИМом, есть два канала управления звуком: частота, и коэффициент заполнения, от которого зависит тембр звука.
При значении КЗ = 0.5 в звуковом сигнале подавлена каждая вторая гармоника, и спектр состоит только из нечётных гармоник. Такой тембр подчёркивает нечётные соотношения тонов (3/1, 5/3, 7/5 и др.), и в частности хорошо подходит для экзотических безоктавных строёв типа Bohlen-Pierce.
При значении КЗ = 0.33 в звуковом сигнале подавлена каждая третья гармоника и усилены гармоники под номерами 1, 2, 4, 5, 7, 8 и т.д. Такой тембр интересен как сам по себе, так и может использоваться для подчёркивания терций и подавления биений квинт/кварт в среднетоновых строях. И так далее.
Я когда-то заморачивался тем, чтобы математически вывести формулу периодического сигнала с заданным количеством гармоник (только чётных, только нечётных, и тех и других, а также с детюнингом), и с заданной степенью подавления в зависимости от их номера. Например, такая формула
при эквивалентна этой
Но до практического применения её в собственном синтезаторе дело так и дошло.
Попробовать можно, но я не композитор толком, а если существующие записи потранспонировать во всё это дело — не факт, что хорошо звучать будет
Я помню, в журнале в то время примерно была резидентная программа на ассемблере, которая "К Элизе" исполняла :)
Послушал результаты и нахлынули воспоминания тех теплых дней, когда вручную вводили мелодии в Nokia 3310...
У Вас получились часы Montana из 80-х - настоящая легенда.
Козырная Montana
PS: PinocchioP получилась очень даже... но без Bad Apple тема раскрыта не полностью! ;)
Похоже на хорошие биперные треки для ZX-Spectrum. Особенно понравилась PinocchioP - God-ish. Единственное что - во всех мелодиях не хватает перкуссии (насколько я знаю, в Spectrum-овских beeper-ных треках достигается вставками ОЧЕНЬ коротких фрагментов "белого шума", сл.напр.саундтрек к Savage 2 - для меня практически вершина 1-bit tune
Ну Саваж 2 это как раз Тим Фоллин — лучше него мало кто может сделать
Savage 2 - это Дэвид Уиттаккер. Но Тим Фоллин тоже не менее крут - у него свой очень узнаваемый стиль. Саундтрек Chronos как классический пример.
Хотя, вот последний трек уже попробовал перкуссией разбавить, вроде неплохо вышло:
Оригинал
Интересная разработка и звучание! Это как паралелльная вселенная в и без того паралелльной вселенной энтузиастов подобного звука на старых компьютерах, те же идеи и принципы, но к которым зашли с другой стороны и применили иные инструменты для реализации.
Скибиди-бипер — асинхронная полифоническая однобитная музыка на ESP32 без ЦАП