MIDI-сообщения Real Time

Теория по электронике

Модератор: Модераторы

Axel
Пользователь
Сообщения: 53
Зарегистрирован: 06 мар 2016, 19:12
Местоположение: Екатеринбург

MIDI-сообщения Real Time

Сообщение Axel » 15 авг 2016, 23:27

Господа,скажите,а команда Continue обязательна?
Если объяснить проще-то пытались с приятелем на ардуинке сделать некий внешний МИДИ-пультик,чтоб на некоем расстоянии рулить Старт-Стопом "фанерной" части синта под названием Сонг.Где есть композиции.Выбрал на синте,отошёл,баян сгрёб,педальку нажал-пошла фанера.Вот незадача.Старт-Стоп вроде у приятеля получилось,да только после команд Старт-Стоп и снова Старт,композиция с начала с самого начинает "фонить",а вот чтоб командой Continue чтоб вот как с панели клавишника продолжить с остановленного места не получается.Виснет,родимый.И вот что интересно,на оную команду почему-то реагирует кнопка Темп.Включается.Хотя вроде байты согласно доке МИДИ .Явно где-то косяк...Скетч показать не могу.Приятель прошареный,скетч не даёт,шьём через удалённый доступ.Сам всё тыкает,я только на мониторе наблюдаю...Бяда прям...

Аватара пользователя
Dmitry Dubrovenko
Администратор
Сообщения: 2017
Зарегистрирован: 12 окт 2014, 20:20
Местоположение: Санкт-Ленинград
Контактная информация:

Re: MIDI-сообщения Real Time

Сообщение Dmitry Dubrovenko » 16 авг 2016, 14:58

Поток Реал-Таймовских команд обычно выглядит так:
С частотой 24 команды на четверть постоянно передаётся Клок, а в моменты Старт-Стопа-Продолжения вместо Клока вставляются соответствующие команды.
Что за девайс, которым управлять пытаетесь? Я тут, в соседней ветке, писАл уже об одном таком. Может и у вас такая ситуёвина?
Ну, а что Ардуина выдаёт надо посмотреть в горячо всеми любимом МИДИ-ОКСе. :-)
P.S.: А вообще такую задачу по силе решить на какой-нибудь Тиньке45.
P.P.S.: А приятель мог бы и сам спросить. :roll:
Подпись

Axel
Пользователь
Сообщения: 53
Зарегистрирован: 06 мар 2016, 19:12
Местоположение: Екатеринбург

Re: MIDI-сообщения Real Time

Сообщение Axel » 18 авг 2016, 00:17

Dmitry Dubrovenko писал(а):P.S.: А вообще такую задачу по силе решить на какой-нибудь Тиньке45.
P.P.S.: А приятель мог бы и сам спросить. :roll:

Приятель на пару со мной в тиньках не рубят,на дуньке проще выходит, и спрашивать приятель не станет,через чур гордый такой,считает себя матёрым программером,а на деле...А мне вот не стыдно помощи попросить.Потому как есть люди знающие на порядки больше.Как тут фотку прилепить?Прошу пардону.Рулить пытаемся обычным синтезатором.Сейчас в любом синте-самоиграйке есть функция записи своих композиций с последующим воспроизведением,обычно это Сонг.Вот и задача-выбрал композицию в синте,а включил её удалённо.

Аватара пользователя
Dmitry Dubrovenko
Администратор
Сообщения: 2017
Зарегистрирован: 12 окт 2014, 20:20
Местоположение: Санкт-Ленинград
Контактная информация:

Re: MIDI-сообщения Real Time

Сообщение Dmitry Dubrovenko » 18 авг 2016, 00:46

Axel писал(а):Как тут фотку прилепить?
Вот.

Axel писал(а):выбрал композицию в синте,а включил её удалённо
Для этого ещё синт надо правильно настроить.
Выше давал ссылку. Там тоже аппарат вроде МИДИ-имеет, но таких "приколов" я ещё не видел. :-D
Может и у вас из таких? :roll:
В общем, сперва надо разобраться, где косяк.
Для этого, попробуйте поуправлять синтом с какого-нибудь секвенсора. Например, Кейкволк на компе (желательно наличие аппаратного MPU-401, какие раньше были во всех звуковых картах, а не переходник с ЮСБ). Драм-машину, на крайняк.
С Ардуиной, как уже говорил выше, поможет разобраться киножурнал "Хочу Всё Знать" МИДИ-ОКС. :yes:
Подпись

