Приветствую Вас, Гость
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Преобразователь тона для гитары
peratronДата: Суббота, 01.10.2016, 11:34 | Сообщение # 1
Генерал-полковник
Группа: Администраторы
Сообщений: 1102
Репутация: 5
Статус: Offline
В соседней ветке камрад Kvazar задал вопрос:

Цитата
peratron, надеюсь, вы меня не запинаете, но такой вопрос: на gtlab в теме про
6-канальный гитарный синтезатор, вы упоминали про возможность увода
гитарного сигнала на 2-4 октавы вверх... А поподробнее прояснить схемку
можете? Я примерно попробовал прикинуть в протеусе, как оное должно
работать, но так ни шиша не понял.

http://i.piccy.info/i9....er1.png

примерная прикидка... ГЛУБОКО ИЗВИНЯЮСЬ ЗА ФЛЕЙМ, если что...


Спрашиваете? Отвечаем!

Kvazar, идея родилась в процессе конструирования 6-канальной гитары а-ля Кетнерс.

Для начала - преамбула.

В кетнерсовском проекте преобразователи были на основе триггеров шмидта - с характерным для этого принципа артефактом в виде "ишачьего эффекта", порождаемого перескоком на октаву.
Выход был найден в применении более продвинутого алгоритма - точки срабатывания триггера с помощью компаратора привязывались к пересечению нуля и огибающей сигнала струны.
Если интересно - этот аспект можно обсудить, затравив отдельную тему.

Далее в прототипе к импульсному преобразователю цеплялась цепочка делителей органного типа.
Первые же эксперименты показали, что для реального музыкального применения нужен октавер не столько вниз, сколько вверх - без этого регистровый синтез был всего лишь прикольным эффектом ограниченного применения, а затраты на реализацию шестиканальной обработки неоправданными. Потому мозговые усилия я сосредоточил на  том, что б поднять ведущий генератор октавной цепочки хотя б на пару октав вверх.

И это получилось!

(продолжение в следующем посте)


PERATRONIKA - персональная звукотехника
 
peratronДата: Суббота, 01.10.2016, 12:20 | Сообщение # 2
Генерал-полковник
Группа: Администраторы
Сообщений: 1102
Репутация: 5
Статус: Offline
Итак, как же можно перенести тон в реал-тайме на несколько октав вверх?

Идея вырисовалась такая: использовать частотомер в режиме измерения длительности периода!

Алгоритм такой:
- по выбранному фронту открываем ворота и заполняем счётчик импульсами от тактового генератора с высокой частотой;
- по следующему фронту гитарного сигнала той же полярности переписываем достигнутое значение в регистр и храним его вплоть до следующего цикла, после чего мгновенно обнуляем счётчик периодометра и снова считаем тактовые импульсы;
- для синтеза сооружаем реверсивный счётчик и в рабочем цикле синтеза сгоняем его к нулю тем же тактовым клоком;
- для воспроизведения периода, хранимого в регистре, переписываем регистр в счётчик и гоним его к нулю, после достижения которого снова переписываем регистр в счётчик: очевидно, что при равенстве тактовых частот период синтезированного сигнала совпадёт с хранимым в регистре. А вот если сгонять реверсивник клоком на октаву-другую выше - то за время обновления регистра гитарным сигналом, синтезатор успеет сгенерить соответствующее значение периодов!

Итак, в целом: на вход подаём гитарную частоту, а на выходе получаем её же, поднятую на нужное число октав.
Остаётся прицепить к синтезатору регистровый счётчик и получить полноценный органный звук - очень впечатляющий при живом следовании за гитарой hands

Для этого устройства я применил 16-разрядный процессор на ТТЛ-логике (155 серия).
Само счётное ядро занимало 4х3=12 корпусов, плюс ещё входной преобразователь.
Всё это собрано на слепыше от стандартного крейта метеостанции ТАИР для телевышек, разработкой которого я занимался в оплачиваемое работодателем время dollar

В общем, нехилый такой получился блочок - особенно при умножении всего канального хозяйтва на шесть! И жрал соответствующе...

Но, главное - он работал и уже удовлетворял поставленной заданию.
Дальше я сообразил, что генерить оно будет и по завершении гитарного сигнала - что очень хорошо для формирования релиза с мягким спадом - ведь в регистре записан тон гитарного сигнала.
Однако тут ожидала подводная коряга - система отлично отслеживала мгновенное значение тона, но мгновенка сильно отличалась от среднего! Потому система хватала последний период, а он мог отличаться от среднего очень сильно - и в фазе релиза звук скакал на фальшь dont
Пришлось ограничиться коротким релизом

Стало понятно, что надо хранить в регистре осреднённое значение - и я засел за цифровой осреднитель на базе АЛУ всё той же 155 серии. То есть, схема сильно раздувалась... killed

Но зато при питании измерителя и синтезатора от разных генераторов можно было качать синтез по частоте как угодно! И можно было глиссандировать - правда, в пределах звучания струны.

Я прилепил к гитаре пот с рычагом - и Серёга с eek глазами тягал соляки на октаву туда-сюда. Гитараст был в шоке lol
(продолжение следует)



PERATRONIKA - персональная звукотехника
 
peratronДата: Суббота, 01.10.2016, 12:40 | Сообщение # 3
Генерал-полковник
Группа: Администраторы
Сообщений: 1102
Репутация: 5
Статус: Offline
В принципе, можно было лепить шестиканалку - благо, к этому моменту поспел контроллер на основе динамического съёма (про него тоже можно поговорить - благо он по сю пору валяется на шкафу и я могу его отщёлкать фотиком).

Но громоздкость решения не давала покоя - пока я не сообразил, что весь алгоритм синтеза можно воспризвести в аналоге:
- периодометр на основе ГЛИН;
- хранение - вместо регистра аналговое УВХ;
- синтез - на основе генератора с тем же глин и компаратора, подцепленного к УВХ.

При идентичности ГЛИН схема воспроизводит период, как и цифровая, но если в ГЛИН в синтезаторе поставить ёмкость в 2-4-8 раз меньшую, то на выходе будет сигнал на одну, две, три октавы выше.

Разумеется, аналоговый синтез менее стабилен - но я прикинул, что при правильном проектировании нестабильность будет удовлетворительной. А в целом - на уровне тогдашних технологий - более компактным и менее жрущим питание.

И, главное, - два великолепных бонуса:

- на выходе синтезатора сразу же пила, пригодная для регистрового синтеза (правда, требуется коррекция по амплитуде - но это не чрезмерно сложно);

- главное же в том, что проблема осреднения решается элементарным RC-фильтром между УВХ и компаратором синтезатора! Причём, если сделать R переменным - получится классическое синтезаторное портаменто!

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

Надеюсь, что на вопрос ответил - если что, задавай вопросы для уточнения.


PERATRONIKA - персональная звукотехника
 
  • Страница 1 из 1
  • 1
Поиск: