# Управление FM-1 по логике Torso S4

Проект раскладки, 3 ноября 2026. Это спецификация будущей прошивки; на устройство ничего не записывалось. Назначения S4 проверены по текущему официальному руководству, назначения физических органов FM-1 — по руководству и закреплённому `plat.h`.

## Что действительно совпадает и отличается

S4 имеет 8 нажимаемых параметрических энкодеров, отдельный SELECT и 21 кнопку. На FM-1 доступны SELECT, ALGORITHM, PRESETS, KNOB 1–4: всего 7 энкодеров, отдельный аналоговый MASTER, 12 основных кнопок, OCT−/OCT+ и 27 музыкальных клавиш. API FM-1 предоставляет повороты энкодеров; отдельные события их нажатия в проверенном интерфейсе не представлены. Поэтому раскладка не требует push-encoder жестов.

Сохраняем модель S4: экран соответствует энкодерам; четыре кнопки выполняют показанные снизу действия; MOD + поворот назначает модуляцию; отдельные страницы MATERIAL / GRANULAR / FILTER / COLOR / SPACE; PERFORM, SCENE и TEMP отделены от редактирования звука. Число дорожек, эффектов и модуляторов выбирается отдельно по ресурсам.

## Проверенные назначения S4

| Орган S4 | Что делает |
|---|---|
| SELECT | Навигация и выбор, tempo, питание; контекст зависит от страницы |
| 8 PARAMETER | Меняют показанные параметры; удержание и поворот выбирают режим параметра |
| 4 ACTION | Контекстные действия; CTRL открывает вторые действия |
| 5 DEVICE | MATERIAL, GRANULAR, FILTER, COLOR, SPACE |
| MOD | Нажатие открывает настройки источника; удержание — назначение модуляции |
| MOD + ACTION + PARAMETER | Выбор одного из четырёх модуляторов и глубины связи; знак поворота задаёт направление |
| PROJECT / CONFIG | Проекты / общие настройки |
| TRACK / MIX | Выбор дорожки / микшер |
| SCENE / PERFORM | Состояния / макросы и действия |
| COPY / CLEAR / CTRL | Копирование / сброс / дополнительные функции |
| TEMP | Удержание: временные изменения до отпускания; двойное нажатие: фиксация временного режима до следующего нажатия |
| PLAY/STOP | Транспорт |

В тексте Parameters and Action Buttons есть формулировка «2×8», однако Display Interface явно говорит о **до 8 параметрах на странице**, а официальная схема панели показывает восемь параметрических ручек в двух рядах по четыре. Не трактуем эту фразу как 16 одновременно доступных ручек. Визуально проверена схема Front Panel в браузере; это статический рисунок, не просмотр видео.

## Предлагаемая раскладка FM-1

Ради четырёх постоянных контекстных действий переопределяем верхний ряд FX / SEL / ENV / LFO. Физические подписи остаются на корпусе: экран постоянно показывает соответствие, а накладку можно сделать позже. Все назначения ниже — наше предложение, не функции заводской прошивки.

| Надпись на FM-1 | Новая функция | Дополнительное действие |
|---|---|---|
| SELECT, поворот | Страница параметров; в меню — строка выбора | EDIT + SELECT: tempo |
| ALGORITHM, PRESETS | Два параметра слева на экране | В меню источник/пресет выбирается через экран, не скрытой автозагрузкой |
| KNOB 1–4 | Четыре параметра справа на экране | EDIT + поворот: тонкий шаг |
| MASTER | Общая громкость | Не используем как восьмой энкодер |
| FX / SEL / ENV / LFO | ACTION 1 / 2 / 3 / 4 | EDIT + ACTION: вторые действия текущей страницы |
| EDIT | CTRL, удержание | При отпускании возвращает обычные действия |
| GLO | Следующий раздел цепи | Удерживать GLO + SELECT: выбрать раздел; EDIT + GLO: CONFIG |
| ARP | MOD: настройки источника | Удерживать ARP, выбрать A1–A4, повернуть параметр: назначить глубину |
| HOME | PERFORM | Удержание HOME: TEMP; EDIT + HOME: MIX |
| SEQ | SCENE | EDIT + SEQ: выбор активного слоя/партии, только если они есть в сборке |
| SAVE | PROJECT: сохранить/загрузить набор | EDIT + SAVE: меню COPY/PASTE |
| PLAY | PLAY/STOP | Не выключает live-input по умолчанию |
| REC | Запуск/остановка захвата выбранного источника | EDIT + REC: явный экран очистки, с отдельным подтверждением |
| OCT− / OCT+ | Октава музыкальной клавиатуры | Сочетание обеих — возврат в нулевую октаву |
| 27 клавиш | Ноты и ручной запуск зерен | На странице SCENE белые клавиши выбирают сцены; режим подписан и выходит через HOME |

HOME обрабатывается как tap/hold: короткое отпускание открывает PERFORM, удержание включает TEMP, отпускание откатывает параметры. Порог удержания — настройка будущего прототипа, а не аппаратный факт. Двойное нажатие для latching TEMP пока не включено: сначала проверим удобство tap/hold. Это сознательное сокращение жестов S4, а не обещание полного совпадения.

В меню ACTION 1/2 — назад/вперёд, ACTION 3 — отмена, ACTION 4 — подтвердить. Выбор режима параметра, который на S4 требует нажатия энкодера, здесь открывается вторым действием MODE: сначала повернуть нужный параметр, затем EDIT + ACTION 4. Выбранный параметр и текущий режим видны на экране. В окне MODE SELECT выбирает режим, ACTION 4 подтверждает.

## GRANULAR: две страницы

| Энкодер | Страница 1 — играть | Страница 2 — формировать |
|---|---|---|
| ALGORITHM | SCAN: позиция старта | FOLLOW: скорость обхода источника |
| PRESETS | SPRAY: разброс позиций | WIDTH: стереораспределение |
| KNOB 1 | PITCH: высота | CONTOUR: окно зерна |
| KNOB 2 | RATE: частота запусков | PITCH RAND: случайность высоты |
| KNOB 3 | SIZE: длительность | FEEDBACK: обратная связь |
| KNOB 4 | REVERSE: вероятность 0–100% | PAN: центр панорамы |

REVERSE намеренно вынесен на первую страницу по запросу пользователя. Направление определяется при рождении каждого зерна и сохраняется до его конца; изменение вероятности влияет на будущие зерна. Это отдельный параметр от случайности высоты. На первой странице ACTION: **STRIKE / LOCK / SYNC / HOLD**. STRIKE запускает одно зерно; LOCK останавливает обновление history; SYNC переключает свободный/синхронный планировщик; HOLD удерживает note gate. Конкретная доступность LOCK зависит от live/saved источника, а не от наличия кнопки на экране.

## Модуляция, сцены и визуальная обратная связь

Основной жест повторяет S4: удерживать MOD (ARP), выбрать источник через A1–A4, повернуть нужный энкодер. На шкале видны базовое значение и текущая модуляция. Вместо четырёх цветов S4 используем номера и разные маркеры в чёрно-белом оформлении КОННЕКТА; коралловый акцент один. Знак глубины и уни-/биполярность — разные настройки. Последнюю меняем в окне MODE, поскольку нажатие энкодера FM-1 не требуется.

SCENE сохраняет параметры, назначения и ссылки на звук. Общая живая history не копируется автоматически. TEMP откатывает параметры, но не отменяет записанный звук; во время TEMP запуск сцен блокируется, как в S4. Переход сцены должен явно выбирать morph, fade-switch-fade или две одновременно живые цепи. При смене клавиатурного режима отправляем note-off активным нотам; иначе сценовая клавиша может оставить зависшее зерно.

На дисплее 240×240: имя раздела и номер страницы сверху; волна, голова записи, SCAN/SPRAY и направленные зерна в центре; шесть параметров в группах 2+4, соответствующих физическим ручкам; четыре действия снизу. Текст и стрелки дают смысл без зависимости от цвета. Это схема компоновки, её читаемость и скорость перерисовки ещё требуют проверки на FM-1.

## Источники

- [S4 Hardware Interface](https://docs.torsoelectronics.com/s4/what-is-the-s4/s4-overview/hardware-interface/)
- [S4 Display Interface](https://docs.torsoelectronics.com/s4/what-is-the-s4/s4-overview/display-interface/)
- [S4 Parameters and Action Buttons](https://docs.torsoelectronics.com/s4/devices/device-overview/parameters-and-action-buttons/)
- [S4 Mapping Mode](https://docs.torsoelectronics.com/s4/modulation/modulation-overview/mapping-mode-and-the-modulation-source-view/)
- [S4 Applying Modulation](https://docs.torsoelectronics.com/s4/modulation/modulation-overview/applying-modulation/)
- [S4 Temporary Control](https://docs.torsoelectronics.com/s4/miscellaneous/temporary-control/)
- [FM-1 manual, страницы 1–3 и органы управления](https://manualf.oss-cn-hongkong.aliyuncs.com/manual/MIDI-KEYBOARD/FM-1-manual.pdf)
- [fm1-base plat.h, pin 2d8ed748](https://github.com/charlesvestal/fm1-base/blob/2d8ed748cdade582c65d9fc8d8cf17da4ddadec8/include/plat.h)

Дополнительное уточнение характеристик: [страница спецификаций в руководстве S4](https://docs.torsoelectronics.com/s4/what-is-the-s4/s4-overview/technical-specifications/) прямо указывает **quad-core 1.5 GHz**. Точная модель SoC и объём RAM в прочитанных источниках не установлены; 4 GB относятся к хранилищу. Ранее прочитанная продуктовая карточка не содержала строку CPU, поэтому прежняя формулировка «CPU неизвестен» уточнена.
