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


当前回答

学习速记吧!

从你们的讨论来看,这很明显。从技术角度来看,你不想重新发明任何轮子。但是,一旦你建立了联系(这个问题要问的是什么)并开始工作,你仍然有大部分工作要做:你必须训练你的大脑。你还必须发明最聪明、最有效的方法来做到这一点——这是一个完全脱离计算机技术的设计问题。你或者我们任何人都不够格。

幸运的是,经过几个世纪的成熟,这个问题已经得到了解决和磨练……

学速记!

是的,这会花掉你一大笔钱。但是,你自己几百个小时的时间又有什么价值呢?结果却不是那么好。此外,维基百科上的速记文章说,“它看起来更像钢琴键盘”。

当然,除非你想要一个杂耍效果。我不得不承认,我从来没有想过这种可能性,看到有人从钢琴键盘上打出一段文字真的很有趣!

你可以从一个带有触控板的USB键盘开始(或者一个指向杆会更符合人体工程学?),使用Plover来翻译它(我相信它可以配置为让非字母键保留其功能,因为它们对编程至关重要),或者,遵循线程Re: Plover键盘来滚动你自己的USB速记键盘,或者,购买一个速记键盘。

好运!

其他回答

在Java中,可以使用JMF (Java Media framework)来转换MIDI信号。 键盘设计的基本是易于使用,即用户界面;并把常用的字符/符号放在手边。

Java Sound Resources中的示例代码和API:示例:数字信号处理(DSP)有助于理解如何处理信号。

更多参考资料:

用控件处理音频 数字音频信号处理,第二版

试试Bome的MIDI翻译器。

它可以跨平台工作,可以轻松地将任何MIDI输入转换为键盘,快速设置和配置,另外它是免费的个人使用。

有一个教程,快速提示:MIDI翻译- MIDI键击,如何轻松设置:

基本上,你可以做的事情有无限的可能性,包括和弦和修饰键。我用它作为我的现场音频设备来控制我的DAW使用我的钢琴,从来没有遇到过问题。

如果你使用Linux,可以去Footware看看。

它应该正是你所寻找的-如果你调整MIDI音高到你喜欢的键映射…

我从没想过这对除了我以外的任何人都有用;

您可以在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个手指在键盘上,如果矩阵是可用的,我认为你可以比任何电脑键盘用户更快。: -)

在这种情况下,如果我没有理解错你的问题,这应该不是什么大事。

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

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