Jump to content
Българският форум за музиканти

Амп симулатори за PC и други устройства


Evtim Djerekarov

Recommended Posts

Засега успях Arduino UNO R3, с Bootloader-а MocoLUFA, MIDI библиотека и такава за Debounce на бутони, с три бутона да подавам 6 Program Change команди (3 при бързо натискане и още 3 при по-продължително).

Devices.png
smart.jpg

Адрес на коментара
Сподели в други сайтове


Още съм далече от финална идея, но ми изглежда добре така:

  • поне един експрешън педал (аналогов вход)
  •  да кажем, 4 настъпи бутона в редица, за смяна на 4 бленди, като третия вади тунер при задържане, вторият - нещо друго, а първият и четвъртият при задържане са Bank - и Bank +.
  • Може по-нагоре, да има бутон за вкл/изкл на бустер, бутон за вкл/изкл на времеви ефект, както и потенциометри за Amp Gain, Output volume, евентуално EQ.
  • Едно копче за запазване на промените.

За да може да подмени bootloader-а с такъв за HID-compliant MIDI устройство, то освен микроконтролера, на платката около USB порта трябва да има и помощен Atmel 16U2 контролер, какъвто има при Arduino UNO или MEGA сериите (малкият чип на снимката), но няма при NANO сериите, например. Разбира се, ако искате да препрограмирате устройството, трябва първо да върнете оригиналният bootloader, така че да се разпознае отново като Arduino, а не като MIDI устройство.

НЕ СЪМ СИГУРЕН, ДАЛИ bootloader-а може да се сменя на Arduino-та с USB чип CH340G. Това можете да проучите и вие.

Редактирано от Evtim Djerekarov
Адрес на коментара
Сподели в други сайтове

Лека-полека оформям тестовата педалиера в един канал от въздуховод. Трябва да ползвам Arduino MEGA, че има доста повече цифрови I/O портове, както и да купя няколко rotary encoder-а и още няколко незадържащи настъпи-копчета, както и евтин expression педал. Идеята мисля, става ясна.

Редактирано от Evtim Djerekarov
Адрес на коментара
Сподели в други сайтове

Блазе им на тия като теб, коитомогат да се оправят с  Arduino- гледам из Нета- какво ли не правят с него.

Адрес на коментара
Сподели в други сайтове

Може да пробвам с един (или два!) такива педала.  Или вградени в устройството, или включени посредством букси.

