Как стать автором
Обновить

Комментарии 92

Почти доделал похожий проект — транслирование MIDI сообщений в команды для компьютера. Команды реализуются в виде плагинов, так что можно будет хоть подсветкой экрана ноутбука управлять, хоть уровнем красного цвета в GIMPе.

Для работы с midi использую и рекомендую rtMIDI — работает на всех 3 операционных системах.
Для эмуляции нажатия клавиш несмотря на кучу примеров для каждой операционной системы, я не нашёл одной универсальной. В итоге, набросал свою. Если интересно, вот.

У вас есть планы развития проекта?
Конкретных планов пока нет. Подумываю о том, чтобы сделать программу кроссплатформенной, но сам я другие ОС использую редко, поэтому не очень заинтересован. Еще хочу улучшить раскладку и научиться быстро печатать, но на это нужно время.
можно было бы на .Net написать попробовать. Была бы клавиатура…
В моей программе всё кроссплатформенное, кроме эмуляции нажатий клавиш. Сделать ее кроссплатформенной, наверное, несложно.
Извиняюсь, знания в языках у меня нулевые.
Но я тоже играю, только на Akai mpk88. Работаю под windows через reaper и давно хочу повесить на свободные кноб и фейдер — баланс и регулятор громкости в винде, соответственно. Удобно, все под рукой, регулировка точная и плавная.
Понимаю, что Вы в винде не работаете, но все же: может быть есть более доступные пути в моем положении?
В качестве доказательства концепции, дальнейшую разработку вы должны вести с помощью данной клавиатуры!)
Это проблематично, потому что если в процессе разработки я поломаю программу, то я не смогу больше ничего сделать без обычной клавиатуры.
«Потому что можем!»

Если тут появится буханка-троллейбус.жпж

Так скоро можно будет какое-нибудь литературное произведение сыграть.
«Выбор букв для семи белых клавиш очевиден — это буквы от A до G, являющиеся общепринятыми обозначениями соответствующих нот.»
Я бы понял, если бы вы это в Америке писали. А в России (да и вообще в Европе) B — это не си, а си-бемоль. По крайней мере, в академической традиции. А H, соответственно — си. Монограмма Баха — си-бемоль-ля-до-си, B-A-C-H (она же — крест).

Далее, «традиционно», S — ми-бемоль. (потому что Es). Не верите? Музыкальная монограмма Шостаковича — ре-ми-бемоль-до-си, D-(e)S-C-H.
Благодарю за пояснение, я недавно только начал увлекаться фортепиано, слышал лишь про то, что B и H могут быть вместо друг друга в различных вариантах обозначений!
Сыграй Моцырта, может получится внятный код?=)
Только сначала нужно определить, какую раскладку он использовал.
Надо забиндить символы по пентатонике, тогда написание программы звучало бы более гармонично =) Ну а Моцарта уже просто транспонировать и просто транспонировать и вперёд.
Хорошая идея с пентатоникой, обязательно попробую.
Пентатоник много, разных.
И, IMHO, пентатоника это Blues & Rock.
А если кому-нибудь захочется, например Jazz, там же одни квинты, септы и т.п.
Или, ну вдруг, кто-нибудь является любителем популярной музыки.
Или имеет классическое музыкальное образование?
Может быть тогда нужно какую-то карту пресетов\раскладок.
Текстовый файл забиндить?
У меня в программе раскладка хранится в текстовом файле, его легко менять.
Как-раз пришел в комменты — пентатонику предложить. Первая мысль которая пришла при просмотре видео :)

Автору топика — запишите плз приемер с пентатоникой, очень интересно посмотреть что получится.
Или наоборот: отстучать исходники Linux и посмотреть, какая мелодия получится.
Отличный способ скрытно перетаскивать текстовую информацию ))) перегоняем в мелодию, мелодию в MP3, потом обратный процесс )))
Привет, программы на магнитной плёнке.
Предложенный способ уникально отличается тем, что нет необходимости производить подключение для передачи информации. Елси текст воспроизвести как звук, это звук можнго записать на диктофон )) О!!! Этож привет из прошлого от телефонных модемов!!!
Разве что простейшими сигналами наподобие морзянки, иначе помехи будут искажать информацию.
А для декодирования можно нанять человека с абсолютным слухом.
скажите мне, зачем?
Зачем вообще всё? Это философский вопрос.
почему нет?
спасибо за минусы. видимо, скоро выйдет статья «Включаем пылесос через блютуз».
А офигенная тема! Если дома робот-пылесос, то даже кнопку нажимать не надо. Телефон на столе взял, отправил конмаду и убирается! Спасибо за идею!)))
Шикарная идея.