Axel
Пользователь
Сообщения: 53
Зарегистрирован: 06 мар 2016, 19:12
Местоположение: Екатеринбург

Re: MIDI-сообщения Real Time

Сообщение Axel » 18 авг 2016, 21:06

Dmitry Dubrovenko писал(а):
Для этого ещё синт надо правильно настроить.
Может и у вас из таких? :roll:
Для этого, попробуйте поуправлять синтом с какого-нибудь секвенсора.

Синт настроен,но он вот из таких -
http://old.rolandmusic.ru/shop/keyboard ... /GW-8.html
Как я уже писал-старт-стоп с ардуины работает,не работает Cоntinue

Аватара пользователя
Dmitry Dubrovenko
Администратор
Сообщения: 2017
Зарегистрирован: 12 окт 2014, 20:20
Местоположение: Санкт-Ленинград
Контактная информация:

Re: MIDI-сообщения Real Time

Сообщение Dmitry Dubrovenko » 19 авг 2016, 10:04

Axel писал(а):не работает Cоntinue
А вы её часом не через ЮСБ подключаете?
Как уже выше писАл, попробуйте поуправлять с нормального секвенсора. Есть что-нибудь подходящее? А МИДИ-адаптер для компа?
Как версия (притянутая за уши, но чем чёрт не шутит): сначала надо передать Старт-Стоп, а уж только затем Продолжение.
Подпись

Axel
Пользователь
Сообщения: 53
Зарегистрирован: 06 мар 2016, 19:12
Местоположение: Екатеринбург

Re: MIDI-сообщения Real Time

Сообщение Axel » 19 авг 2016, 12:04

Dmitry Dubrovenko писал(а):А вы её часом не через ЮСБ подключаете?

Нет,подключаю через MPU-401 через GamePort на звуковухе C-Media ,подключал клавишник к MIDI-OX,ну не вижу я там в упор команду Continue...Куча других,вплоть до ActivSense передаётся,хотя синт такую функцию по идее не поддерживает,по крайней мере -не нашёл в нём...Кто бы добрый человек подключился бы к компу с нормальным,не китай чудом синтом да парочку скринов сделал...Просто пару раз нажать Старт-Стоп с панели.И посмотреть.У меня только 2 команды передаются,Continue не вижу вообще.Но в самом синте воспроизведение идёт с остановленного места.А в ОХе только 2 команды.Засада...

Аватара пользователя
Dmitry Dubrovenko
Администратор
Сообщения: 2017
Зарегистрирован: 12 окт 2014, 20:20
Местоположение: Санкт-Ленинград
Контактная информация:

Re: MIDI-сообщения Real Time

Сообщение Dmitry Dubrovenko » 19 авг 2016, 13:38

Axel писал(а):Но в самом синте воспроизведение идёт с остановленного места
Что-то я недопонял, Вы выход синта смотрите в Оксе, что ли?
Но, если я правильно понял, Вам как-раз наоборот надо смотреть вход (т.е., что Арлекина выдаёт).
А кто АктивСенс выдаёт? Тоже синт?
Для Continue обычно надо нажимать клавишу Стоп, когда секвенсор остановлен. Тогда воспроизведение начинается с текущего места. Если нажать кнопку Старт, то воспроизведение начнётся с начала.


Axel писал(а):У меня только 2 команды передаются,Continue не вижу вообще
Возможно у Вас, в Оксе фильтры включены.
Подпись

Axel
Пользователь
Сообщения: 53
Зарегистрирован: 06 мар 2016, 19:12
Местоположение: Екатеринбург

Re: MIDI-сообщения Real Time

Сообщение Axel » 19 авг 2016, 20:47

Dmitry Dubrovenko писал(а):Что-то я недопонял, Вы выход синта смотрите в Оксе, что ли?
Но, если я правильно понял, Вам как-раз наоборот надо смотреть вход (т.е., что Арлекина выдаёт).
А кто АктивСенс выдаёт? Тоже синт?

