VortexMechanic

VortexMechanic

я
Пикабушник
Дата рождения: 17 января
4039 рейтинг 39 подписчиков 25 подписок 87 постов 21 в горячем
Награды:
5 лет на Пикабу
20

Какой я всё таки...

Жена рассказала мне, что ей снился сон следующего содержания:

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

Какой я всё таки .... крутой!

9

The Legend VST FX Special Controller

У музыкантов диайвайщиков, появилось новое направление реализации своего таланта в устройствостроении, а именно: делать миди контроллеры под определённый виртуальный инструмент. Стоп! Это уже где - то было?....

Да, это было здесь: [The Legend VST Synth Special Controller](The Legend VST Synth Special Controller)

Ситуация в том, что я не остановился, только на этом - реализуя в корпусе свой любимый VST. У программной версии The Legend  - есть ещё и переключение на заднюю панель, где расположены тонкие подстройки и эффекты.

Эффекты - это в частности: дилей и ревербератор.

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

Принял решение, сделать ещё один контроллер - для задней панели виртуального синтезатора.

Но откровенно говоря, для полноценного и большого контроллера: как изначальная версия, крутилок и параметров маловато. Немного пофантазировав, решил добавить вниз обычные нотные клавиши, так скажем, на октаву или октаву с небольшим. Наличие данных клавиш, явно не помешает, так как крутя звук, нужно быстро дать команду и на его запуск ))))

Кнопочки будут круглыми - это и экономически проще, и технически, и выглядит неплохо. Заказал всё на Алике (как всегда): леонардо, два мультиплексера, кнопки, крутилки, диод (а он тут один), колпаки и собственно - всё... Ах да! - корпус?! Корпус - вторая половина от располовиненного в прошлый раз Gainta G 756.

Библиотека, как и в прошлые разы: Control Surface, которая превращает написание кода в сущую банальность. Код ниже по тексту...

Пайка, как бог на душу пошлёт, ну в смысле- последовательность особо не имеет значения, главное, потом промапить соответственно в вашей DAW.

Теперь , любимый VST управляется полностью с двух контроллеров. Я засел крутить себе неземные патчи, при этом не забывая их записывать в отдельную папку с пресетами. Придёт время, может куда то и выложу сей труд.

https://youtu.be/g336wUsinUM

КОД:

#include <Control_Surface.h>

#include "MIDIUSB.h"

USBMIDI_Interface midi;

using namespace MIDI_Notes;

CD74HC4067 muxPots = { A0, {2, 3, 4, 5},};

CD74HC4067 muxPots1 = { 6, {2, 3, 4, 5},};

CCPotentiometer potentiometer[] = {

{A1,{25, CHANNEL_7}},

{muxPots.pin(0),{26, CHANNEL_7}},

{muxPots.pin(1),{27, CHANNEL_7}},

{muxPots.pin(2),{28, CHANNEL_7}},

{muxPots.pin(3),{29, CHANNEL_7}},

{muxPots.pin(4),{30, CHANNEL_7}},

{muxPots.pin(5),{31, CHANNEL_7}},

{muxPots.pin(6),{32, CHANNEL_7}},

{muxPots.pin(7),{33, CHANNEL_7}},

{muxPots.pin(8),{34, CHANNEL_7}},

{muxPots.pin(9),{35, CHANNEL_7}},

{muxPots.pin(10),{36, CHANNEL_7}},

{muxPots.pin(11),{37, CHANNEL_7}},

{muxPots.pin(12),{38, CHANNEL_7}},

{muxPots.pin(13),{39, CHANNEL_7}},

{muxPots.pin(14),{40, CHANNEL_7}},

{muxPots.pin(15),{41, CHANNEL_7}},

};