Ттрябва първо да проуча внимателно всички възможности за програмиране (така че да могат да се управляват различни решения, възможно е дори да може да се избира кой плъгин ще управляваш, за да се "настройва" миди контролера оптимално.

Все още не знам, дали плъгините връщат полезна информация, особено такава за изобразяване на екран. Ще сложа още 2-3 настъпикопчета като купя по-нагоре, за да може човек да си управлява с тях други неща освен да превключва пресети, а освен това мисля, да сложа и някакви rotary енкодери, с които да може да се настройва Gain/Eq/Level. Мисля и за Tap Tempo, а бе - весело ми е.

Ето едно малко видео на малко по-сглобената тестова кутийка на контролера.

 

 

Адрес на коментара
Сподели в други сайтове

Отговорено (Редактирано)

Евтиме, MIDI има много възможности, управлява и осветление и домашни уреди...

На теб ще ти трябват няколко функции:

MIDI Chanel- избиране на един от 16-те миди канала.

Смяна на програма PC (Program change). Би трябвало да я има в чипа. Стойности 0-127.

Има една особеност- смяна на банка. Ико имаш 2 процесора/ефекта/плугина, е един от тях е с повече от 128 пресета (миди е 7-битово и има 128 адреса 0-127), ще трябва да смениш банка. Нормално това е #CC0->MSB, но при някои устройства трябва да ползаваш #CC32->LSB. От адреси #CC32-64 има и други LSB функции, които ще ти трябват примерно да смениш вида на фейзъра, гейна на дисторжъна и т.н.

RPN и NPRN- това са стандартните функции на MIDI-> примерно #CC4-Foot Controller, #CC7-Volume; #CC11-Expression; #CC96-Data Increment(+1); #CC97-Data Decrement (-1) и т.н. NPRN са нерегистрирани съобщения, които производителя е включил и са уникални за дадено устройство. Това значи, че трябва да се чете упътването му за MIDI Implementation.

#CC адреси- както горе е посочено, има стандарт (MIDI 1, MIDI 2 беше одобрена на NAMM 2020 и тепърва ще  се налага)- пак четеш  MIDI Implementation за устрйството.

NOTE ON/OFF- това е функцията за номериране на ноти- в чипа може да иама GM (GENERAL MIDI) и да си програмираш накой бутон да ти свири нота. В чипа може да има и ADSR- за управление на атака, профдължителност...

SysEx- System Exclusive - носи информация, която е специфична за производителя на устройството получаващо съобщението. Това е начин за програмиране и съобщенията има вида: F0 7F <Device-ID> <Sub-ID#1> [<Sub-ID#2> [<parameters>]] F7 (пример: 0xF0 0x41 0x01 0x34 0xF7 - в шестнадесетични числа). Започват с 0хF0 и завършва с 0хF7. Device-ID е уникален номер на устройството, даден от миди асоциацията.

Това са някои основни неща- да знаеш с какво се захващаш. ?️

Редактирано от wiseppman
Адрес на коментара
Сподели в други сайтове

Отговорено (Редактирано)

Аз MIDI спецификацията я четох преди има-няма 15 години за една курсова работа, но няма да е зле, да си я припомня. Повечето Китарни софтуери имат или фиксирани функции, които са валидни за всички пресети (примерно Preset+, Preset-, Amp Gain, Wah position и т.н.), или имат възможност за MIDI Learn.

Засега пращам само PC команди от настъпикопчетата, и CC от потенциометъра и не чета нищо обратно от компютъра.

Трябва да прочета, дали по-популярните софтуери имат някаква фабрична "схема" или по-специални SYSEX неща, които все пак са документирали някъде или някой успешно е подслушал.

Лошо е, че не всички софтуери имат възможност да връзват изваждане/скриване на тунера или Preset Save към миди команди.

Редактирано от Evtim Djerekarov
Адрес на коментара
Сподели в други сайтове

Отговорено (Редактирано)
On 2/26/2021 at 6:54 PM, Evtim Djerekarov said:

За да може да подмени bootloader-а с такъв за HID-compliant MIDI устройство, то освен микроконтролера, на платката около USB порта трябва да има и помощен Atmel 16U2 контролер, какъвто има при Arduino UNO или MEGA сериите (малкият чип на снимката), но няма при NANO сериите, например. Разбира се, ако искате да препрограмирате устройството, трябва първо да върнете оригиналният bootloader, така че да се разпознае отново като Arduino, а не като MIDI устройство.

НЕ СЪМ СИГУРЕН, ДАЛИ bootloader-а може да се сменя на Arduino-та с USB чип CH340G. Това можете да проучите и вие.

Това със смяна на буутлоудъра и преобразуване на вграденото USB като midi/usb не ми звучи добре...
Всяка корекция кода и ретестване на устройството......

По-скоро, не може ли да стане с midi-rs232 конверсия:
https://www.compuphase.com/electronics/midi_rs232.htm
Може да има и по-лесен начин.
И после стандартен TTL/RS232 - USB конвертер ?

Редактирано от emosms
Адрес на коментара
Сподели в други сайтове

Отговорено (Редактирано)

Може да направи човек двоен bootloader, където да пуска устройството в режим Arduino само като окъси пинове на ICSP хедъра на 16U2.

Редактирано от Evtim Djerekarov
Адрес на коментара
Сподели в други сайтове

преди 28 минути, Evtim Djerekarov написа:

Аз MIDI спецификацията я четох преди има-няма 15 години за една курсова работа, но няма да е зле, да си я припомня. Повечето Китарни софтуери имат или фиксирани функции, които са валидни за всички пресети (примерно Preset+, Preset-, Amp Gain, Wah position и т.н.), или имат възможност за MIDI Learn.

Засега пращам само PC команди от настъпикопчетата, и CC от потенциометъра и не чета нищо обратно от компютъра.

Трябва да прочета, дали по-популярните софтуери имат някаква фабрична "схема" или по-специални SYSEX неща, които все пак са документирали някъде или някой успешно е подслушал.

Лошо е, че не всички софтуери имат възможност да връзват изваждане/скриване на тунера или Preset Save към миди команди.

За РС при устройства до 128 пресета си минава през #CC0. #CC96 i 97 можеш да използват за пресет+-/програм+-. Но в спесификациите на устройството трябва да има списък на миди-маппинг (може да са NRPN). Amp Gain Може с експрешън през LSB. A SysEx става и през MIDi/OX за проба.

Адрес на коментара
Сподели в други сайтове

Тук има относително пълнофукцтионална MIDI библиотека:

 

https://github.com/FortySevenEffects/arduino_midi_library/blob/master/src/MIDI.h

Адрес на коментара
Сподели в други сайтове

Мисля, че това по ще ти свърши работа. В прозореца има готов код за настройка

Build an Arduino powered MIDI Controller - Arduino Project Hub

Адрес на коментара
Сподели в други сайтове

Управлението на ампа си го правих с микроконтолер STM32. Изпраща PC и CC команди... на Arduino така и не му станах фен...

Резултати вътре:
FSW_IN2.thumb.jpg.f755a5e4ea32befb88102cc095828929.jpg

 

и отвън:

FSW_OUT.thumb.jpg.8542e0c9603094880fa6fcdafbdd0600.jpg

 

Дисплейчето е OLED - 128x64... Сметнах, че ми е достатъчно - в крайна сметка освен да показва номера PC, която е избрана, единственото друго нещо като необходимост е настройката на MIDI канала. Другата опция беше да ползвам седем сегментна индикация, но не ми хареса визията...

Адрес на коментара
Сподели в други сайтове

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Отговорете в темата...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Предишното ви съдържание бе възстановено.   Свободно редактиране

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Създай нов...

Важна информация!

Поставихме "бисквитки" на вашето устройство, за да направим този сайт по-добър. Можете да коригирате настройките си за "бисквитките" , в противен случай ще предположим, че сте съгласни с тяхното използване.