我有RSI问题,尝试了30种不同的电脑键盘,都让我很痛苦。弹钢琴不会给我带来痛苦。我已经弹钢琴20年了,没有任何疼痛问题。我想知道是否有一种方法可以从MIDI键盘捕获MIDI并输出键盘敲击。我对MIDI一无所知,但我想要一些关于如何将这个信号转换成按键的指导。
当前回答
许多键盘都有一个串行端口(RS-232)连接器,向计算机发送MIDI信号。我使用一个名为“梁”的程序将串口通信转换为键盘敲击。
“梁”有一个“映射”功能,允许您将每个键一个接一个地映射到相应的击键。
这可能是你正在寻找的简单解决方案!
其他回答
我同意Brian O'Dell的回答——如果这是我的项目,我会用硬件来做。它的优点是与平台和硬件无关——你的盒子取代了对MIDI-USB接口和PC API的需求。
mbed是一个非常容易学习的快速原型平台,与Arduino IMHO相比具有多种优势(在线编译器,512 KB闪存,96 MHz, c++语言)。它有一个USB键盘接口和一个预先为您编写的USB Midi接口。
社区是非常友好和愿意帮助的,有很多现有的项目同时使用MIDI和USB隐藏仿真-搜索Youtube“mbed MIDI”或类似的。
你可以看看和弦键盘。它们的优点是在使用它们之前不需要为它们编写驱动程序,有些类似于钢琴键盘的布局。
在Java中,可以使用JMF (Java Media framework)来转换MIDI信号。 键盘设计的基本是易于使用,即用户界面;并把常用的字符/符号放在手边。
Java Sound Resources中的示例代码和API:示例:数字信号处理(DSP)有助于理解如何处理信号。
更多参考资料:
用控件处理音频 数字音频信号处理,第二版
考虑在硬件上模拟usb(或ps/2?)键盘。您将不再依赖于特定的操作系统或特定的操作系统API。硬件解决方案将经受住时间的考验。当其他人都在使用Windows 11时,不要在Windows 7中使用旧的API !Arduino很容易学。
Arduino MIDI硬件是现成的 Arduinos已被用于模拟键盘设备
有很多关于Arduino的信息和帮助。这是一个为新手打造的硬件黑客平台。现在谷歌正在推广Arduino,它只会变得更大。
编辑:虚拟USB键盘软件和硬件
您可以使用一个简单的AutoIt脚本来读取MIDI事件,请参阅MIDI输入。
您还需要MIDI UDF和模拟按键。
读取MIDI事件应该很容易,但不同的MIDI控制器(仪器)具有不同的功能。首先试着找出你的MIDI钢琴能做什么,然后看看你如何能最好地将这些功能映射到模拟qwerty键盘上。
如果你愿意,你可以在屏幕上或托盘上有一些东西来帮助你看到你正在做什么(也就是说,对于Shift, Ctrl和Alt模拟)。
推荐文章
- 移动文本字段时,键盘出现迅速
- 电话:用于文本输入的数字键盘
- 出现键盘时,Flutter小部件将调整大小。如何预防这种情况?
- 当文本字段被选中时,滚动UITableView
- 你如何告诉如果大写锁定使用JavaScript?
- 我如何检测软件键盘在Android设备上是否可见?
- Android:当焦点在EditText上时自动显示软键盘
- 如何解散键盘的UITextView与返回键?
- 如何解除屏幕上的键盘?
- 在JS/jQuery中绑定方向键
- Android:我如何防止软键盘把我的视图往上推?
- 编辑文本聚焦时如何显示软键盘
- 运行javascript函数时,用户完成输入,而不是上键?
- 把钢琴键盘当作电脑键盘使用
- Xcode 6:键盘在模拟器中不显示