NoteButton buttons[] = {

{muxPots1.pin(0),{note(C, 4), CHANNEL_1}},

{muxPots1.pin(1),{note(Db, 4), CHANNEL_1}},

{muxPots1.pin(2),{note(D, 4), CHANNEL_1}},

{muxPots1.pin(3),{note(Eb, 4), CHANNEL_1}},

{muxPots1.pin(4),{note(E, 4), CHANNEL_1}},

{muxPots1.pin(5),{note(F, 4), CHANNEL_1}},

{muxPots1.pin(6),{note(Gb, 4), CHANNEL_1}},

{muxPots1.pin(7),{note(G, 4), CHANNEL_1}},

{muxPots1.pin(8),{note(Ab, 4), CHANNEL_1}},

{muxPots1.pin(9),{note(A, 4), CHANNEL_1}},

{muxPots1.pin(10),{note(Bb, 4), CHANNEL_1}},

{muxPots1.pin(11),{note(B, 4), CHANNEL_1}},

{muxPots1.pin(12),{note(C, 5), CHANNEL_1}},

{muxPots1.pin(13),{note(Db, 5), CHANNEL_1}},

{muxPots1.pin(14),{note(D, 5), CHANNEL_1}},

{muxPots1.pin(15),{note(Eb, 4), CHANNEL_1}},

};

void setup() {

Control_Surface.begin(); // Initialize Control Surface

muxPots.begin();

muxPots1.begin();

}

void loop() {

Control_Surface.loop(); // Update the Control Surface

}

Показать полностью 5 1
68

The Legend VST Synth Special Controller

У музыкантов диайвайщиков, появилось новое направление реализации своего таланта в устройствостроении, а именно: делать миди контроллеры под определённый виртуальный инструмент. Мой друг довольно успешно реализовал контроллер для Артуриевского Минимуга или просто Mini V. Знакомый испанец с канала Nerd Musician, также делал контроллер под MiniV . Но всё это делалось из фанеры и выглядит довольно громоздко.

Для себя, я находил в интернете магазин, где один интузиаст делал контроллеры под разные виртуальные инструменты.

Итак, Максим, заразил меня этой интересной идеей. Ну что-же? Будем делать свой МУГ!

Из многочисленных реализаций Муга в виде вст, мне лично, очень понравился виртуальный синтезатор : The Legend от Synapse Audio. Скажу даже больше: я влюбился в него. Для заядлого берлинщика, он буквально идеален, правда секвенсора в нём нет!

Взяв за основу оригинальный дизайн веэстешки, я перерисовал его под свои размеры в "иллюстраторе". Распечатал на лазернике и заламинировал.

Ещё со старой работы, у меня есть корпуса Gainta G 756, но они очень высокие. Поэтому я его располовинил, дно вырезал из старого оргстекла.

За основу проекта, конечно же берём Ардуино Леонардо и четыре штуки мультиплексора CD4067. Пользуемся библиотекой Control Surface, которая позволяет запрограммировать это всё очень быстро и просто. По началу я даже думал и не выкладывать код, но всё таки в конце - вы его найдёте. )))

Хитрость, разве что в подключении светодиодов, которые я расположил на корпусе. На самом деле ничего хитрого - паралельно контактам сигнал и минус на переключателе, последовательно, через килоомное сопротивлению (чтоб не сжечь). Да, кстати переключатели - подключены аналогично, обычным потенциометрам, и в коде ничем от потенциометров не отличаются: то есть плюс и минус на крайние ножки и с центральной - сигнал.

Заказал детальки на Алике и в конце концов собрал сие чудо! Деталек, я должен сказать, много: 38 потенциометров с колпачками ручек, 12 свитчей (на 2 положения), 9 светодиодов с держателями, леонардо, 4 мультиплексора.

Можно было заморочиться и сделать вместо некоторых потенциометров переключатели ( как на советских телевизорах), по аналогии с оригиналом. Но нога у этого переключателя - огромная, а тут и так 59 элементов на площади меньше чем лист формата А4.

Замапил все элементы управления как глобальные, что бы в любом проекте, контроллер вёл себя адекватно. Кстати можно замапить и на ту же Артурию Мини.

