Very Hot Topic (More than 50 Replies) Selfmade Keyboards или самодельные клавиши (Прочитано 1376 раз)
OldMike
Гуру
*****
Вне Форума


Сложно сделать
- просто, наоборот
- сложнее...

Сообщений: 1963
Местоположение: Украина,Черкассы
Зарегистрирован: 29.04.2008
Re: Selfmade Keyboards или самодельные клавиши
Ответ #60 - 20.03.2020 :: 18:22:50
Post Tools
@ KMG

Миш, спасибо за напоминание - я так и не удосужился глянуть, чего Алесисы там замутили с Лесли Улыбка. Пример звучания я не смог открыть - брось мне на мыло, если не трудно, в мр3 - интересно послушать... Попробую разобраться, чего они там сделали - придется вспоминать этот DSPшный ассемблер... Улыбка Я на нем не писал ничего, потому и читаю его со скрипом (мозгов Улыбка).
Ну а продолжение банкета... А как же! Улыбка

Вот так выглядели искажения звука (первого описанного мной типа "хррум"Улыбка)  при рассмотрении в аудиоредакторе (сигнал - чистый синус). Прмерно на пятом периоде внизу видна замечательная ступенька. Их таких было штук 5 в секунду.
В общем - проект органа был отложен, хотя я продолжал заниматься смежными проектами - изучал и осваивал STM32 и всяко, что к ей подключается...
Одним из направлений стало изучение работы с небольшими графическими дисплеями. Первой из причин было противоестественное давнее желание сделать свой цифровой осциллограф (не то, чтобы он был мне очень нужен - у меня есть довольно приличный аналоговый С1-112 Улыбка, есть карманный пробник DSO138, да и RIGOL на работе имеется, и не один...). Ну, как говорится, хочется - хуже чем болит... Для меня изучать что-либо всегда лучше получается на конкретном примере, потому я ставлю себе этакие "учебно-боевые" задачи - вроде создания осциллографа для изучения работы с экраном TFT. Тоже было несколько подходов к задаче (сначала на STM32F030, потом - на STM32F103, может еще будет на STM32F303, если выживу после эпидемии короновируса Улыбка). Осциллограф - задачка та еще, пришлось разобраться с режимами ADC, DMA, вообще наиграться с различными алгоритмами обработки сигнала и его отображения, с контроллерами экрана, да и аналоговая часть - тоже интересная задачка (особенно, если в магазине вместо настоящих (за настоящие деньги!) - китайские перемаркированные лазером поддельные типаширокополосные операционники)...  Вот, что вышло в результате (полоса сигнала - до 1МГц, ну и удобное управление Улыбка):
 
Ну и конечно пришло решение использовать подобный экран и для органа - ведь предполагалось наличие Пресетов - запоминания настроек, а как их индицировать без графики? Даже у цифровых Хаммондов (xk5) - индикация футбаров отвратительная... В общем - цветному дисплею быть! Осталось придумать концепцию интерфейса - сколько и каких кнопок, потенцев, педалей, сколько и каких вообще параметров нужно запоминать... Ну и со звуком (точнее - со схемой) нужно было что-то делать - звук был неплох (на мой вкус, конечно Улыбка) - но схема - слишком большой огород! Улыбка Она, конечно, уже была собрана, но само решение не было красивым, а меня это напрягало...
« Последняя редакция: 20.03.2020 :: 18:29:38 от OldMike »  

производится и предлагается к продаже линия примочек/преампов RedCat BM-4/5/6/7 и SL100/FSL100
Наверх
WWWICQ  
IP записан
 
KMG
Гуру
*****
Вне Форума



Сообщений: 3776
Местоположение: Санкт-Петербург
Зарегистрирован: 06.06.2008
Re: Selfmade Keyboards или самодельные клавиши
Ответ #61 - 20.03.2020 :: 18:30:46
Post Tools
А по прямой ссылке не откроется?
RotarySpeaker
  
Наверх
IP записан
 
OldMike
Гуру
*****
Вне Форума


Сложно сделать
- просто, наоборот
- сложнее...

Сообщений: 1963
Местоположение: Украина,Черкассы
Зарегистрирован: 29.04.2008
Re: Selfmade Keyboards или самодельные клавиши
Ответ #62 - 20.03.2020 :: 20:44:05
Post Tools
Спасибо - открылось. А ты знаешь - вроде и неплохо! Органчик бы через него пустить, чтоб послушать... Гитара менее информативна - звуки отрывистые, и спектр довольно узкий... У тебя ж пиковерб есть в железе? Может сделаешь с чистым органом?
В общем - нужно залезть в программу Алесиса и немного ее погрызть...

ЗЫ Я немного погрыз этот алгоритм... Миш, а ты уверен, что там полная рабочая программа? Чет я там нашел кучу операторов, которые не делают ничего, но не нашел объявлений массивов памяти... (а может я просто не разобрался в этом Ассемблере? Улыбка)
« Последняя редакция: 21.03.2020 :: 14:35:33 от OldMike »  

производится и предлагается к продаже линия примочек/преампов RedCat BM-4/5/6/7 и SL100/FSL100
Наверх
WWWICQ  
IP записан
 
