Свежие обсуждения
Микроконтроллеры

Трёхголосный тон-генератор

1 5 8

AHTOXA:
Поубивал бы писателей на асме
Вот я поэтому ПИКи и предпочитаю.

"Финальный отсчёт"?!
Ну, дело, конечно не в этом (хотя прикольно получилось). А просто надо, что б будило. Полагаю, что "музыкальная шкатулка" вряд ли способствует быстрому пробуждению.

 

Gregory:Вот я поэтому ПИКи и предпочитаю. ;)

А ПИКи - не на асме?

А чтоб будило - надо не мелодию, а сирену

 

AHTOXA:
А ПИКи - не на асме
Так я их потому и люблю, что на АСМе пишу.

не мелодию, а сирену
Тогда будет будить всех соседей. А это - чревато.

 

AHTOXA:
Сижу, вникаю
А эту-то ветку смотрели?

 

Gregory: А эту-то ветку смотрели? ;)

Конечно. Но там - так, общие рассуждения. А я вникаю в конкретную реализацию. Чтоб применить

 

Кстати, осталась ещё одна недоделанная мысль. Прикрутить "Питч Бэнд". Это - когда по команде "сместить строй" этот строй и смещается.
Загвоздка в том, что команда содержит вполне конкретное число. А строй должен смещаться, как бы это поточнее выразится, в процентах.
Предположим, поступила команда "сместить на 5". Это означает, что строй должен сместиться на 3% (всё условно). Понятно, что для каждой ноты (заданной количеством отсчётов таймера), эти 3% будут различным количеством отсчётов.
Вот, пока, что-то и не соображу, как пересчитать одно в другое?

 

Ну, здесь я не советчик Для меня все эти pitch, envelope, attack, loop - тёмный лес
Кстати, не посоветуете, где можно про это популярно почитать?

 

AHTOXA:
тёмный лес
Да тут вопрос в том, как пресчитать?
Просто, если, для одной ноты, в нормальном режиме, таймер должен сделать 50 отсчётов, а для другой 100, то, при команде "изменить на 2%", первая нота должна скорректироваться на 1 отсчёт, а вторая - на 2.
Короче, как проценты пересчитать в отсчёты?

где можно про это популярно почитать
Выше ссылку давал.

 

Gregory: Короче, как проценты пересчитать в отсчёты?

Дык, элементарно

A(отсчётов) + B(процентов) = A + (A/100 * B)

Gregory: Выше ссылку давал.

Спасибо, почитаю...

 

AHTOXA:
A + (A/100 * B)
Теперь бы это в программу "запихать"