У оригинального, виртуального The Legend, есть ещё и "задняя" панель на которой расположены ручки управления эффектами и ещё какой то ерундой, которая ни на что не влияет. Хочу сделать, в будущем, контроллер и для задней панели. Ручек там, конечно, немного, но есть идея сделать внизу обычные нотные клавиши, реализовав это на кнопках.

Ну вот такой вот. замечательный зверь у меня получился...

Терпение и упорство, реализуют любую идею, чего и Вам желаю.

Код:

#include <Control_Surface.h>

USBMIDI_Interface midi;

CD74HC4067 muxPots = { A0, {2, 3, 4, 5},};

CD74HC4067 muxPots1 = { A1, {2, 3, 4, 5},};

CD74HC4067 muxPots2 = { A2, {2, 3, 4, 5},};

CD74HC4067 muxPots3 = { A3, {2, 3, 4, 5},};

CCPotentiometer potentiometer[] = {

{muxPots.pin(0),{10, CHANNEL_6}},

{muxPots.pin(1),{11, CHANNEL_6}},

{muxPots.pin(2),{12, CHANNEL_6}},

{muxPots.pin(3),{13, CHANNEL_6}},

{muxPots.pin(4),{14, CHANNEL_6}},

{muxPots.pin(5),{15, CHANNEL_6}},

{muxPots.pin(6),{16, CHANNEL_6}},

{muxPots.pin(7),{17, CHANNEL_6}},

{muxPots.pin(8),{18, CHANNEL_6}},

{muxPots.pin(9),{19, CHANNEL_6}},

{muxPots.pin(10),{20, CHANNEL_6}},

{muxPots.pin(11),{21, CHANNEL_6}},

{muxPots.pin(12),{22, CHANNEL_6}},

{muxPots.pin(13),{23, CHANNEL_6}},

{muxPots.pin(14),{24, CHANNEL_6}},

{muxPots.pin(15),{25, CHANNEL_6}},

{muxPots1.pin(0),{26, CHANNEL_6}},

{muxPots1.pin(1),{27, CHANNEL_6}},

{muxPots1.pin(2),{28, CHANNEL_6}},

{muxPots1.pin(3),{29, CHANNEL_6}},

{muxPots1.pin(4),{30, CHANNEL_6}},

{muxPots1.pin(5),{31, CHANNEL_6}},

{muxPots1.pin(6),{32, CHANNEL_6}},

{muxPots1.pin(7),{33, CHANNEL_6}},

{muxPots1.pin(8),{34, CHANNEL_6}},

{muxPots1.pin(9),{35, CHANNEL_6}},

{muxPots1.pin(10),{36, CHANNEL_6}},

{muxPots1.pin(11),{37, CHANNEL_6}},

{muxPots1.pin(12),{38, CHANNEL_6}},

{muxPots1.pin(13),{39, CHANNEL_6}},

{muxPots1.pin(14),{40, CHANNEL_6}},

{muxPots1.pin(15),{41, CHANNEL_6}},

{muxPots2.pin(0),{42, CHANNEL_6}},

{muxPots2.pin(1),{43, CHANNEL_6}},

{muxPots2.pin(2),{44, CHANNEL_6}},

{muxPots2.pin(3),{45, CHANNEL_6}},

{muxPots2.pin(4),{46, CHANNEL_6}},

{muxPots2.pin(5),{47, CHANNEL_6}},

{muxPots2.pin(6),{48, CHANNEL_6}},

{muxPots2.pin(7),{49, CHANNEL_6}},

{muxPots2.pin(8),{50, CHANNEL_6}},

{muxPots2.pin(9),{51, CHANNEL_6}},

{muxPots2.pin(10),{52, CHANNEL_6}},

{muxPots2.pin(11),{53, CHANNEL_6}},

{muxPots2.pin(12),{54, CHANNEL_6}},

{muxPots2.pin(13),{55, CHANNEL_6}},

{muxPots2.pin(14),{56, CHANNEL_6}},

{muxPots2.pin(15),{57, CHANNEL_6}},

{muxPots3.pin(0),{58, CHANNEL_6}},

{muxPots3.pin(1),{59, CHANNEL_6}},

{muxPots3.pin(2),{60, CHANNEL_6}},

{muxPots3.pin(3),{61, CHANNEL_6}},

{muxPots3.pin(4),{62, CHANNEL_6}},

{muxPots3.pin(5),{63, CHANNEL_6}},

{muxPots3.pin(6),{74, CHANNEL_6}},

{muxPots3.pin(7),{65, CHANNEL_6}},

{muxPots3.pin(8),{75, CHANNEL_6}},

{muxPots3.pin(9),{67, CHANNEL_6}},

{muxPots3.pin(10),{68, CHANNEL_6}},

{muxPots3.pin(11),{69, CHANNEL_6}},

{muxPots3.pin(12),{70, CHANNEL_6}},

{muxPots3.pin(13),{71, CHANNEL_6}},

{muxPots3.pin(14),{72, CHANNEL_6}},

{muxPots3.pin(15),{73, CHANNEL_6}},

};

