задавать темп нажатием кнопки - кто делал? |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
задавать темп нажатием кнопки - кто делал? |
26.5.2004, 19:01
Сообщение
#1
|
|
![]() Сообщений: 3 Регистрация: 26.8.2003 Из: Москва, Paris, Thailand |
Александр из Питера сделал мне отличную примочку на заказ - тремоло/гейт.
Видимо скоро будем делать вторую версию. MIDI'рованную и еще со всякими доработками.
Одна из трудностей, с которой столкнулись - задание темпа (bpm) ритмичными нажатиями на кнопку. Не точно получается. Совсем.
Кто успешно реализовывал эту фичу в своих дивайсах?
|
|
|
|
|
|
27.5.2004, 9:33
Сообщение
#2
|
|
|
Сообщений: 0 Регистрация: 16.4.2004 |
Вам нужна аппроксимация к ближайшему ровному темпу. Т.е. надо подсчитать среднюю частоту например от 10 нажатий. Вычислить среднюю и задать делитель на генератор. Есть ПИК-и с функциями ДСП, вполне реализуемо.
|
|
|
|
27.5.2004, 14:37
Сообщение
#3
|
|
![]() Сообщений: 3 Регистрация: 26.8.2003 Из: Москва, Paris, Thailand |
на практике наверное, все проще - по последним двум нажатиям нужно определять. Но кто это уже делал?
|
|
|
|
27.5.2004, 15:08
Сообщение
#4
|
|
|
Сообщений: 0 Регистрация: 16.4.2004 |
Последних двух недостаточно. Слишком плавает девиация. Вот постучи ногой. В такт идеально попадает далеко не первый-второй удар. Первые 2-3 удара вообще по идее пропускать надо.
|
|
|
|
28.5.2004, 18:46
Сообщение
#5
|
|
![]() Сообщений: 3 Регистрация: 26.8.2003 Из: Москва, Paris, Thailand |
AZG_, в процессорах и синтах это реализовано по двум тыкам, ты наверное, не видел. Т.е. с каждым тыком темп вычисляется от промежутка между ним и предыдущим.
Вопрос мой именно про практическую реализацию такой фичи. В этой нашей примочке вышло плохо, что считается пауза между нажатием в первый раз и отпусканием в следующий. Да и вообще как-то видимо неточно мэппится время на bpm..
|
|
|
|
29.5.2004, 1:12
Сообщение
#6
|
|
|
Сообщений: 0 Регистрация: 16.4.2004 |
Видел и много, посему и советы из практики. Ниразу не видел четкого определения с дух нажатий. Надо делать как минимум 5-6 нажатий для четкого попадания.
Определять надо по разнице времени между двумя передними фронтами. Не забудьте сделать защиту от дребезга.
Самый простой способ: генератор 250 bpm, управляемый вентилем 2и-не, втрой вывод которого посажен на РС-триггер от кнопки. Этот же вывод посажен на схему сброса счета. Количество пройденных посылок и есть ваш темп. Просчитать среднее арифметическое от 3-5 посылок и будет вам счастье.
В этом варианте и простого ПИК-а или АВР-а хватит за глаза.
Да, в случае постоянных нажатий, хранить последние 3-5 подсчетов по принципу стека.
|
|
|
|
![]() ![]() |
<% %> <% %> |
Текстовая версия | Сейчас: 14.7.2026, 18:15 |