我有RSI问题,尝试了30种不同的电脑键盘,都让我很痛苦。弹钢琴不会给我带来痛苦。我已经弹钢琴20年了,没有任何疼痛问题。我想知道是否有一种方法可以从MIDI键盘捕获MIDI并输出键盘敲击。我对MIDI一无所知,但我想要一些关于如何将这个信号转换成按键的指导。


当前回答

你可以看看和弦键盘。它们的优点是在使用它们之前不需要为它们编写驱动程序,有些类似于钢琴键盘的布局。

其他回答

许多键盘都有一个串行端口(RS-232)连接器,向计算机发送MIDI信号。我使用一个名为“梁”的程序将串口通信转换为键盘敲击。

“梁”有一个“映射”功能,允许您将每个键一个接一个地映射到相应的击键。

这可能是你正在寻找的简单解决方案!

关于MIDI

你说你“对迷笛一无所知”。一旦掌握了MIDI技术,它就相当简单,但在开始时可能会令人困惑。有一种资源对我理解MIDI的基础(如果你想编程MIDI交互,这当然是必要的)有极大的帮助,那就是为技术恐惧者写的一本叫做MIDI的书。这是一本容易读的书,非常有用。


Pure Data & Max

在我开发交互式多媒体的经验中,我遇到过两个非常相似的程序,它们有助于连接和映射来自任何设备的信号/输入。

这些是Mac环境下的Max和PC环境下的Pure Data。两者都有大量的在线文档和YouTube教程。视频Max/MSP教程1 -使用计算机键盘作为MIDI键盘(ableton风格)演示了Max内置的一个程序,该程序将计算机键盘映射到MIDI键盘的输入(这基本上与您正在尝试做的完全相反)。您可以通过使用相同的模式,但是反转信号/映射来获得预期的结果。


自动热键

AutoHotKey是一个免费的Windows开源实用程序,允许您将设备上的键和按钮重新映射到宏。它本机支持QWERTY键盘,操纵杆和鼠标宏。

但是,我能够找到支持您正在寻找的特定映射的实现。下面两个线程解释了这个过程:

MIDI IN支持AutoHotkey用例的讨论。作者正在寻找一个程序,可以检测MIDI输入并将其转换为按键。 MIDI输入库,作者的问题的解决方案和发布的代码/补丁AutoHotKey,它实际上实现了您预期的结果。

基本上,它看起来像AutoHotKey,以及这个用户的自定义补丁,将提供您所需要的创建从MIDI键盘到QWERTY键盘的输入信号的映射。您所要做的就是安装、配置和定义映射。


还有别的事吗?

Some of the other answers have given you much more extensive information on MIDI and MIDI programming, in general, but as your post states that doesn't seem to be quite what you are looking for. I would like to help you more if possible, but it would be easier if you could be more specific about the type of information you are looking for. For instance, are you more interested in how to convert a MIDI keyboard's input signals to a QWERTY keyboard's signals, or is your primary interest finding an out of the box solution to your specific problem? What are you looking for that has not yet been addressed?

以MAME街机游戏为例。他们已经建立了硬件设备,允许输入任意数量的不同项目。例如,iPac将输入设备的信号转换为USB,然后计算机可以使用USB来模拟按键。您可以使用任意组合的输入设备,只要不需要疯狂的编程逻辑就可以,因为解释输入的软件已经完成并经过了良好的测试。

我见过飞行模拟器座舱输入,自定义亭,和投票系统建立在这种方法.....而且价格也很合理!

您可以在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键盘作为控制器播放,您将获得更好和更愉快的结果(无论您喜欢使用哪种操作系统和/或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转换/键盘选项呢?

祝你好运,我希望这篇文章能给你一些对你有用的想法!