void setup() {

muxPots.begin();

muxPots1.begin();

muxPots2.begin();

muxPots3.begin();

Control_Surface.begin(); // Initialize Control Surface

}

void loop() {

Control_Surface.loop(); // Update the Control Surface

}

#arduino #controller #MIDI #moog #The_Legend #musicmaker #diy

Показать полностью 7 1
12

Геннадий или Гитарист?

Мой сын учится в пятом классе. 20ый год славится постоянными карантинами и каникулами, поэтому дети постоянно сидят на удалённом обучении. Каждый день сваливается непомерная "куча" заданий для домашнего "прохождения".

Октябрь месяц, школу отправили на досрочные каникулы и решили, что все пятиклашки, без исключения, должны пройти олимпиаду по каждому предмету.

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

Олимпиада по математике за 5ый класс, проходим в онлайн режиме на время.

Откровенно говоря, от задач, волосы встали дыбом и голова вскипела!

К помощи, призываются все: друзья, коллеги, знакомые и прочие, прочие "связи".

Вот одна из задачек, помочь в решении которой, просили, буквально всех:

Геннадий или Гитарист?

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

К концу рабочего дня , целый НИИ ( в котором работает моя супруга) разошёлся по домам "беременный" вопросом: так всё таки кто - Геннадий или Гитарист?

Попытки решения принимались разные. Один мой друг: написал программу для вычисления верного ответа, она вычисляла 20 минут. Инженера из отдела проектирования , рисовали графики и расчёты в Экселях и Маткадах...

Мир поделился на до и после! Все знакомые Геннадии чувствовали себя виноватыми, просто за то что они Геннадии и вынуждены соревноваться с гитаристами, а гитаристы в свою очередь просто скрывали факт того, что они гитаристы ))))

Кто то перебирал просто все возможные варианты и нашлись даже те кто начинал делать ставки (на Гитариста - процент был выше).

Хмурый октябрь полностью вступил в свои права и впереди выходные без всякой "надёги" на солнышко.Грусть - печаль ещё больше умножается от состояния неопределенности:

- Так всё- таки кто : Геннадий или Гитарист?

Показать полностью 1
25

Кассетная культура 90х

Была у меня одна касета.  Очень хорошая касета: Sound Breeze CR-90. Отличило её от многих в моём кладезе - это то что она была типа 2 с покрытием "Хром". Досталась она мне по наследству от родителей и точно помню, что изначально на ней был записан легендарный "Не плачь" от Т. Булановой и прочее....

Но я был парнем продвинутым и решил для себя , что на кассете... на столь хорошей кассете... должно быть  что то особенное, передовое и в культурном плане ключевое...

Ну что, тогда в 90е, было особенно слушабельным? Это конечно же многочисленный евроденс во главе с "ТУАНЛИМИТЕД" и"Мастербоем".... Но нет должно быть там что то особенное и отличительное... ( хотя это было только начало 90х и евроденса в таком множестве и не было!)

Как- то пришёл я в студию звукозаписи со своим серебристым сокровищем и долго выбирал из списка новинок (признаюсь честно, я мог стоять там часами!).

