Самодельная MIDI система для баяна или гармони

Больше
6 года 10 мес. назад #43158 от Иван Подольский
Иван Подольский ответил в теме Самодельная MIDI система для баяна или гармони

Александр пишет: - порт нужно будет постоянно переключать из выхода на вход, а также подключать и отключать программный I2C. Это наверное занимает много времени. Возможны тормоза.


А можно же поробовать задействовать аппаратный I2c. Я думаю, там все очень быстро. У себя буду контрольную логику городить на отдельной ардуинке и цеплять ее по I2C, но сначала надо чтобы оно хотя бы заиграло :)

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
6 года 10 мес. назад #43162 от Дмитрий
а D0 , точно должен работать ? пытался L10 на него повесить но что то никак

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
6 года 10 мес. назад #43163 от Максимй

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

Вложенный файл:

Имя файла: Midi_Bayan...2-27.rar
Размер файла:10 KB


забыл.. измените скорость порта на 31250
а можно послать сообщение сдвинуть на октаву . сохранить эту настройку на второй канал.

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

Допустим, настроил двухголосую систему. Каждой клавише соответствует какая-то нота и, вторым голосом, нота на октаву выше. Что-то типа: {С3, С4}, {B4, B5} и т.д.
Если нажать клавишу, допустим, ДО третей октавы, будут звучать ноты С3 и С4. Не отпуская ее нажать ДО четвертой октавы. Будут звучать С3, С4, С5. Если отпустить только ДО четвертой октавы, прекратят звучание С4 и С5, останется звучать только С3. В итоге при любых пересечениях нот клавиш, попытке играть легато, некоторые ноты не звучат или замолкают раньше времени.

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

К своему стыду не могу до конца разобраться в работе скетча, не смотря на то, что сам программист. Многое понятно, но общей картины не складывается. На С++ писал только во время учебы. Сейчас пишу на С#, более высокоуровневые вещи, используя ООП.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
6 года 10 мес. назад #43164 от Дмитрий
Вы по каналам ноты точно правильно разделили ? я увеличивал задержку на клавишах попробуйте вернуть на место,
у меня дребезг был немного.
я вобще в большинстве не понимаю что делаю, всю ночь сижу изучаю программирование на ардуино , к утру какую нибудь хрень допишу, мне один добрый человек помогает поэтому врятле объясню что там.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
6 года 10 мес. назад #43165 от Максимй

Дмитрий пишет: Вы по каналам ноты точно правильно разделили ? я увеличивал задержку на клавишах попробуйте вернуть на место,
у меня дребезг был немного.
я вобще в большинстве не понимаю что делаю, всю ночь сижу изучаю программирование на ардуино , к утру какую нибудь хрень допишу, мне один добрый человек помогает поэтому врятле объясню что там.

У Вас такого эффекта нет, если в октаву легато поиграть?
По каналам вроде все правильно. В правой руке два канала 0 и 3.
В таблице для этих нот прописано 0x03, что значит нота может звучать на канале 0 и 3.
Поковыряю еще скетч, может что нарою.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
6 года 10 мес. назад #43166 от Иван Подольский
Иван Подольский ответил в теме Самодельная MIDI система для баяна или гармони

Дмитрий пишет: а D0 , точно должен работать ? пытался L10 на него повесить но что то никак


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

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Время создания страницы: 0.372 секунд
Работает на Kunena форум