KMG
Гуру
*****
Вне Форума



Сообщений: 3776
Местоположение: Санкт-Петербург
Зарегистрирован: 06.06.2008
Re: Selfmade Keyboards или самодельные клавиши
Ответ #63 - 21.03.2020 :: 15:42:34
Post Tools
Цитата:
Органчик бы через него пустить, чтоб послушать.

Кинь, или дай ссылку на какой-нибудь DI'ник с треком органа, тогда в понедельник на работе постараюсь прогнать.
Цитата:
ЗЫ Я немного погрыз этот алгоритм... Миш, а ты уверен, что там полная рабочая программа? Чет я там нашел кучу операторов, которые не делают ничего, но не нашел объявлений массивов памяти

Миша, это результат дизассемблера (с абсолютными адресами), а не исходник, придется вручную разбираться какие адреса к каким массивам относятся.
  
Наверх
IP записан
 
OldMike
Гуру
*****
Вне Форума


Сложно сделать
- просто, наоборот
- сложнее...

Сообщений: 1963
Местоположение: Украина,Черкассы
Зарегистрирован: 29.04.2008
Re: Selfmade Keyboards или самодельные клавиши
Ответ #64 - 21.03.2020 :: 15:54:22
Post Tools
Миш, я провозился часа 3 - перечитал описание команд, посмотрел простые хоруса  - они в виде текстовых файлов. Там все понятно.
А тут - я не справился. Тут явно используется Pitch - ибо LFO - пила, да еще с параметрами кроссфейда. Понял я, что сдвиг идет и в +, и в -. Еще я понял, что синусоидальной модуляции там нет - странно для имитатора Лесли... А без описания массивов (MEM) мне там делать нечего... Ну и общего понимания некоторых команд у меня недостаточно - например, как этот Pitch таки реализуется - зачем, скажем, элемент управления MASKA применяется? Смысл фразы, которая его описывает, мне понятен, а вот к алгоритму его привязать не могу...
Да и листинг этого алгоритма какой-то странный... Вот смотри - команда
RZP      INL      K=0      в конце повторяется 15 раз, при этом она всего лишь пишет 0 в аккумулятор. Нафига? Ну там и в начале есть похожее место...
В общем - в борьбе с Алесисом я признаю свое поражение... Улыбка
Может ты хоть на словах мне опишешь, что там происходит, в этом Rotary Speakers? Или ты тоже не разбирался?
В качестве исходника для обработки можешь попробовать использовать вот этот  - он, хоть и с небольшим хорусом, но эффект от Алесиса мы услышим, надеюсь.
https://drive.google.com/open?id=1xpAF4sYTfikR1KkJvj1NGVEFBA_zfkeF
О, вот вдруг нашел еще один велосипед, изобретенный до меня:
http://www.willpirkle.com/Downloads/Rotary%20Speaker%20Sim%20App%20Note.pdf
Ну, бегло рассмотрев его блок схему, понял, что он делает очень похоже со мной, у меня немного проще... Учитывая, что свое я придумал сам - я таки молодец! Улыбка Улыбка Улыбка
Вот, что предлагает сделать этот товарищ:

В принципе, очень похоже на мои блок-схемы (неудивительно - во-первых, мы оба пытаемся сделать модель конкретного механического устройства, воспроизведя логику его работы, во-вторых - используем один источник данных о Лесли - книгу C. Henricksen, “Unearthing the Mysteries of the Leslie Cabinet” Recording Engineer/Producer, April 1981.)Улыбка
Есть и несколько отличий. Во первых - у него есть еще и "субнизкая" (условно) полоса - ниже 200Гц, которая не модулируется (сведения из той же книги). По моему опыту отслушивания разных настроек имитатора - модуляция НЧ не играет ключевой роли в имитации Лесли - хотя она добавляет немного шарма. В общем - я решил не усложнять этот аспект.
Во-вторых - у него есть полосовые фильтры на ВЧ полосе для имитации АЧХ рупора. Тут, возможно, я попробую сделать так же - нужно подумать, попробовать и послушать...
Дело в том, что если "поставить" виртуальные микрофоны совсем близко к ротору, то модуляция делается несколько утрированной и неестественной, в реале она звучит довольно мягко. А полосовые фильтры сделают ее еще ярче... Возможно, их нужно делать отключаемыми - для разных вариантов звука. Подумаю.
Просто хотелось получить "Лесли", а не "ультра-Лесли". А многие плагины этим грешат - ну, чтоб никто не сомневался, что слышит именно Лесли! Улыбка
« Последняя редакция: 22.03.2020 :: 06:22:39 от OldMike »  

производится и предлагается к продаже линия примочек/преампов RedCat BM-4/5/6/7 и SL100/FSL100
Наверх
WWWICQ  
IP записан
 
KMG
Гуру
*****
Вне Форума



Сообщений: 3776
Местоположение: Санкт-Петербург
Зарегистрирован: 06.06.2008
Re: Selfmade Keyboards или самодельные клавиши
Ответ #65 - 23.03.2020 :: 08:45:56
Post Tools
Миша вот тебе твой оргАн
Clean_Organ_L_I.mp3 - родная масочная прошивка RotarySpeaker
Clean_Organ_L_E.mp3 - загруженная программа RotarySpeaker
Для того чтобы убедиться что загрузка работает правильно загрузил пресет из xenyx1202fx, которого точно нет в масочной прошивке - Church
Clean_Organ_С_E.mp3 - xenyx1202fx Church