Давайте ещё раз, с самого начала.Подключив синт к Оксу и глянув какие там команды,набыдлокодили скетч к дуньке.АктивСенс,РеалТайм,Клок,и кучу всяких канальных в Оксе из синта я увидел.Среди них НЕТ команды Continue.Только Старт и Стоп.На клавишнике тоже НЕТ кнопки Continue.Только Старт и Стоп.Одной кнопкой.Но-этой одной кнопкой я в меню Сонг могу притормозить композицию и продолжить её НЕ с начала,а в Оксе команды Continue в этот момент не вижу.Для того чтоб композиция началась с нуля при нажатии кнопки Старт-Стоп,мне надо её вручную мотнуть другой кнопкой с символом типа Перемотка Влево.А при попытке впендюрить команду Cоntinue в дуньку синт реагирует на неё кнопкой Темп.Включится или погаснет... :-))

Аватара пользователя
Dmitry Dubrovenko
Администратор
Сообщения: 2017
Зарегистрирован: 12 окт 2014, 20:20
Местоположение: Санкт-Ленинград
Контактная информация:

Re: MIDI-сообщения Real Time

Сообщение Dmitry Dubrovenko » 19 авг 2016, 22:38

Axel писал(а):Давайте ещё раз, с самого начала.
Давайте. :yes:
Насколько понял, Ваша конечная цель: управлять секвенсором синта с Арлекины.
Т.е. подавать команды на разъём MIDI IN синта.
Какой смысл смотреть, что он выдаёт на MIDI OUT? :roll:
Вообще, у нормальных инструментов, в конце мануала, есть табличка под названием "MIDI Implementation Chart", в которой расписаны все входные и выходные команды. В вашем такая имеется?
Ну, а вообще, то, что китайские братья что-то напортачили, так очень даже может быть. :-)
Ну, и я всё-таки так и не понял, Вы Арлекину-то к Оксу подключали?
Подпись

Axel
Пользователь
Сообщения: 53
Зарегистрирован: 06 мар 2016, 19:12
Местоположение: Екатеринбург

Re: MIDI-сообщения Real Time

Сообщение Axel » 19 авг 2016, 23:12

Dmitry Dubrovenko писал(а):Насколько понял, Ваша конечная цель: управлять секвенсором синта с Арлекины.
Т.е. подавать команды на разъём MIDI IN синта.
Ну, и я всё-таки так и не понял, Вы Арлекину-то к Оксу подключали?

Да,всё верно,управлять синтом с ардуины.В моём синте мануал есть,посмотрю есть ли там чего.
Ардуину подключал к ОКСу,обязательно.Никак не соберусь скрин то выложить,не до того чуток...Но в ближайшее время.А выход МИДИ с синта рассматривал,чтоб понять,как то же он управляет чем то внешним.ДДля интереса помудрил с фрути лупсом и Орион платинум.В обоих фанера идёт с остановленного места,хотя...Там несколько по другому,наверно управление...Не как внешним железячным секвенсором.Хотя могу ошибаться... :yes:

Аватара пользователя
Dmitry Dubrovenko
Администратор
Сообщения: 2017
Зарегистрирован: 12 окт 2014, 20:20
Местоположение: Санкт-Ленинград
Контактная информация:

Re: MIDI-сообщения Real Time

Сообщение Dmitry Dubrovenko » 22 авг 2016, 22:05

Axel писал(а):посмотрю есть ли там чего
Так и что? :roll:
Подпись

Axel
Пользователь
Сообщения: 53
Зарегистрирован: 06 мар 2016, 19:12
Местоположение: Екатеринбург

Re: MIDI-сообщения Real Time

Сообщение Axel » 23 авг 2016, 09:54

Dmitry Dubrovenko писал(а):Так и что? :roll:

Талмуд запропастился куда-то...После ремонта как после атомной войны,не найти ничего...В интернете надо глянуть... ;-)

Аватара пользователя
Dmitry Dubrovenko
Администратор
Сообщения: 2017
Зарегистрирован: 12 окт 2014, 20:20
Местоположение: Санкт-Ленинград
Контактная информация:

Re: MIDI-сообщения Real Time

Сообщение Dmitry Dubrovenko » 23 авг 2016, 21:58

Axel писал(а):В интернете надо глянуть
Так сами же выше ссылку давали. :-)
Там даже на русском есть.
И в нём она называется "Таблица МИДИ-функций".
Написано, что команды реал-тайма, для передачи и приёма, можно разрешать и запрещать.
Подпись

dim3740
Пользователь
Сообщения: 192
Зарегистрирован: 02 янв 2016, 10:00
Местоположение: Уфа

Re: MIDI-сообщения Real Time

