Gregory писал(а):Да есть там МИДИ Ин.

Неужели все-таки придется всю ночь караулить с миди-клавиатурой под часами? А спать когда?

Хотя можно завести механический будильник чуть раньше, проснуться под него, быстренько включить клавиатуру, подключить мощные усилок и колонки и жахнуть в назначенный час трехголосным меандром так, чтоб весь дом услыхал (тихо смысла нет - вы сами уже проснулись под механический будильник). Но это как же надо ненавидеть своих соседей!!!

А для генераторов огибающих?
Например так - есть три ячейки, в первой - текущее значение, во второй - наклон-фактор текущей фазы, в третьей - порог окончания текущей фазы.
- добавление наклон-фактора к текущему значению
- вычитание без записи (сравнение) текущего значения из порога
если знак результата вычитания и знак наклон-фактора одинаковы, то переход к обработке следующих модулей,
иначе - окончание текущей фазы, во вторую и третью ячеку записываем наклон-фактор и порог следующей фазы.
Как видите, большую часть времени нужны только три операции: сложение, вычитание и условный переход, а ветка "иначе" срабатывает только ооочень редко, в моменты смены фазы огибающей

А вот только что придумал еще более красивый вариант, если будет несколько микроконтроллеров:
Медленноменяющиеся генераторы - огибающих и LFO для ВСЕХ голосов можно возложить на один контроллер, который заодно будет заниматься приемом и расшифровкой миди-сообщений и управлением другими контроллерами, то есть запись в их переменные рабочих параметров, копание в таблице преобразования питча в частотный фактор. Все эти операции можно делать гораздо реже, скажем 100 раз в секунду. То есть, делать в этом микроконтроллере все "низкочастотные" операции ВСЕХ голосов - вполне должно хватить.
А остальные два или три микроконтроллера пусть занимаются чисто высокочастотными вещами, сразу пользуясь подготовленными рабочими и медленноменяющимися параметрами, не отвлекаясь на их вычисление - генерация пил на подготовленных частотных факторах, их сложение, фильтрация на подготовленных частотных факторах, умножение на подготовленную амплитуду. То есть, никаких условных переходов или ветвлений - один жесткий бесконечный цикл по жесткой последовательности математических операций сложения и умножения, являющийся к тому же разворотом цикла по голосам - так что никаких обращений с индексированием - только прямые обращения. Думаю, что так один контроллер сможет справиться с 6-8 голосами.
И по-моему, Вы всё-таки переоцениваете возможностей МК (недорогих, разумеется).
Возможно. Но мечтать не вредно, тем более все мечтания на самой границе возможностей указанных контроллеров, а не далеко за гранью. Просто иногда просыпается "бес творчества"(БТ) и начинает подкалывать -, "а неплохо было бы смастрячить что-нить такое-эдакое, аппаратный синт, ведь синты не боги делают, а такие же АСУшники, чем ты хуже?"
А Прагматический Разум (ПР) ему отвечает - "а оно тебе надо? включи комп, запусти виртуальный синт и радуйся до опупения!"
БТ: - нее, аппаратный синт круче!
ПР: - чем?
БТ: - нуу.. ээ... он не виснет как комп, прикинь, комп зависнет во время выступления?
ПР: - а ты что, выступаешь живьем перед огромными массами?
БТ: - нет, ну тогда может, чтоб самоутвердиться, доказать, что я ничем не хуже, чем производители синтов...
ПР: - кому доказать? людям? как? распространять поделку - не выйдет, потому что если попробуешь достигнуть функциональности и качества настоящих синтов - стоить твоя поделка будет гораздо дороже, чем те синты. А если самому себе доказать - тогда и делать не обязательно, и так понятно, что если долго мучаться, что-нибудь получится. Только зачем мучаться?
На этом месте "бесу творчества" сказать нечего и он затыкается до поры до времени. А тут вдруг в инете всплывает тема "самодельный тон-генератор" и БТ снова просыпается и начинает спорить с ПР