Цитата:
Вот смотри - команда RZP      INL      K=0      в конце повторяется 15 раз, при этом она всего лишь пишет 0 в аккумулятор. Нафига?

Это просто чтобы добить до 128 команд чем-нибудь безопасным, не влияющим на основной алгоритм, AL3201 всегда перебирает все 128 команд.
« Последняя редакция: 23.03.2020 :: 08:50:24 от KMG »  
Наверх
IP записан
 
OldMike
Гуру
*****
Вне Форума


Сложно сделать
- просто, наоборот
- сложнее...

Сообщений: 1963
Местоположение: Украина,Черкассы
Зарегистрирован: 29.04.2008
Re: Selfmade Keyboards или самодельные клавиши
Ответ #66 - 23.03.2020 :: 17:23:16
Post Tools
Спасибо, Миша!
И вот с органом вариант Лесли от Алесиса мне не понравился... Ни один, ни второй. Не похоже. Тремоло какое-то, причем частота не регулируется - а если ее уменьшить, будет еще хуже, думаю. Так что догрызать эти алгоритмы мы  не будем, лучше сосредоточимся на своем...
Кстати - довелось мне давно тому работать на Xenix'е - ревера там отвратительные (для вокала), 100 программ, а выбрать нечего. А вот ранний Беринжер серии UB40 (модель уже подзабыл) - у того вполне рабочие были ревера... до ремонта модуля FX. После ремонта модуль видно перепрошили - и стало такое же УГ, как на  Xenix'е...
Ладно - возвращаемся к нашим органам... Улыбка
Год, который я не занимался органом, прошел с пользой - кроме работы с TFT экранами я освоил (слегка Улыбка) кроме Cortex0 процы с более сложными ядрами Cortex3 и Cortex4. Собственно, основное отличие - более развитая периферия и большая общая сложность, а так все похоже у всех семейств (кроме STM32F103 - и я ее не люблю, хотя и сделал на ней осцилл). Что это мне дало? Прежде всего - большее быстродействие и объем ОЗУ.
Просто с подачи KMG, который сделал в свое время проект на AL3201, я загорелся сделать нормальный ревер. Тогда с заказом Алесисовского комплекта у меня чего-то не сложилось, но желание сделать ревер не угасло. Я внимательно поизучал доки от Алесиса, там хорошо разжеваны алгоритмы моделирования реверберации помещений (а изюминкой Алесиса была возможность грузить в него и свои алгоритмы, Миша тогда это все изучил и показал, как грузить). В общем - слегка подумав, я понял, что DSP не так уж и необходим - проц типа STM32F303CC способен обработать подобный алгоритм при грамотном подходе.

И вот я наконец-то дорвался - и таки сделал ревер (алгоритм не совсем 1:1 - у меня он немного другой, я долго возился, подбирая на слух коэффициенты в фильтрах, амплитуды ранних отражений, фильтрацию между ЛЗ...).
Ориентировался я больше на вокал (по-привычке, хотя уже давненько не работаю в баре Улыбка) - но и с органом он неплохо звучит:
https://drive.google.com/open?id=156W4nlR9xkrXQ-I4lc2HWfH0IY_IERN0
В этот момент я думал даже не столько об органе - мне хотелось сделать компактный эффект для гитары (все FX на задержках), потом придумалось туда же добавить возможность управлять аналоговым перегрузом (с запоминанием пресетов). Я сечас по-немногу работаю над этим проектом... Дык вот - потом я сделал туда дилей (хвастаться особо вроде и нечем - эка невидаль! Улыбка, но памяти там все же маловато и пришлось помудрить, чтобы до 1 сек довести) и решил таки добить алгоритм хоруса, который у меня не пошел в первом заходе с органом. Тем более, что я знал - Алесис работает на фиксированной частоте дискретизации, но таких, как у меня, проблем не имеет...
Помог разобраться мне снова друг KMG (еще раз спасибо, Миша!):
http://forum.guitartonelab.ru/cgi-bin/yabb2/YaBB.pl?num=1460094436/102#102
Аппроксимацию значений я сделал по-своему (не совсем, как в Алесисе) - и все заработало.
И я начал дозревать до возвращения к Хаммонду - попробовать сделать его уже полностью в цифре... Причем, как и раньше - именно смоделировать всю цепочку - каждый элемент, задающий и модифицирующий звук...
« Последняя редакция: 23.03.2020 :: 17:30:18 от OldMike »  

производится и предлагается к продаже линия примочек/преампов RedCat BM-4/5/6/7 и SL100/FSL100
Наверх
WWWICQ  
IP записан
 
KMG
Гуру
*****
Вне Форума



Сообщений: 3776
Местоположение: Санкт-Петербург
Зарегистрирован: 06.06.2008
Re: Selfmade Keyboards или самодельные клавиши
Ответ #67 - 24.03.2020 :: 08:30:47
Post Tools
Вот с частотой вращения пониже
Clean_Organ_L_E_LowF.mp3
  