Интересно, а на двух пылесосах можно сыграть какую-нибудь простенькую мелодию? звучит как вызов
Ну если контролировать по какому-нть беспроводному интерфейсу скорость вращения двигателя, то думаю вполне возможно. А еще лучше — сделать Web-интерфейс и дать возможность юзерам с хабра поиграть музику!
НЛО прилетело и опубликовало эту надпись здесь
Я надеюсь, данная статья написана на синтезаторе?
Микроволновка умерла, пишу с синтезатора?
Нет. Нужно много упражняться, чтобы печатать с нормальной скоростью. Впрочем, как и с незнакомой раскладкой на обычной клавиатуре.
о да, болгарская клавиатура наше все! :D
«Сыграй-ка мне хабрапост!»
может, если ускорить видео, то будет прикольнее? :)
НЛО прилетело и опубликовало эту надпись здесь
Супер, regards.

А можно сделать вот так?
en.wikipedia.org/wiki/Chorded_keyboard

И, можно, ли, например, подключить цветомузыку на крайнюю левую октаву, чтобы фонариками светить на концертах?
Да, можно назначить все сочетания на 12 (или меньше) клавиш одной октавы. Тогда получится что-то вроде аккордовой клавиатуры для одной руки.

А фонарики управляются с компьютера? Если так, то можно забиндить клавиши левой октавы на определенные хоткеи, а эти хоткеи забиндить на управление фонариками. Или добавить в программу возможность сразу запускать определенную команду при нажатии клавиши.
Фонарики управляются с пульта.
Есть такие пульты управления фонариками, очень похожи на звуковые пульты управления.
Т.к. я не в теме, то в первый раз увидев их даже спутал.
И, как, вот, например, есть ЗвукоОператор, так есть и СветоОператор.
Пульт, это по сути какая-то аналоговая штуковина.
Но, из того, что я видел, мне стало ясно что интерфейс (протокол обмена) у фонариков стандартный был.
Я со светомузыкой не встречался, поэтому не знаю.
Да я и сам случайным образом свидетелем был всего лишь.
Наблюдал за друзьями музыкантами, сколько у них аппаратуры всякой приходится таскать с собой на концерты.
Вот, подумалось, что это же ведь «непаханное поле», если можно к стандартному синтезатору, например, через arduino подключать фонарики.
Хотя, наверное, это всего лишь нелепые догадки.
хм. вообще-то пульт управления светом — центр управления сервомоторами прожекторов, а они уже светят куда надо и как надо/
и стоят недешево.
вот, например светопульт
мне товарищ инженер рассказывал недавно относительно
Через DMX они управляются. Вроде как несложно через ардуину сигналы слать. Да и например вот такое шоу проблемно без компа, так что как-то можно.
Есть устройство, которое по входным MIDI-сообщениям переключает реле. С его помощью можно фонариками светить на концертах.
Nice, спасибо!
подскажите хороший секвенсор для Linux
пробовал rosegarden не заработало, jackd+fluidsynth еще
Qtracktor.
Ещё Reaper в Wine нормально работает. Когда-нибудь будет и родная версия.
у меня не получилось завести Qtractor, сигналы с клавиатуры идут, но звука нет… но это был archlinux
единственное что заработало это renoise

а вы RT-патч на ядро ставите?
Чтобы звук был, нужно, чтобы в системе был MIDI-output, а его обычно нет.
НЛО прилетело и опубликовало эту надпись здесь
Мне кажется, что сопоставление нот и клавиш не оптимальное (по алфавиту).
Все равно что ABCDEF… на обычной клавиатуре — для обучения хорошо, но не для быстрой печати.
Нужно проводить эксперименты и вычислять лучший вариант — клавиши, которые используются чаще всего нужно играть указательными, средними и большими пальцами и они должны быть сгруппированы.
Да, вы правы.
Тут еще параллельная задача есть — сделать что бы при наборе в большинстве звук гармоничный и интересный был.
Можно использовать звонкость/глухость согласных (например длительностью нажатия или по силе удара) и вынести на «черные» гласные. Также так и просятся аккорды на частые слоги;)

