我有RSI问题,尝试了30种不同的电脑键盘,都让我很痛苦。弹钢琴不会给我带来痛苦。我已经弹钢琴20年了,没有任何疼痛问题。我想知道是否有一种方法可以从MIDI键盘捕获MIDI并输出键盘敲击。我对MIDI一无所知,但我想要一些关于如何将这个信号转换成按键的指导。
当前回答
考虑在硬件上模拟usb(或ps/2?)键盘。您将不再依赖于特定的操作系统或特定的操作系统API。硬件解决方案将经受住时间的考验。当其他人都在使用Windows 11时,不要在Windows 7中使用旧的API !Arduino很容易学。
Arduino MIDI硬件是现成的 Arduinos已被用于模拟键盘设备
有很多关于Arduino的信息和帮助。这是一个为新手打造的硬件黑客平台。现在谷歌正在推广Arduino,它只会变得更大。
编辑:虚拟USB键盘软件和硬件
其他回答
我在大学里学的是钢琴演奏,然后接触了交互设计、编程和使用Vim,所以我实际上花了很多时间来创建这样的原型。
在Linux中,通过使用为多媒体艺术家设计的图形化编程语言“Pure Data”以及Alex Andre设计的x11key外部代码,可以很快地实现这一点。
在Mac上,你可以使用MidiStroke。我相信Windows上的一个方法是使用MidiOx和AutoHotKey工具。还有一次,我有一个使用Java插件的Max/MSP版本。我相信Patrice Colet为Pure Data做了一个外部窗口,效果也很好,但我似乎再也找不到它了。此外,MaxMSP还有一个外部组件,可以在Windows上执行此操作。最后,这个非免费但很棒的Osculator可以做你想做的事情-请参阅功能页面。
当我让它工作时,我从来没有坚持过,因为我无法停止使用这种布局。不过,把显示器放在电子键盘上就很酷!祝你好运。
您可以在MIDI DotNet中使用。net中的源代码示例访问硬件。
创建MIDI notes数据流的完整工作示例是在VB 5/6-Tipp 0521中:MIDI-Töne erzeugen (Visual Basic 6.0,某处是.NET版本)
一种模拟键盘敲击的方法是在VB 5/6-Tipp 0155: Tastaturereignisse simulieren (Visual Basic 6.0,某处是.NET版本)
和识别击键在tip - upload: VB中有描述。NET 0266: Globaler KeyHook。
然后,为钢琴演奏者使用一个良好的工作矩阵
在钢琴上,如果你是一个优秀的演奏者,你可以有10个手指在键盘上,如果矩阵是可用的,我认为你可以比任何电脑键盘用户更快。: -)
在这种情况下,如果我没有理解错你的问题,这应该不是什么大事。
在我看来,你不是在寻求如何自己建立它的建议,而是更多地询问已经有什么资源可以实现你想要的。根据你的操作系统,有很多方法可以实现这一点,而不必从头开始编写自己的程序:
MIDI中风
免费的。适用于Mac OS X 10.3及以上版本。这一款特别提供了“使用任何MIDI键盘作为完整的电脑键盘替代品的能力”。
Bome的迷笛翻译
免费/明信片(有点奇怪)。对于Windows 2000及以上版本,以及Mac OS x,它最初似乎更倾向于autohotkey类型的使用,但进一步研究,我认为它可以很好地做你想做的事情。
Max和aka,键盘
免费的。对于Mac OS x来说,这并不是一个“现成的”解决方案,但如果你对基本的设备配置感到满意,它应该不会太糟糕。
这不会太难。
我假设你用的是Windows,不过我不确定。我已经用普通的c++编写了一个MIDI排序器http://pianocheetah.com,它允许您使用钢琴键盘来运行命令。没有任何理由你不能做同样的事情来按键 进入键盘输入流。
但是现在来吧。你记得你花了多长时间来学习 首先是键盘,对吧? 你愿意再经历一次吗? 你愿意让你的键盘被污染吗 上面全是一堆愚蠢的关键符号?
你至少要用26个字母,10个数字,11个标点符号, 以及至少12个功能键及其移位状态。 所以有60个键加上移位的状态。 那会消耗掉整整5个八度的音阶。 你会一直做钢琴“跳”。 向触摸打字说再见。
你可能避免了肢体劳损,但你已经制造了另一种劳损 对你自己来说是不同类型的噩梦。
祝你的老板能在上班时给你买一个迷笛键盘。
如果你真的学会了弹钢琴,你就学会了 如何释放压力。用QWERTY键盘。 没有紧张。开始缓慢。
实际上,我在这个工作了一段时间前,试图捕捉摇滚乐队鼓输入到我的计算机(做一个小Java自制鼓模拟器)无论如何,我问了一个问题在这里,时间延迟问题(有轮询代码在那里,以及我试图做的事情。)如果我能找到我的程序,我可以给你的代码,它使用第三方API (JInput)。
祝你好运。
推荐文章
- 电话:用于文本输入的数字键盘
- 出现键盘时,Flutter小部件将调整大小。如何预防这种情况?
- 当文本字段被选中时,滚动UITableView
- 你如何告诉如果大写锁定使用JavaScript?
- 我如何检测软件键盘在Android设备上是否可见?
- Android:当焦点在EditText上时自动显示软键盘
- 如何解散键盘的UITextView与返回键?
- 如何解除屏幕上的键盘?
- 在JS/jQuery中绑定方向键
- Android:我如何防止软键盘把我的视图往上推?
- 编辑文本聚焦时如何显示软键盘
- 运行javascript函数时,用户完成输入,而不是上键?
- 把钢琴键盘当作电脑键盘使用
- Xcode 6:键盘在模拟器中不显示