我有RSI问题,尝试了30种不同的电脑键盘,都让我很痛苦。弹钢琴不会给我带来痛苦。我已经弹钢琴20年了,没有任何疼痛问题。我想知道是否有一种方法可以从MIDI键盘捕获MIDI并输出键盘敲击。我对MIDI一无所知,但我想要一些关于如何将这个信号转换成按键的指导。
当前回答
如果你不想自己做任何编程,只是想解决问题,你可以买一个usb - midi键盘,你可以重新分配任何键来发送一个QWERTY键盘输出信号,而不是一个midi输出,例如M-Audio Axiom Pro
这种方法适用于任何操作系统和任何支持标准usb键盘的计算机,因为midi键盘将自己标识为标准QWERTY键盘。
其他回答
如果你懂Java编程,你可以这样使用:
首先,实现一个javax.sound.midi.Receiver,使用send(..)方法将“Note on”事件映射到你想要的击键。
您需要使用它的getMessage方法获取MidiMessage的内容,并按照您的方式解释它。消息字节的含义可以在MIDI消息中找到。
在接收到某个键盘键的'note on'或'note off'后,您可以通过为它分配KeyEvent类的常量将其映射到您喜欢的键,例如c# 4 -> KeyEvent。VK_A等等。然后,java.awt可以使用这个键代码。Robot的keyPress和keyRelease方法实际发送击键到操作系统,从而发送到其他应用程序。
通过声卡将任何外部MIDI键盘作为控制器播放,您将获得更好和更愉快的结果(无论您喜欢使用哪种操作系统和/或DAW程序)。然后将其路由到你的GB软件(或其他软件),并实时生成他们提供给你的许多声音。
如果您的声卡不支持MIDI I/O (in / out /thrus),这不是问题。您可以考虑研究和投资一个外部MIDI桌面转换器。许多配备进一步将MIDI输出转换为USB 2.0(通过传递现有的声卡)。
例如:通过电脑键盘和铅笔工具的Z和X改变键来获得“像人类一样”的装饰音效果是非常困难的。相反,你自己的手指可以用MIDI键盘在它自己的物理八度寄存器范围内演奏——立即!
我知道可能涉及预算限制。但是,一些看似便宜的“卡西欧”5型八度键盘在Radio Shack卖不到100美元(*或更少)就是你所需要的(另外,他们的一些板上声音补丁和音序器模块声音和处理其他事情也非常好)。
RadioShack MIDI键盘选项。
至于现有声卡的外部MIDI转换器,我已经为您运行了一些谷歌搜索,具体针对Mac平台:
很多外部MIDI转换信息一开始可能对你来说很麻烦,所以我把事情分解成“用户友好”的,以供你考虑和预算:
MIDI声卡
在使用DAW时,将虚拟键盘作为VST使用并没有什么错。他们有自己的位置。
但是,你听起来像个熟练的键盘手。所以,为什么不考虑我刚才提到的外部MIDI转换/键盘选项呢?
祝你好运,我希望这篇文章能给你一些对你有用的想法!
我在大学里学的是钢琴演奏,然后接触了交互设计、编程和使用Vim,所以我实际上花了很多时间来创建这样的原型。
在Linux中,通过使用为多媒体艺术家设计的图形化编程语言“Pure Data”以及Alex Andre设计的x11key外部代码,可以很快地实现这一点。
在Mac上,你可以使用MidiStroke。我相信Windows上的一个方法是使用MidiOx和AutoHotKey工具。还有一次,我有一个使用Java插件的Max/MSP版本。我相信Patrice Colet为Pure Data做了一个外部窗口,效果也很好,但我似乎再也找不到它了。此外,MaxMSP还有一个外部组件,可以在Windows上执行此操作。最后,这个非免费但很棒的Osculator可以做你想做的事情-请参阅功能页面。
当我让它工作时,我从来没有坚持过,因为我无法停止使用这种布局。不过,把显示器放在电子键盘上就很酷!祝你好运。
如果你使用Linux,可以去Footware看看。
它应该正是你所寻找的-如果你调整MIDI音高到你喜欢的键映射…
我从没想过这对除了我以外的任何人都有用;
实际上,我在这个工作了一段时间前,试图捕捉摇滚乐队鼓输入到我的计算机(做一个小Java自制鼓模拟器)无论如何,我问了一个问题在这里,时间延迟问题(有轮询代码在那里,以及我试图做的事情。)如果我能找到我的程序,我可以给你的代码,它使用第三方API (JInput)。
祝你好运。
推荐文章
- 移动文本字段时,键盘出现迅速
- 电话:用于文本输入的数字键盘
- 出现键盘时,Flutter小部件将调整大小。如何预防这种情况?
- 当文本字段被选中时,滚动UITableView
- 你如何告诉如果大写锁定使用JavaScript?
- 我如何检测软件键盘在Android设备上是否可见?
- Android:当焦点在EditText上时自动显示软键盘
- 如何解散键盘的UITextView与返回键?
- 如何解除屏幕上的键盘?
- 在JS/jQuery中绑定方向键
- Android:我如何防止软键盘把我的视图往上推?
- 编辑文本聚焦时如何显示软键盘
- 运行javascript函数时,用户完成输入,而不是上键?
- 把钢琴键盘当作电脑键盘使用
- Xcode 6:键盘在模拟器中不显示