Кстати в русской стенографии, как в официальной Гесс, так и самобытной Александровой, используется нотная запись ;)То есть гласная обозначается месторасположением следующей согласной.
Тут должно быть видео с отрывком к/ф «Близкие контакты третьей степени»
Иш ты, 30 каментов, а еще никто не вставил картинку с троллейбусом из буханки:)
это решает проблему хоткеев для вима и емакса!
Как старый добрый анекдот про компьютерщика и пианино?
«Странная у тебя раскладка на клаве — без обозначений! Но шифты ногами нажимать — зачётно!»
Мы так с CSharpRU играли в osu! в 4 руки. Он написал небольшую программку, которая эмулировала нажатие двух кнопок.
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Хорошая идея!
Но так как у большинства пользователей нет синтезатора, но есть клавиатура, то можно использовать ее. И вторая проблема: не стоит ставить в качестве пароля «лунную сонату» и другие известные произведения, так как их легко можно будет забрутфорсить :)
НЛО прилетело и опубликовало эту надпись здесь
Напоминает классический способ генерации запоминаемого и сложного ко взлому пароля — использование первых букв слов какой-то песни. Вроде IttwIwbLamwstsAhtuohlItlos
> периодически читаем данные
Эээ… Как-то костылясто. А нет никакого там метода, что спал бы до поступления символа?
Говоря русским языком, асинхронного метода)
Да-да, именно он)
Не нашел такого метода в portmidi.
Текст статьи не набирался с помощью синтезатора? Тогда это ещё сырой проект :).
Пришла в голову мысль:
А что если обобщить данную идею с синтезатором на другие инструменты (флейта, гитара)? При этом будет использоваться микрофон и нужно будет вычислять частоты.
А как-же SHIFT педалью?!!! Без этого — не айс!
Пробовал, не очень удобно. Клавишей лучше.
Paris, Musée des Arts et Métiers (Париж, Музей искусств и ремёсел)
Тренируйтесь и когда-нибудь вы сможете сразиться с Марком Миллером и померяться с ним скоростью программирования на музыкальных инструментах. Причем у вас преимущество — кнопок на порядок больше.
было бы прикольно, как мне кажется, взять какой-нибудь текст программы и транслировать его в обратную сторону, чтобы получить мелодию.
А потом наигрывать ее и вспоминать код :)
НЛО прилетело и опубликовало эту надпись здесь
А для PC есть BOME's MIDI translator.
Платный.
Поэтому, кстати, и делаю свой — чтобы была бесплатная альтернатива :)
Разработчик ещё и Send SX сделал платной — это никуда не годится!
Для персонального использования Bome’s Midi Translator Classic бесплатен.

Bome’s Midi Translator Classic is the smaller sister of Midi Translator Pro. It has the same powerful MIDI processing engine, but can only convert MIDI messages to other MIDI messages, or to keystrokes. Also, the rules and conditional MIDI translation are not available with the Classic Edition.

Midi Translator translates midi messages «on the fly». Sys-Ex messages are treated equally as «short» midi messages.
Several translation sets may be created for a quick change. The MIDI-TO-KEY feature allows to control arbitrary software by way of keyboard commands. For example, control Adobe Premiere with a USB/MIDI control surface.

The Classic Edition is only available for Windows and it will not evolve anymore. It is free for personal use (Postcardware).
Я уже давно использую Launchpad как быстрый запуск, используя самописную программку. К слову, я чего только для него не делал…
вы ещё спросите зачем вот это :-D Низачем. Just For Fun. Ну и ради изыскательского интереса.
Самая интересная штука — как трансформируется мышление если пользоваться подобной клавиатурой.
Если сейчас при наборе текста работает моторная память, то там подключится еще и аудиально-музыкальная.

Человек начнет мыслить мелодией :)
И как теперь правильно программировать на С#: в до диез мажоре или в до диез миноре? Какими аккордами вводить ключевые слова, какие имена давать переменным, чтобы эффективная и правильная программа хорошо звучала, а баги сразу резали слух?
Мне cout нравится как звучит.
А расово линуксовый нотный редактор — LilyPond :-)
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории