ТЗ Колокольные звоны 2. 0

ТЗ v1.0 — «Колокольные звоны 2.0»
1. Назначение и аудитория
Интерактивная обучающая программа и тренажёр игры на колоколах под эгидой Школы звонарей Андрея Дьячкова (МЦКИ).
Сценарии: изучение базовых приёмов, прослушивание и разбор готовых звонов, тренировка на клавиатуре/тач-кнопках, простая запись своих рисунков, «бесконечный учебный звон» (рандомайзер).
2. Платформы
Desktop: Windows 10/11 x64 (обязательно).
Mobile: Android (обязательно), iOS (если несложно).
Web (опционально): урезанная версия для прослушивания/тренировок без записи низкой задержки.
3. Лицензия/права
Бесплатное распространение при условии указания автора: Андрей Дьячков и МЦКИ (в интерфейсе и в readme).
Без DRM. Разрешено копирование и пересылка программы/контента бесплатно с обязательной ссылкой на автора/МЦКИ.
4. Ключевые функции (обязательно)
Выбор количества колоколов (2…15).
Авто-группировка и перетаскивание между группами: Малые / Средние / Большие.
Минимумы: малые ;2, средние ;2, большие ;1.
Блок «Рекомендуемые распределения» показывает 1–2 готовых варианта (как в 1.2) и применяет одним кликом.
Библиотека готовых звонов (приблизительно: ~55 для 5 колоколов; ~75 для 13; масштабируется под выбранное число).
Отображаются ноты/тайм-линия. Кнопки: «Загрузить», «Пуск/Пауза», «Темп ±», «Громкость ±».
Упрощённый вид и Вертикальный вид (крупные элементы).
Учебные рисунки по группам (из присланных фото):
Малые/Средние/Большие: «игра целыми / половинами / восьмыми / 16-ми», «двойными нотами», «аккордами», числовые шаблоны (напр. 1321, 4231, 14342434), «Архангельская система», «на слабое время», варианты «рисунок 1/2/3» и т. п.
Шаблоны комбинируются внутри звона.
Рандомайзер: «В случайном порядке».
Комбинирует доступные рисунки по выбранным группам.
Интервал смены (по умолч. каждые 4 такта; настраивается 2/4/8/16).
Режим «бесконечный учебный звон».
Запись (простая): нажал «Запись» ; игра на клавиатуре/экранных кнопках ; программа фиксирует ноты/удары по времени и силе (если доступно).
Перезапись поверх участка (дубль) и «Отменить/Вернуть».
Сохранение в проект.
Сэмплы: проигрывание целиком от удара до затухания. Повторные удары накладываются (полная полифония) — чтобы звучало как реальные колокола.
Без эффектов (реверб/эквалайзер не нужны).
Ограничения производительности: плавное воспроизведение без клипов; настройка буфера/задержки.
5. UX/интерфейс (ПК и мобильный)
Верхнее меню (ПК): Файл / Колокола / Проигрыватель / Вид / Справка — в духе 1.2.
Основной экран:
Слева/сверху: превью колоколов и «Информация о подборе: всего N».
Центр: Тайм-линия (3 секции: Малые / Средние / Большие).
Справа: «Рекомендуемые распределения», дерево колоколов, блоки «Выбор звона» (миниатюры приёмов).
Низ: транспорт: ; ; ; ;, «В случайном порядке», ползунок позиции, Темп (число + кнопки ±), Громкость.
Режимы вида: Общий / Схематичный / Упрощённый / Вертикальный.
Мобильный UI: нижняя панель с крупными кнопками (Play/Rec/Tempo/Gain), вкладки: «Набор», «Звоны», «Учебные рисунки». Экранные пад-кнопки для игры (по числу выбранных колоколов).
6. Ввод/управление
Клавиатура ПК: настраиваемая раскладка. Рекомендованный пресет для 15 колоколов:
Малые: A S D F
Средние: Q W E R T
Большие: U I O P + при необходимости G H J (всё можно переназначить).
Мобильные: сенсорные пад-кнопки (динамический расклад по числу колоколов); поддержка внешней BT-клавиатуры.
Горячие клавиши: Space (Пуск/Пауза), R (Запись), +/- (Темп), [] (Громкость), Ctrl+Z/Y (Отмена/Повтор).
7. Контент
Готовые звоны:
Пакеты по числу колоколов: 2,3,4,5,6…13,15.
Для каждого пакета — список, как в фото: «благовест целыми/половинами», «игра восьмыми/16-ми», числовые последовательности, «аккорды» и т. п.
Описания (кратко): назначение/традиция/советы.
Уроки: как в 1.2 («Практикум для звонарей», Уроки 1–3). Без экзамена.
Сэмплы:
Формат: WAV, 48 kHz, 24-bit, стерео, без нормализации до 0 dBFS (оставить 3–6 dB запаса), без обрезки хвостов.
Именование: setName_group-bellNN_dynamic(optional).wav (пример: ModelRow1_small-01.wav).
Два модельных ряда в поставке («Модельный ряд 1/2»).
Пользовательские сэмплы: импорт через «Добавить набор» ; выбор WAV-файлов ; ручное назначение в группы.
8. Аудио-движок (технически)
Воспроизведение целых файлов с перекрытием (voice stealing отключён).
Полифония: цель ;64 одновременных звуков (ПК), ;32 (моб).
Задержка: ПК ;15 мс (WASAPI/ASIO), моб ;30–35 мс.
Регуляторы: мастер-громкость, громкость по группам.
Файловый стриминг (без подгрузочных «щелчков»).
9. Формат данных (простой)
Проект .cbell (zip-контейнер):
project.json — метаданные (темп, размер, список событий, выбранные рисунки/параметры рандомайзера, раскладка).
samples/ — подключённые WAV (необязательно, если глобальные).
images/lessons/ — иллюстрации уроков (png/jpg).
Импорт/экспорт:
Экспорт аудио звона: WAV/MP3.
Экспорт проекта .cbell (для обмена между ПК/мобилой).
Импорт старой версии не требуется.
10. Рандомайзер (логика)
Источник: списки учебных рисунков по каждой группе (из ваших фото).
Настройки:
период смены (такты: 2/4/8/16),
разрешённые рисунки по группам (чекбоксы),
баланс групп (в процентах времени: малые/средние/большие).
Алгоритм: при смене периода выбирает новый рисунок из разрешённых, маппит на текущее распределение колоколов и продолжает воспроизведение без остановки.
11. Запись/редактирование (минимум)
Кнопка «Запись», запись в текущий проект.
Вставка/перетаскивание точек на тайм-линии.
Отмена/Повтор.
Сохранить/Загрузить проект.
Отдельный «сложный редактор развода» не обязателен — в 2.0 достаточно простого.
12. «Рекомендуемые распределения»
На основе количества выбранных колоколов выводится 1–2 варианта (как в 1.2).
Применение ; мгновенно переставляет колокола по группам.
Пользователь может вручную перетянуть колокола, соблюдая минимумы по группам.
13. Технологии (предложение)
ПК: C++/JUCE (аудио-ядро + UI) или C# WPF + нативный аудио-модуль (JUCE/PortAudio).
Mobile/Web: Flutter
Android (обязательно), iOS (по возможности), Web (урезанный режим).
Аудио через нативные плагins (Android AudioTrack/AAudio; iOS AVAudioEngine) с общим API.
Общая схема: одно аудио-ядро (C++), кроссплатформенный UI (Flutter на моб/web; нативный UI на ПК).
Хранение: локальный JSON/SQLite.
14. Дизайн/контент
Стиль в духе 1.2 (уважительная классическая графика).
Иконки «колокол/группа/плей/запись» — простые, контрастные.
Экран «О программе» с фото Андрея Дьячкова, контактами МЦКИ и условиями лицензии.
15. Тестирование/приёмка
Пакет тестовых проектов на 2/3/4/5/7/11/13/15 колоколов.
Проверки:
авто-распределение и ручное перетаскивание работают и соблюдают минимумы,
любое из учебных рисунков корректно озвучивается,
рандомайзер меняет рисунки ровно по периоду и без «провалов» звука,
запись ; сохранение ; повторное открытие — события совпадают по времени,
длительные хвосты сэмплов не обрезаются, перекрытия звучат естественно,
темп ±25% от базового без сбоев.
Производительность: полифония 64 (ПК) / 32 (моб), без клипа.
16. Поставка
Windows: инсталлятор (.msi) + портативная сборка (.zip).
Android: APK/AAB для публикации в Google Play и прямой установки.
iOS (опц.): сборка для TestFlight/App Store.
Web (опц.): SPA на домене (минимум: библиотека звонов, учебные рисунки, рандомайзер, настройки темпа/громкости).
Пакеты контента: «База» (2 модельных ряда + библиотека учебных рисунков + набор звонов на 2–13), «Расширение 15 колоколов» (если нужно отдельно).
17. Материалы, которые предоставляет Заказчик
WAV-сэмплы по спецификации (разбивка по группам и именам).
Списки готовых звонов (по числу колоколов) и текстовые описания.
Иллюстрации/картинки уроков (из «Практикума»).
Логотипы/фото/тексты «О программе».
18. Дорожная карта (предложение)
Этап 1 (MVP, ПК + Android): выбор/распределение колоколов, библиотека звонов, учебные рисунки, тайм-линия, запись, рандомайзер, экспорт WAV/проекта.
Этап 2: iOS (если нужно), Web-версия (прослушивание/учебные рисунки), импорт пользовательских сэмплов через UI.
Этап 3: дополнительные пакеты звонов, расширенные подсказки и режим «вертикального вида» на умных дисплеях.
Приложение A — минимальные словари «Учебных рисунков» (по сделанным фото)
Малые/Средние/Большие:
«Игра целыми», «… половинами», «… восьмыми», «… 16-ми»,
«двойными нотами», «аккордами»,
числовые последовательности: 1321, 1234, 4231, 14342434, и «рисунок 1/2/3»,
«на слабое время», «на слабое время с перебоем», «Архангельская система».
Реализовать как список шаблонов с параметрами (длительности, очередность колоколов, повторы). Шаблоны должны масштабироваться под 2…15 колоколов: если нет точного соответствия — выбирать ближайшие по правилу (например, 7 ; 3/3/1).
Приложение B — требования к WAV-сэмплам (коротко для звукорежиссёра)
48 000 Hz, 24-bit, стерео, PCM, без нормализации «в ноль».
Удар начинается с нулевой отметки; никакого fade-in (только естественная атака); хвост не обрезать.
Названия файлов и список соответствий (таблица CSV): file, group, index, note(optional).


Рецензии