Самодельный MIDI Controller (1 онлайн

alexgavel

Member
20 Мар 2019
79
28
18
42
саунддайвер что-то не запустился у меня, люди говорят ему аж WIN98 нужно, чтобы без глюков работал
 

General Dead

Well-Known Member
26 Фев 2006
7.225
3.788
113
45
Kharkiv UA
саунддайвер что-то не запустился у меня, люди говорят ему аж WIN98 нужно, чтобы без глюков работал
он никогда и нигде не работал без глюков))). У меня вот и на вин10 работает, не без глюков конечно, но и не часто они случаются.
 

mrf

Well-Known Member
19 Сен 2013
375
366
63
Екатеринбург
купить ченить поинтереснее). Вопрос только в деньгах.
для меня интересен точный алгоритмический сиви генератор с сишным управлением, не видел в продаже. вообще нет, вопрос в творческом поиске, деньги здесь лишние)
ДХ11 свободно рулится с морды и редактор не надо.
alexgavel сказал(а): ↑
софтовый редактор DX7 мне категорически не нравится из-за вложенных менюшек
так поищите другой, их же полно разных.
в теме про самодельный контроллер мы обсуждаем любые способы, лишь бы не самоделить)
ctrlr еще стоит упомянуть. современный, бесплатный, открытый. позволяет очень многое, если посидеть и поразбираться. а самое приятное, что прекрасно работает на дешманских 7" виндоусовских тач планшетах, превращая их в универсальный программируемый миди контроллер - лайбрэриан с юсб хостом.
 
  • Like
Реакции: vve33 и dugdum®

mrf

Well-Known Member
19 Сен 2013
375
366
63
Екатеринбург
@General Dead, эта штука на базе аксолоти платы, там каждый блок можно редактировать. можно писать обработку с циклами и ветвлениями (пурдаты, максы и реакторы не умеют циклы) и нормальный выбор типов данных, требуемой точности, возможность оптимизации.
алгоритмический всмысле мне не нужно задавать значение на каждый шаг, а можно задать формулу зависимости следующего от предыдущего или от позиции или от чего угодно. хотя и классический тоже можно, кароче просто бесконечные возможности. такая крайняя степень модулярности это когда ты патчишь транзисторы дорожками печатной платы, либо вот в моем случае - строками с низкоуровневым кодом.
 
  • Like
Реакции: vve33 и General Dead

alexgavel

Member
20 Мар 2019
79
28
18
42
я что-то типа этого слышал у одного немецкого электронщика
он применял какие-то свои хаотичные алгоритмы не только для синтеза звука
но и для создания нот, шумов одновременно, звучало очень странно, но интересно
и правда сразу слышно было что это делала машина а не человек.
 
У

Удалённый пользователь 75985

Guest
такой нужно именно самому делать, а не покупать YAMAHA BC-3
Так и сделаю. Благо, не все ещё сенсоры спалил неверным подключением)
Как всегда, вопрос в красивой реализации. Корпус там, шланг гнущийся на шею и т.д. Плюс можно добавить акселлерометр копеечный и настроить парочку осей на дополнительные CC.
[DOUBLEPOST=1561053054][/DOUBLEPOST]
саунддайвер что-то не запустился у меня, люди говорят ему аж WIN98 нужно, чтобы без глюков работал
http://ctrlr.org/tag/yamaha-dx7/
 

dim3740

Active Member
28 Фев 2013
430
72
28
Уфа
Здравствуйте. Теоретический вопрос: делаю контроллер, который может раздавать МИДИ клок (F8). Мы знаем, что частота следования этих сигналов в 24 раза выше четверти темпа. Имеем приемное устройство которое должно выделять сильные доли или другим примером можно считать приемник секвенсер, который должен отслеживать время начала синхроимпульсов от команды Старт (FA). Пока все это реализуемо- приемники считают синхроимпульсы все, до единого.

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

Aleksandr Oleynik

Well-Known Member
16 Янв 2007
26.360
20.063
113
62
Киев
@dim3740, так любой внешний клок, и миди клок не исключение, это всего лишь синхронизация, а не КЛОК. Клок всегла локальный. Если миди клок в сиквенсор будет приходить с «прерыванием» ничего страшного непроизойдёт, просто синхронизация будет не прям каждый тик.
 

dim3740