Наверх
IP записан
 
OldMike
Гуру
*****
Вне Форума


Сложно сделать
- просто, наоборот
- сложнее...

Сообщений: 1963
Местоположение: Украина,Черкассы
Зарегистрирован: 29.04.2008
Re: Selfmade Keyboards или самодельные клавиши
Ответ #68 - 24.03.2020 :: 16:38:34
Post Tools
Спасибо!
На частоте модуляции слышен призвук (хорошо слышно на второй части семпла) - такое легкое постукивание. Такое впечатление, что сдвинутый тон просто включается и выключается в добавок к основному. ИМХО - на Лесли не похоже.
Ну вот еще раз - Лесли, съем одним микрофоном издалека:
https://www.youtube.com/watch?v=G5fI3X9BdrQ&t=483s
Ведь совсем другой звук! А если микрофоны рядом - то модуляция и вращение звукового поля еще более заметно...
Возвращаюсь к моему долгострою... Улыбка
В процессе отработки реверов и хоруса я наконец собрался послушаться советов умных людей и прикрутить на выход системы звуковой DAC. Дело тут не только в природной лени Улыбка. Еще делая свой Moog на Atmege, я ориентировался на 12битный DAC. Первая причина - в этот момент я не смог найти в пределах доступности DAC под SPI с большей разрядностью. Почему SPI? Интерфейс I2S всем хорош, когда реализован аппаратно, иначе проц ничем, кроме его обслуживания, заниматься не будет - там кроме данных нужно вырабатывать и передавать 3 сигнала синхронизации, причем все это строго синфазно. AVR такой периферией не располагает, потому SPI...
Вторая причина - недостаток разрядности в этой схеме вполне компенсируется аналоговой фильтрацией (я ведь не симфоническую музыку собирался проигрывать с динамическим диапазоном 90 дБ Улыбка) - аналоговый фильтр эффективно сглаживает ступеньки дискретизации, рисуя плавную кривую. А управляемый фильтр у меня изначально задумывался аналоговым. Практика показала - я не ошибся, все нормально звучит.
Первый вариант Хаммонда я начинал делать на STM32F030C8T6 - это Cortex0 и у него тоже нет I2S... Я там еще немного наколдовал с цифровым усилением - оно зависело от количества выдвинутых футбаров, т.е. от громкости суммы всех гармоник. Таким образом у меня уровень сигнала никогда не опускался до нескольких бит. А дальше был фильтр на входе ЛЗ Лесли - в общем, ИМХО, звучало неплохо.
Но вот если всю обработку удастся сделать в цифре - тогда могучий фильтр на выходе будет не нужен и могут появится слышимые искажения... (вообще-то аналоговые ЛЗ примерно такой же динамический диапазон и имеют - недаром в серьезных примочках с ними применяют компандерные шумодавки, но - цифра на малых уровнях звучит противнее).
Поскольку отрабатывал алгоритмы явления реверберации я на STM32F303CC, а это уже кристалл по-серьезнее, у него на борту нашелся I2S, и я решил попробовать. В общем, подключение звукового DAC оказалось не таким уж и страшным... Улыбка Я использовал CS4344, чем он хорош - вместо выходного фильтра используется простая RC цепь, а еще он может работать без одного из сигналов синхронизации, что несколько упрощает борьбу с ним... И ревер и орган у меня работают с частотой семплирования 31,25kHz, благодаря цифровой фильтрации DAC хорошо сглаживает ступеньки сигнала на выходе (на осциллографе они на встроенном DAC'е без фильтрации выглядят довольно пугающе Улыбка).
Подключение DAC по I2S потребовало переработки программы - теперь генерация звука синхронизировалась по запросу от DAC'а...
Пришла пора попробовать собрать все это в кучу и посмотреть - что получится... Улыбка
« Последняя редакция: 24.03.2020 :: 16:47:39 от OldMike »  

производится и предлагается к продаже линия примочек/преампов RedCat BM-4/5/6/7 и SL100/FSL100
Наверх
WWWICQ  
IP записан
 
OldMike
Гуру
*****
Вне Форума


Сложно сделать
- просто, наоборот
- сложнее...

Сообщений: 1963
Местоположение: Украина,Черкассы
Зарегистрирован: 29.04.2008
Re: Selfmade Keyboards или самодельные клавиши
Ответ #69 - 26.03.2020 :: 17:05:01
Post Tools
Чет навеяло: Декамерон помните? Ну там чума, они закрылись ото всех, а чтоб не скучно - похабные истории рассказывали... У нас вместо чумы - короновирус, сидим каждый возле своего компа и читаем мои... надеюсь, не очень похабные посты... Улыбка
Итак...
Начал я переносить старый проект органа на новый проц... На STM32 да на С это не сильно сложно, у большинства процов семейства очень много общего. Ну, пришлось переписать настройку тактирования, еще там по мелочам... Запустил (еще старую версию, под аналоговые фильтры). Но тут наткнулся на Али на расчудесную платку, известную, как "Black tablett". STM32F411CE -  это Cortex4, в удобном конструктиве. В общем - заказал, и пришло... Зачем мне Cortex4? Да для быстродействия, ибо возникло подозрение, что не справится Cortex3, если навалить туда кода по полной Улыбка. А тут и тактирование по-шустрее (100MHz), и архитектура совершеннее - даже кэши есть...
В общем - опять начал изучать даташиты... Снова переписал тактирование (а тут оно совсем другое) и всякие настроечные мелочи поправил.
И стал снова думу думать - что делать дальше-то? Улыбка
И вот чего надумал в первую очередь: решил я разделить функции звукогенерации и управления. Даже не столько из-за нехватки быстродействия, сколько из-за удобства монтажа на инструменте и отработки алгоритмов. Т.е. звук генерит быстрый проц на Cortex4, а опрашивает клавиатуру, кнопки, потенцы и работает с экраном - Cortex0 (заодно и плата из первого проекта пригодилась - ну не выбрасывать же! Улыбка). Связь между модулями я решил, не изобретая очередного велосипеда, организовать по MIDI - я знаю протокол, скорости его мне достаточно, аппаратно тоже все получается просто. Заодно это решает проблему совместимости - я смогу прицепить еще и стандартный звуковой модуль при нужде, или использовать свой звукогенератор с внешним MIDI. Единственно - пришлось в систему команд добавить "эксклюзива" - передачу параметров, которые не стандартизованы в MIDI.
Так что я взял, и часть проекта, генерирующую звук, перетащил в STM32F411... Да, вот еще чего пришлось там со старта дорабатывать - в первом цифро-аналоговом варианте моего Хаммонда кроме Лесли, как и у оригинального инструмента, было предусмотрено регулируемое частотное вибрато. Реализовал я его очень просто - таймер, задающий частоту семплирования, слегка модулировался от LFO. Поскольку я выводил это на 12битный встроенный DAC, мелкие изменения частоты семплирования меня не волновали... Перейдя на STM32F411CE, я во-первых лишился встроенного DAC'а, во-вторых - сразу решил выводить звук по I2S. А тут картинка иная - частота семплирования  вырабатывается аппаратно, да и неизвестно, как встроенный ФАПЧ DAC'а отреагирует на ее колeбания...
В общем, пришлось модулировать уже коэффициенты деления для каждой ноты... Добавил к каждой ноте еще одну гармонику - теперь их стало 9, как у оригинала...
Процесс по-немногу сдвинулся после годичного простоя...
« Последняя редакция: 26.03.2020 :: 17:08:46 от OldMike »  

производится и предлагается к продаже линия примочек/преампов RedCat BM-4/5/6/7 и SL100/FSL100
Наверх
WWWICQ  
IP записан
 
OldMike
Гуру
*****
Вне Форума


Сложно сделать
- просто, наоборот
- сложнее...

Сообщений: 1963
Местоположение: Украина,Черкассы
Зарегистрирован: 29.04.2008
Re: Selfmade Keyboards или самодельные клавиши
Ответ #70 - 29.03.2020 :: 07:20:35
Post Tools
Опять тишина в эфире... Улыбка
Внимание, вопрос!
Для интерфейсной части моего Хаммонда мне нужны какие-нибудь фут-бары... В оригинальном инструменте это набор видвигающихся движков над верхней клавиатурой, посмотрите, например, вот тут:
https://www.youtube.com/watch?v=mY9bOR_H2Nk
Электрически - это просто переключатели на 9 положений с фиксацией в этих 9 положениях, переключают они там отводы суммирующих автотрансформаторов...  А механически - сам то я их не разбирал, но видел на Ютубе, как восстанавливают убитые органы (та еще работенка - там только проводов несколько километров) - так вот, они представляют собой цельную конструкцию (4 секции по 9 футбаров) - там общие шины у них - но подробностей не видно, а главное - нет у меня возможности сделать сложную механическую конструкцию...
Так вот - мне нужна их (футбаров) механическая имитация или замена. Можно, конечно, взять 9 фейдеров китайских - электрически меня такое решение устроило бы, ибо информацию с них я считывать буду с помощью ADC. Ну - это решение на крайний случай, если ничего другого я не придумаю...
Я начал придумывать самодельную конструкцию на основе пластин из стеклотекстолита с процарапанными контактными зонами (потенциометр мне, в общем то, не нужен - переключатели в стиле Хаммонд - даже лучше, я просто сделаю там резистивный делитель на 9 напряжений). Но - пока - конструкция не очень вытанцовывается...
Потому прошу помощи - нужны идеи, как сделать (хотя бы одну секцию из 9 штук) механических переключателей с мягкой фиксацией или где найти что-нибудь похожее. Без фрезерного станка. Максимум, что я могу себе позволить - это попросить приятеля напечатать на 3D принтере ручки для этих ползунов Улыбка, а так - болгарка, дрель, напильник... Улыбка
  

производится и предлагается к продаже линия примочек/преампов RedCat BM-4/5/6/7 и SL100/FSL100
Наверх
WWWICQ  
IP записан
 
KSG
Гуру
*****
Вне Форума


GtLab.Net forever!

Сообщений: 5801
Местоположение: Ufa
Зарегистрирован: 09.01.2011
Re: Selfmade Keyboards или самодельные клавиши
Ответ #71 - 29.03.2020 :: 08:00:34
Post Tools
У меня сохранился советский эквалайзер Корвет-004 стерео, там дискретные резисторы со скользящими контактами Улыбка
  

Практика - критерий истины
Наверх
 
IP записан
 
OldMike
Гуру
*****
Вне Форума


Сложно сделать
- просто, наоборот
- сложнее...

Сообщений: 1963
Местоположение: Украина,Черкассы
Зарегистрирован: 29.04.2008
Re: Selfmade Keyboards или самодельные клавиши
Ответ #72 - 29.03.2020 :: 10:19:00
Post Tools
Спасибо!
Кусок эквалайзера у меня какого-то тоже есть... Минус у такого решения один - советские линейные фейдера очень тугие, а футбары должны сдвигаться одним легким движением... Улыбка
Я думал использовать потенцы от Вермоны - они имеют интересную оригинальную конструкцию - рукоятка движется по дуге... Тем более , что 8 их стоит на этом Пиано-Стрингсе. Но... Но они, во первых, стоят на передней панели и не очень удобно для одновременной настройки, во вторых - они сильно старые, боюсь будут сильно искрить.
Именно поэтому я и сказал при китайские фейдера... Новые с легким ходом. Но это - если не придумается решение, более похожее на оригинал. Правда - у Вермоны такой конструктив, что их особо и некуда там ставить...
  

производится и предлагается к продаже линия примочек/преампов RedCat BM-4/5/6/7 и SL100/FSL100
Наверх
WWWICQ  
IP записан
 
KSG
Гуру
*****
Вне Форума


GtLab.Net forever!

Сообщений: 5801
Местоположение: Ufa
Зарегистрирован: 09.01.2011
Re: Selfmade Keyboards или самодельные клавиши
Ответ #73 - 29.03.2020 :: 10:36:49
Post Tools
Да не, у Корвета движки комфортно ходят, не туго. Сейчас сунул руку в закрома, пощупал, подвигал - всё ОК Улыбка
  

Практика - критерий истины
Наверх
 
IP записан
 
OldMike
Гуру
*****
Вне Форума


Сложно сделать
- просто, наоборот
- сложнее...

Сообщений: 1963
Местоположение: Украина,Черкассы
Зарегистрирован: 29.04.2008
Re: Selfmade Keyboards или самодельные клавиши
Ответ #74 - 29.03.2020 :: 15:07:46
Post Tools
Спасибо за предложение, но увы - из Уфы к нам никак не переправить...
Ну я еще подумаю - как бы изготовить что-то похожее... Идея простая - между двух опорных пластин проложены полоски чуть более толстой пластины и свинчены насквозь в "бутерброд". Получается такой набор прямоугольных плоских и длинных гнезд. Одна из опорных пластин внутри фольгирована, фольга прорезана поперек всех этих направляющих на 9 полосок - это контактные шины. В гнезда "бутерброда" вдвигаются полоски того же текстолита, чуть  тоньше, чем прокладки "бутерброда", к каждой полоске припаян гибкий проводник - это выход канала, а внутри каждая полоска имеет пружинный контакт (проволочка - струна или чет такое), скользящий по фольге, прорезанной на шины. Ну и шариковый фиксатор на каждую полоску...
Ну так придумалось - а вот детали пока не вырисовались - работать то оно будет, но ведь нужно плавно, с небольшими люфтами...
В общем - пока думаю. можно попробовать перенести потенцы Вермоны на верхнюю крышку и поставить рядком, как в эквалайзере. вермоновские как раз очень легко двигаются... В общем - пока размышляю. Мож кто еще чего интересного подскажет...
  

производится и предлагается к продаже линия примочек/преампов RedCat BM-4/5/6/7 и SL100/FSL100
Наверх
WWWICQ  
IP записан
 
KSG
Гуру
*****
Вне Форума


GtLab.Net forever!

Сообщений: 5801
Местоположение: Ufa
Зарегистрирован: 09.01.2011
Re: Selfmade Keyboards или самодельные клавиши
Ответ #75 - 30.03.2020 :: 15:36:37
Post Tools
Подброшу немножко винтажных дровишек в тему Улыбка:
https://www.youtube.com/watch?v=yzJhbF46CXs

Один из комментов:
A Hammond C3 (have one, Leslie 122 as well!), with I believe is a Hohner Pianet N on top with a Wurlitzer 200 on top of that!! (I have a 140-B, immediate precursor to the 200 and sharing the same internals and sound on the very last wood and metal old style cabinet!) just BONKERS! WOW! And the drummer playing some of the first PAiSTe 2oo2  cymbals, too! These guys were bad ass! I play drums and play 2oo2 cymbals myself, nothing was ever better, nor will ever be! Fantastic!!!!
  

Практика - критерий истины
Наверх
 
IP записан
 
OldMike
Гуру
*****
Вне Форума


Сложно сделать
- просто, наоборот
- сложнее...

Сообщений: 1963
Местоположение: Украина,Черкассы
Зарегистрирован: 29.04.2008
Re: Selfmade Keyboards или самодельные клавиши
Ответ #76 - 30.03.2020 :: 18:31:51
Post Tools
Круто!
Внезапно вспомнилась история приобретения моим другом Wurlitzer'а из Ливерпуля... Как нибудь, если будет к месту - поведаю Улыбка. Тоже уникальный инструмент с оффффигительным звуком. Он был серьезно поломан, друг мой чинил его механику, я же подшаманил электронику...

Вот он, красавец... Ну как тут было не "заболеть" клавишами ? Улыбка
  

производится и предлагается к продаже линия примочек/преампов RedCat BM-4/5/6/7 и SL100/FSL100
Наверх
WWWICQ  
IP записан
 
OldMike
Гуру
*****
Вне Форума


Сложно сделать
- просто, наоборот
- сложнее...

Сообщений: 1963
Местоположение: Украина,Черкассы
Зарегистрирован: 29.04.2008
Re: Selfmade Keyboards или самодельные клавиши
Ответ #77 - 01.04.2020 :: 17:41:54
Post Tools
Ну что ж - история создания моего органа постепенно подходит к завершению (а вот сам орган пока не завершен Улыбка)...
Начал я выстраивать (в программе) цепочку звукоформирования: в каждом из 8 голосов формировались 9 гармоник, амплитуды которых соответствовали положению соответствующих футбаров. Построение этой части программы я сделал похожим на программу из первой моей попытки сделать Хаммонд (на Atmega8): коэффициент деления (частота ноты) звучащего голоса рассчитывалась только для самой нижней гармоники (16'), приращения генератора фазы для всех остальных гармоник получались просто умножением текущей фазы самой нижней гармоники на 2 для второй гармоники, 3 - для третьей и т.д. Таким образом я уменьшал объем вычислений, чтобы программа успевала обсчитать все 72 осциллятора (8 голосов по 9 гармоник). Текущее значение каждой гармоники умножалось на ее амплитуду (футбар). Если нота не звучала (клавиша отпущена, голос выключен) - то амплитуды всех ее гармоник устанавливались равными 0. При нажатии же клавиши нужно было только пересчитать коэффициент деления для генератора фазы текущего голоса и заполнить амплитуды гармоник в таблице в соответствии с футбарами. Т.е.была использована таблица на 72 ячейки, в которую заносились амплитуды каждого осциллятора. Каждому голосу соответствовало по 9 осцилляторов. Включаем ноту - заполняем 9 ячеек амплитудами, выключаем - заполняем их же нулями. Все работало!
Далее сумма всех звучащих нот поступала на ограничитель. Просто амплитудный ограничитель по принципу - если значение сигнала больше установленного предела - то заменяется значением предела. Потом я добавил туда и смягченный алгоритм - после превышения первого порога скорость нарастания сигнала уменьшается в 2 раза, а уже потом наступает жесткое ограничение. Перед и после ограничения сигнал подфильтровывается LPF, а еще он умножается на GAIN и значение EXPRESSION (снимаемое с педали громкости). Ну - как это все звучит -  нужно будет слушать на живой игре - все еще впереди.
Далее стоит программный блок реверберации - за основу я взял слегка упрощенный алгоритм из набора программ  Алесиса AL3201, естественно переписанный для реализации на STM32F411. Он дает неплохой Холл и может настраиваться по громкости и длине "хвоста":
https://drive.google.com/open?id=156W4nlR9xkrXQ-I4lc2HWfH0IY_IERN0
За ревербератором стоит виртуальный блок Лесли/Хоруса. В режиме Хорус - просто хороший медленный и ненавязчивый стереохорус (спасибо KMG за помощь и подсказки Улыбка), в режиме Лесли - реализован алгоритм, который я описывал выше и который я же ранее делал наполовину аналоговым способом: кроссовер на 800 Гц, НЧ просто модулируется от своего LFO, а ВЧ поступает на 2 линии задержки (ЛЗ), каждая из которых управляется своим LFO (они отличаются сдвигом фаз около 1200), а затем проходят управляемые теми же LFO фильтры - имитация прохода рупора возле микрофона. Частоты всех LFO могут плавно меняться - имитируется раскручивание и остановка роторов...
Звук выводится через DAC CS4344.
Конструктивно звуковой модуль оформлен в виде отдельной платы с двумя съемными субмодулями: один из них - плата с процессором, а второй - DAC на переходнике:

На модуле еще имеется (на всякий случай Улыбка) стандартный MIDI вход с оптронной развязкой и стабилизатор питания.
« Последняя редакция: 03.04.2020 :: 15:56:38 от OldMike »  

производится и предлагается к продаже линия примочек/преампов RedCat BM-4/5/6/7 и SL100/FSL100
Наверх
WWWICQ  
IP записан
 
OldMike
Гуру
*****
Вне Форума


Сложно сделать
- просто, наоборот
- сложнее...

Сообщений: 1963
Местоположение: Украина,Черкассы
Зарегистрирован: 29.04.2008
Re: Selfmade Keyboards или самодельные клавиши
Ответ #78 - 08.04.2020 :: 17:27:36
Post Tools
В процессе работы со звуками - когда я запустил управляющий модуль (который с клавиатурой и индикацией) - вылез один неприятный глючок...  Поскольку приращения генератора фазы для всех гармоник звучащей ноты получались умножением текущей фазы основной частоты на номер гармоники (ну - частоты всех гармоник строго кратны основному тону) - для октавных гармоник (2, 4, 8) это нормально, а вот для кварто-квинтовых (3, 5) - тут есть отклонение частоты от соответствующей частоты темперированного строя... Другими словами - пока звучит одна нота - все нормально, но если взять кварту или квинту - слышны противные биения... У Хаммонда такого нет - ибо там каждая гармоника вырабатываются своим колесиком и все частоты равны частотам темперированного строя...
В общем - в очередной раз переделал алгоритм звукогенерации - теперь у меня, как и у механического Хаммонда, 96 постоянно включенных синусоидальных генератора - они все время работают, независимо от нажатия клавиш. А при нажатии клавиши она виртуально "подключается" к соответствующему набору из 9 генераторов в соответствии с установленными значениями громкостей гармоник.
Еще одним интересным моментом стала имитация щелчка при нажатии клавиши... У оригинального Хаммонда на каждую клавишу приходится 9 контактов, которые замыкаются не одновременно при ее нажатии, причем они не просто замыкаются, а еще и дребезжат при этом. Т.е. разные гармоники подключаются не одновременно и с дребезгом, что дает жирный такой щелчок на атаке. При отпускании он тоже есть, но заметно тише. Когда-то это считалось дефектом, который не смогли побороть, но со временем стало фишкой... В современных электронных версиях Хаммондов, например Hammond xk5, есть целый раздел настроечного меню, посвященный настройкам щелчка. Для этого сделана даже механическая контактура на клавишах (правда в ней не 9, а всего 3 группы контактов) - чтобы сохранить случайность задержек между включениями отдельных гармоник. Там еще можно привязать к каждому из 3х контактов произвольную гармонику и назначить ей индивидуально время задержки и дребезга...
В общем я посмотрел - этот алгоритм по сложности соизмерим с моим блоком имитации Лесли... А вычислительных ресурсов проца STM32F411 у меня уже осталось не много...
Так что я почесал немного репу и решил слегка упростить. Я принял за аксиому, что: во-первых, длительность щелчка составляет 6-8 mS, во-вторых - учитывая дребезг контактов и их неодновременность - это должно быть похоже на фрагмент цифрового белого шума. Да - это не совсем верно, ибо в Хаммонде эти параметры щелчка зависят от включенного набора гармоник и от энергичности удара по клавише, но мы же упрощаем!
Так что я сделал там генератор белого шума (ну он не совсем белый, диапазон его меньше 4 kHz) - на сдвиговом регистре с обратной связью через "исключающее или" (программно, естественно Улыбка). И на атаке звука он подключается при нажатии клавиши примерно на 7 mS (точно время не помню - сделал и забыл Улыбка). Громкость щелчка прямо пропорциональна количеству и громкости включенных гармоник (футбар) и параметру "громкость щелчка". Все это еще будет отслушано  - нужно поиграться и послушать - нужно ли оно вообще.
Да - есть же еще и формирователь огибающей - для перкуссии. У меня перкуссия независимая - я посчитал, что удобнее, чтобы на каждый голос был свой генератор огибающей (у Хаммонда он общий). Как и у оригинала - можно выбрать гармонику (2я или 3я) и длительность затухания (она регулируется плавно, но, наверное, сделаю 2 значения. как в оригинале).
« Последняя редакция: 08.04.2020 :: 17:32:44 от OldMike »  

производится и предлагается к продаже линия примочек/преампов RedCat BM-4/5/6/7 и SL100/FSL100
Наверх
WWWICQ  
IP записан
 
OldMike
Гуру
*****
Вне Форума


Сложно сделать
- просто, наоборот
- сложнее...

Сообщений: 1963
Местоположение: Украина,Черкассы
Зарегистрирован: 29.04.2008
Re: Selfmade Keyboards или самодельные клавиши
Ответ #79 - 11.04.2020 :: 09:04:18
Post Tools
Ну что осталось добавить?
Это почти все, что сделано на сегодняшний день. Нужно додумывать интерфейс, слушать звук на живой игре и допиливать, по мере понимания, чего именно пилить... Улыбка

Тут есть блок-схема программы звукогенератора.
Вот примерчик звука, где неплохо слышна имитация щелчка (немного перестарался с его уровнем):
https://drive.google.com/open?id=1aAalEtTCKWrOlOfy_ZsAS1WYfKxUBZjd
Вот звук чистого органа (добавлено, кроме Лесли, немного вибрато, наверное зря Улыбка):
https://drive.google.com/open?id=1vOQUz9P_VLcmwbRe_uER7I80JL4abEW3
А вот звук слегка подгруженного:
https://drive.google.com/open?id=1DIJAGEJG4CfovZOCBpHNroSb8oFrYA-l
Ну вот пока и все... Как будет вдохновение, попробую снова собрать все в кучу и послушать, что получилось... Улыбка
« Последняя редакция: 11.04.2020 :: 09:09:41 от OldMike »  

производится и предлагается к продаже линия примочек/преампов RedCat BM-4/5/6/7 и SL100/FSL100
Наверх
WWWICQ  
IP записан
 
 
  « Главная ‹ Раздел Наверх этой страницы