Как всегда перед практической частью небольшой обзор предстоящей работы. Для генерации мелодии с помощью степ-секвенсоров необходимо задать три вещи: ритм, номера и длительности нот. Обычно все это задается с помощью одного матричного интерфейса:

Здесь длина ноты зависит от темпа и условно равняется одному шагу, а ритм и тональность задаются одновременно. Но это не наш способ. Мы для каждого из параметров создадим свой небольшой секвенсор.
Начнем с ритма. Именно из него будут поступать триггеры на остальные секвенсоры. Итак, создадим Max MIDI effect и добавим в новый патч следующие объекты: multislider, counter и metro и соединим все как показано на рисунке (rhythm1.amxd):

Думаю, по комментариям можно разобраться, как все работает. Двигаемся дальше. Надо визуально отобразить текущую позицию секвенции. С этим нам поможет объект slider (rhythm2.amxd):

На первый взгляд может быть не понятно, почему диапазон слайдера 0...17, а не 0...16. Дело в том, что наш ритм представлен в виде прямоугольлников, а слайдер — это полоска, которая должна совпадать с левым краем каждого прямоугольника. Если у слайдера будет диапазон 0...16, будет заметно смещение полоски, то есть не корректное отображение позиции секвенции.
Остается сделать удобное управление границами секвенции, для чего мы будем использовать объект rslider. Он похож на обычный слайдер, только задает диапазон. У него два аутлета: левый выводит минимальное значение, а правый максимальное (rhythm3.amxd):

В него будет забиваться последовательность нот. Создадим 16 объектов live.numbox — это аналог максовского объекта number, только имеет внешний вид нативных элементов интерфейса лайва, а также некоторые другие плюшки (о которых позже). Итак, собираем следующую схему (melody1.amxd):

Я по-максимуму откомментил патч, чтобы легче было разобраться, так что думаю, нет нужды досконально описывать работу. Если возникнут вопросы, то задавайте их в комментариях.
Этот секвенсор ничем не отличается от предыдущего, только вместо нот, live.numbox будут задавать длины нот в миллисекундах в диапазоне 0...1000 (length1.amxd):

Итак, теперь соединяем все это (mainseq.amxd):

По умолчанию, стандартные gui объекты макса не сохраняют свое состояние с сессией лайва, в отличие от gui объектов live.*, именно поэтому к некоторым элементам интерфейса подсоединены объекты pattr.
На этом почти все. Осталось только вписать все элементы патча в маленькое пространство лайв девайса. Для этого выделяем все объекты интерфейса, кликаем правой кнопкой и нажимаем Add to presentation. Теперь можно включить режим презентации, где расставляем все, как удобно. Вот что получилось у меня (step-seq-pattr.amxd):

Да, вот еще. При добавлении этого патча в лайв он открывался в режиме презентации, нужно открыть patcher inspector, щелнув правой кнопкой мыши на пустом месте в патче и отметить чекбокс «open in presentation».
Для для полноты этому секвенсору не хватает управления velocity, но это можно легко допилить с помощью все того же multislider. Также неплохо бы добавить кнопку сброса секвенций в начальное положение.
На этом все, happy patching :)
Архив с патчами:
pattr.ru/sites/default/files/pattr_seq-m4l.zip

Здесь длина ноты зависит от темпа и условно равняется одному шагу, а ритм и тональность задаются одновременно. Но это не наш способ. Мы для каждого из параметров создадим свой небольшой секвенсор.
Ритм секвенсор
Начнем с ритма. Именно из него будут поступать триггеры на остальные секвенсоры. Итак, создадим Max MIDI effect и добавим в новый патч следующие объекты: multislider, counter и metro и соединим все как показано на рисунке (rhythm1.amxd):

Думаю, по комментариям можно разобраться, как все работает. Двигаемся дальше. Надо визуально отобразить текущую позицию секвенции. С этим нам поможет объект slider (rhythm2.amxd):

На первый взгляд может быть не понятно, почему диапазон слайдера 0...17, а не 0...16. Дело в том, что наш ритм представлен в виде прямоугольлников, а слайдер — это полоска, которая должна совпадать с левым краем каждого прямоугольника. Если у слайдера будет диапазон 0...16, будет заметно смещение полоски, то есть не корректное отображение позиции секвенции.
Остается сделать удобное управление границами секвенции, для чего мы будем использовать объект rslider. Он похож на обычный слайдер, только задает диапазон. У него два аутлета: левый выводит минимальное значение, а правый максимальное (rhythm3.amxd):

Секвенсор мелодии
В него будет забиваться последовательность нот. Создадим 16 объектов live.numbox — это аналог максовского объекта number, только имеет внешний вид нативных элементов интерфейса лайва, а также некоторые другие плюшки (о которых позже). Итак, собираем следующую схему (melody1.amxd):

Я по-максимуму откомментил патч, чтобы легче было разобраться, так что думаю, нет нужды досконально описывать работу. Если возникнут вопросы, то задавайте их в комментариях.
Секвенсор длины нот
Этот секвенсор ничем не отличается от предыдущего, только вместо нот, live.numbox будут задавать длины нот в миллисекундах в диапазоне 0...1000 (length1.amxd):

Соединяем все вместе и создаем MIDI сообщения
Итак, теперь соединяем все это (mainseq.amxd):

По умолчанию, стандартные gui объекты макса не сохраняют свое состояние с сессией лайва, в отличие от gui объектов live.*, именно поэтому к некоторым элементам интерфейса подсоединены объекты pattr.
На этом почти все. Осталось только вписать все элементы патча в маленькое пространство лайв девайса. Для этого выделяем все объекты интерфейса, кликаем правой кнопкой и нажимаем Add to presentation. Теперь можно включить режим презентации, где расставляем все, как удобно. Вот что получилось у меня (step-seq-pattr.amxd):

Да, вот еще. При добавлении этого патча в лайв он открывался в режиме презентации, нужно открыть patcher inspector, щелнув правой кнопкой мыши на пустом месте в патче и отметить чекбокс «open in presentation».
Напоследок
Для для полноты этому секвенсору не хватает управления velocity, но это можно легко допилить с помощью все того же multislider. Также неплохо бы добавить кнопку сброса секвенций в начальное положение.
На этом все, happy patching :)
Архив с патчами:
pattr.ru/sites/default/files/pattr_seq-m4l.zip