Active Member
28 Фев 2013
430
72
28
Уфа
@Aleksandr Oleynik, возьмем такой случай: приемное устройство "захватило" синхронизацию и даже если она на время "пропала", то "продолжает считать" текущей. Это если реально, скажем, гитарист интенсивно играет фрагмент на квакушке и напрочь "забивает" синхру. Но.... это редкий случай...В реалии клок будет просачиваться и приведет к "артефакту" (взял это слово кстати от Ваших постов:)). Можно отслеживать наличие синхры по таймауту, но и опять таки это не поможет. Т.е. имхо применимость синхронизации совместно с другими МИДИ сообщениями (кроме редких смен пресетов к примеру) я ставлю под сомнение.
 
  • Like
Реакции: Long

General Dead

Well-Known Member
26 Фев 2006
7.225
3.788
113
45
Kharkiv UA
Но, теперь в нашем контроллере еще имеем, скажем, педаль экспрессии, которая раздает команды, пусть СС. При интенсивном движении педали поток команд от педали значителен, и сигналы синхронизации становятся "несинхронными"..... Как решается подобная задачка?
обычно прореживанием команд от непрерывного контроллера (СС). Ну если вот так на пальцах, то я например опрашивал через временной интервал несколько раз с помощью ацп сигнал с переменника (крутилка или педаль экспрессии не важно), и потом проверял если все значения одинаковые то принимаем этот сигнал (для подавление шумов и дребезга), затем сравниваем его с предыдущим принятым и если он точно такой же, то ничего не делаем, если он изменился то записываем новое значение в память и отсылаем его по миди. Это предотвратит забивание миди канала большим количеством посылок СС от переменника (он может шуметь и т.д, что будет давать кучу миди посылок). Еще уменьшая частоту опроса можно уменьшить траффик. Т.е опрашиваем к примеру 50 раз в секунду, а не 100-200 (цифры условные).
 

General Dead

Well-Known Member
26 Фев 2006
7.225
3.788
113
45
Kharkiv UA
Т.е. имхо применимость синхронизации совместно с другими МИДИ сообщениями (кроме редких смен пресетов к примеру) я ставлю под сомнение.
ну вот к примеру на синт приходят ноты, миди клок и автоматизация фильтра по СС, все работает норм и ровно (клок для арпа, эффектов, лфо).
 

Gregory

Active Member
17 Май 2005
494
55
28
56
Санкт-Ленинград
www.dubrovenko.ru
сигналы синхронизации становятся "несинхронными"
Вадим, мы же вроде это как-то обсуждали?
Согласно протокола МИДИ команды группы Реал Тайм имеют приоритет над всеми остальными и должны вставляться в поток строго в нужное время.
P.S.: Ксати, делал вот такую приблуду для борьбы с миди-шумом.
 

mrf

Well-Known Member
19 Сен 2013
375
366
63
Екатеринбург
скажем, гитарист интенсивно играет фрагмент на квакушке и напрочь "забивает" синхру.
трудно представить, как на практике забить миди одной квакушкой. в любом случае, никто не мешает ограничивать сс. или самый простой вариант это клок писать в начало буфера, а не в конец.
на приемнике же можно делать усреднение. как периода, так и фазы.

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

Т.е. имхо применимость синхронизации совместно с другими МИДИ сообщениями (кроме редких смен пресетов к примеру) я ставлю под сомнение.
вы серьезно считаете, что 30 лет синтостроения это не показатель?
 

General Dead

Well-Known Member
26 Фев 2006
7.225
3.788
113
45
Kharkiv UA
трудно представить, как на практике забить миди одной квакушкой.
легко, настраиваем ацп на 1000 преобразований и каждое выпуливаем в уарт без всяких стеснений). Ну или не тыщу но дофига).
 

mrf

Well-Known Member
19 Сен 2013
375
366
63
Екатеринбург
Вероятно имелось ввиду всё-таки Клок?
Ибо Тик - это малость другая команда. :)
клок я воспринимаю как "тактирование". клок формируется передачей импульсов, или тиков, если более абстрактно.
а комманды 0xF9 официально даже не существует https://www.midi.org/specifications-old/item/table-1-summary-of-midi-message
 

dim3740