Сообщение dim3740 » 02 авг 2017, 16:48

А вот такой случай))) Допустим, имеется кнопка отключающая посыл RealTime по ее нажатию, скажем по переднему фронту\спаду (дребезг не рассматриваем). Тогда внешний девайс замрет на непредсказуемой доли. По нажатию кнопки (назовем ее Пуск), можно: 1) возобновить с точки останова б) послать сигнал продолжения, но с первой доли = старт FA. (Речь идет когда управляется секвенсер). Вопрос: в каком случае для музыканта может потребоваться первый режим? ИМХО, это типа "пауза" в секвенсерах. Тогда Стартом можно назвать или начало трека (если давать еще команду перемотки - есть же такая в МИДИ), или Старт - это может быть с первой доли текущего такта.

Аватара пользователя
Dmitry Dubrovenko
Администратор
Сообщения: 2017
Зарегистрирован: 12 окт 2014, 20:20
Местоположение: Санкт-Ленинград
Контактная информация:

Re: MIDI-сообщения Real Time

Сообщение Dmitry Dubrovenko » 02 авг 2017, 17:39

dim3740 писал(а):послать сигнал продолжения, но с первой доли = старт FA
С первой доли не получится.
Можно только с момента останова (команда Продолжить), либо с начала (команда Старт).

dim3740 писал(а):в каком случае для музыканта может потребоваться первый режим? ИМХО, это типа "пауза" в секвенсерах
Ну да.
Собственно не совсем понимаю, откуда возник вопрос?
Ответ же очевиден. :-)
Подпись

dim3740
Пользователь
Сообщения: 192
Зарегистрирован: 02 янв 2016, 10:00
Местоположение: Уфа

Re: MIDI-сообщения Real Time

Сообщение dim3740 » 02 авг 2017, 18:12

Музыканты на сцене. Живьем играют. В какой то момент времени надо вырубить драм машину, чтоб сыграть какую нибудь фразу и т.п. Вы можете представить себе необходимость, чтоб при нажатии некой кнопки музыка продолжилась бы с доли, следующей за остановленной? Я - не могу. Более того, я даже не могу в самых медленных темпах (40 бмп) представить как можно и нужно нажать кнопку, что, скажем именно на 3 доле вырубить. Теоретически - да, но на практике я бы писал ТЗ, что такт должен всегда доиграться до конца, и начаться по кнопке именно с сильной первой доли. Это - раз. Второе: Как это с первой доли не получится? Патерн = 4 долям, скажем одному такту. Тогда СТАРТ даст первую долю. Патерн - 2 разных такта. Тогда согласен СТАРТ запустит с начала именно первого такта. А ПРОДОЛЖИТЬ? Это какой код? И с какой доли он тогда Продолжит?

Я про "продолжить" вот зачем спросил: разве нельзя просто вырубать подачу МИДи клок, и потом вознобновлять? Это же и будет как бы продолжение....

Аватара пользователя
Dmitry Dubrovenko
Администратор
Сообщения: 2017
Зарегистрирован: 12 окт 2014, 20:20
Местоположение: Санкт-Ленинград
Контактная информация:

Re: MIDI-сообщения Real Time

Сообщение Dmitry Dubrovenko » 02 авг 2017, 19:48

dim3740 писал(а):Это же и будет как бы продолжение....
Это делается последовательными командами Стоп - Продолжение.
Клок же служит для тактирования задающего генератора секвенсора, и выключать его не рекомендуется даже после Стопа.

dim3740 писал(а):я бы писал ТЗ, что такт должен всегда доиграться до конца, и начаться по кнопке именно с сильной первой доли
Вы путаете белое с мягким. :-)
Есть протокол, где чётко прописаны команды и их действия.
Команда Стоп останавливает воспроизведение в том месте, где была получена.
Команда Продолжение начнёт воспроизведение с того места на котором установлен счётчик секвенсора.
Таким образом, сам музыкант должен правильно выбирать место в котором надо сделать паузу.
Если необходимы какие-то пропуски-паузы-подвижки, так надо заранее правильно составлять Сонг-секвенцию, или использовать всё богатство протокола МИДИ (например команду Сонг Позишен).
Если же у Вас тупо молотит один паттерн, тогда задача, конечно упрощается. Послав Старт, Вы запустите паттерн с начала, т.е. с первой доли.
Подпись


Вернуться в «Теория»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя

cron