И приглянулся мне альбом дуэта Dance 2 Trance с названием Moon Spirits. Уже гремел их хит о силе американских аборигенов (так гугл перевёл Power of American Natives).

Записывали, на сколько я помню, три дня, по истечении которых, я получил своё сокровище и на массивном кассетнике Нерль принялся за прослушивание.

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

Первое, что мне было не понятно, почему хит об аборигенах ( выше говорил про него) засунут в самый конец? Как оказалось, это такая фишка музыкантов была, в следующем проекте Jam & Spoon они делали ровно также...

Ну а дальше история обрастает небылицами.

Например, мой друг заявил, что альбом называется вовсе не так, точнее не совсем так, а именно: Moon Spirits blow up, то есть "лунные духи воспаряют" или что то типа того.... Он это видел на сиди. Точнее, он видел стопку с компакт дисками, где лежал и этот комапакт и на корешке было написано: Dance 2 Trance - Moon Spirits - Blow Up, где Blow Up - это было наименование лейбла - издателя.

Я же, переслушивая касету понял, что все эти замечательные композиции и треки, обязательно должны как то именоваться и названия должны быть написаны на носителе. Так я взял лист из тетради в клеточку, с любовью сделал вкладыш.

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

Я уже не помню, что я там напридумывал в целом, помню что фраза в треке: Hello San Francisco, мне слышалась как: Are you make this is show? (ЧТА???!!!!!).

Немного позже, у моего друга появился и этот компакт.

В 93ем году, у дуэта выходит синглом трек : Take a free fall. Клип на данную композицию, любезно показало местное ТВ. Песня запала в наши юношеские сердца и найти её оказалось очень трудно, так как синглы, как формат, в молодой России образца 93 года можно было найти только в очень пафосной студии звукозаписи и продавались они в втридорога. А на самом деле, оказалось ещё более обиднее - этот трек в клубной версии был на оригинальном компакте, но на кассету ( длительностью 45 минут) она просто не влезла....

К чему я это всё?

Я держу в руках эту кассету, слушаю в Спотифай этот древний альбом, воспоминания об этой части моей жизни накатывают и понимаю одно: что всё эти эмоции и чувства надо записать, иначе пропадёт....

Закончу рассказ названием трека с этого исторического альбома : We came in peace  ( Мы пришли с миром).

Всем добра-бобра и спасибо , за то что дочитали до конца...

Показать полностью 2 1
155

Поля, что пахнут клубникой...

Мой дед умер, когда мне было всего два с половиной года. Цирроз печени. Как ни странно - это профессиональное заболевание. Дед был строителем и не пил вовсе, то есть - совсем!

Меня назвали в его честь, и по рассказам мамы, дед во мне души не чаял. Укладывал спать, часто носил на плечах. Ведь я был его любимым внуком.

Дед умер слишком рано и я совсем его не помню, как не помню и той любви, которой он меня окружал...

А на днях я ездил навестить его могилу и заменить памятник - в его родную деревню, куда меня возили ещё карапузом...

Я поднялся на холм, где моему взору открылись огромные, разноцветные поля. И ощущения полного умиротворения и спокойствия нахлынули на меня. Подул лёгкий ветерок, принёс запах клубники. Да-да, именно - клубники! Ведь она в огромном множестве растёт на этих холмах. Этот аромат оказался таким знакомым: он был оттуда - из детства...

И что-то такое - маленькое и до боли знакомое, тёплое, в районе груди - сжалось и затрепетало.

И я почему-то подумал: эх, если бы дед был сейчас жив? У нас, обязательно, было бы что-то своё - общее...

Как жаль, что тебя нет...

Возникает справедливое замечание, что это всё таки земляника в полях, а не клубниках. Скорее, это верное замечание, но сами местные называют её - клубникой, или даже немного не так - кОлубникой и горячо спорят о том , что это не какая не земляника. Пусть будет так!

Показать полностью 6
Отличная работа, все прочитано!