Active Member
28 Фев 2013
430
72
28
Уфа
Новый вопрос. Как хороший тон, всегда ставил между Арудино и гнездом MIDI OUT буферный транзисторный каскад. Но, задумался... а надо ли? Понятно, что если что "не так снаружи", то буфер предотвратит выход более дорогого элемента. Но, гемора больше, и себестоимость выше.

Итак разрезы ответа:
а) при работе на короткую линию в пределах педалборда
б) на длинную (3-10 метров)
в) есть ли средства иной защиты (грубо говорят "аналог" диода по входу)
г) как делают в брендах?

Если надо буфер, то ткните, плз, в схемотехнику. Спасибо.
 

Long

Well-Known Member
27 Фев 2008
16.484
14.130
113
Moscow
WWW.LONG.RU
-- MIDI OUT - это схема с открытым коллектором (один копеечный транзистор).
Плохо представляю, как её вообще можно спалить...
 

dim3740

Active Member
28 Фев 2013
430
72
28
Уфа
Я говорю о применении arduino и там midi out это TX через 200 резистор.
 

Rst7

Well-Known Member
10 Янв 2010
2.167
2.156
113
50
Kharkiv-city
Я говорю о применении arduino и там midi out это TX через 200 резистор.
Вообще эти Атмелы по очень толстым технологиям сделаны и трудноубиваемые. Но "и на старуху бывает проруха", потому просто поставьте после этих 200 ом на землю супрессор P6KE6.8A (анодом в землю, катодом - к линии MIDI OUT). Можно и просто стабилитрон типа bzx84c5v6, он, конечно, менее крепкий, чем супрессор, но как показывает практика, вполне микросекундные импульсные помехи (а там тестовый импульс 50мкс 1000В через 25 ом, т.е. 40А) вполне держит на испытаниях на ЭМС.

Ну или уже по настоящему, вот так делать:
218945

Хотя, справедливости ради, с контактов разъема MIDI OUT (нижний на этом куске схемы) с контактов 4 и 5 тоже бы желательно по стабилитрону/супрессору в землю поставить.
 

dim3740

Active Member
28 Фев 2013
430
72
28
Уфа
@Rst7, спасибо. Посмотрел даташит на D25 -буфер на 3 состояния с выходным макс током 8 ма. Мне нравится это вариант, но надо поискать аналоги.... Видимо, ключевой фактор, чтоб не просто открытый коллектор... думаю, что он сделан на мосфетах, и просто 155, КМОП и прочее не пойдет. Так?

И попутно: есть ли критика, если выход МИДИ без активного сплиттера просто распараллелить на несколько приемников (считаем что там оптроны, хотя это не всегда выполняется)?
 
Последнее редактирование:

Rst7

Well-Known Member
10 Янв 2010
2.167
2.156
113
50
Kharkiv-city
с выходным макс током 8 ма.
Не совсем так. Это HC(T)-серия, токи КЗ по выходу миллиампер 40. При 8мА у него всего милливольт на 300 просаживается уровень лог.1, а для нижнего плеча ситуация еще лучше.

но надо поискать аналоги....
Зачем? Он копеечный и широко распространен.
 

Rst7

Well-Known Member
10 Янв 2010
2.167
2.156
113
50
Kharkiv-city
И попутно: есть ли критика, если выход МИДИ без активного сплиттера просто распараллелить на несколько приемников (считаем что там оптроны, хотя это не всегда выполняется)?
Конечно есть. В каждый оптрон должно пойти несколько мА тока, а резистор токоограничительный - он один, в передатчике.
 
  • Like
Реакции: dim3740

Rst7

Well-Known Member
10 Янв 2010
2.167
2.156
113
50
Kharkiv-city
Как-раз вроде наоборот, или я ход Вашей мысли не уловил?
Потому что в линию MIDI надо давать сигнал от 5В. Следовательно, буфер питается от 5В. Если питание процессора 3.3В, то порог буфера должен быть примерно 1.6В, что соответствует TTL-порогу, а значит - нужен именно HCT. А вот если процессор тоже пятивольтовый, то нужен порог у буфера в районе 2.5В, что соответствует HC.

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

И зачем буфер с z-состоянием?
Почему бы не использовать просто с OD?
Потому что среди одиночных элементов в корпусе SOT23 нет OD. В принципе, подойтет любой логический элемент без инверсии, просто конкретно этот буфер - ходовой и есть у всех торгашей.
 

Сейчас онлайн (Пользователей: 0, Гостей: 1)