我有RSI问题,尝试了30种不同的电脑键盘,都让我很痛苦。弹钢琴不会给我带来痛苦。我已经弹钢琴20年了,没有任何疼痛问题。我想知道是否有一种方法可以从MIDI键盘捕获MIDI并输出键盘敲击。我对MIDI一无所知,但我想要一些关于如何将这个信号转换成按键的指导。
当前回答
这不会太难。
我假设你用的是Windows,不过我不确定。我已经用普通的c++编写了一个MIDI排序器http://pianocheetah.com,它允许您使用钢琴键盘来运行命令。没有任何理由你不能做同样的事情来按键 进入键盘输入流。
但是现在来吧。你记得你花了多长时间来学习 首先是键盘,对吧? 你愿意再经历一次吗? 你愿意让你的键盘被污染吗 上面全是一堆愚蠢的关键符号?
你至少要用26个字母,10个数字,11个标点符号, 以及至少12个功能键及其移位状态。 所以有60个键加上移位的状态。 那会消耗掉整整5个八度的音阶。 你会一直做钢琴“跳”。 向触摸打字说再见。
你可能避免了肢体劳损,但你已经制造了另一种劳损 对你自己来说是不同类型的噩梦。
祝你的老板能在上班时给你买一个迷笛键盘。
如果你真的学会了弹钢琴,你就学会了 如何释放压力。用QWERTY键盘。 没有紧张。开始缓慢。
其他回答
您可以使用一个简单的AutoIt脚本来读取MIDI事件,请参阅MIDI输入。
您还需要MIDI UDF和模拟按键。
读取MIDI事件应该很容易,但不同的MIDI控制器(仪器)具有不同的功能。首先试着找出你的MIDI钢琴能做什么,然后看看你如何能最好地将这些功能映射到模拟qwerty键盘上。
如果你愿意,你可以在屏幕上或托盘上有一些东西来帮助你看到你正在做什么(也就是说,对于Shift, Ctrl和Alt模拟)。
在我看来,你不是在寻求如何自己建立它的建议,而是更多地询问已经有什么资源可以实现你想要的。根据你的操作系统,有很多方法可以实现这一点,而不必从头开始编写自己的程序:
MIDI中风
免费的。适用于Mac OS X 10.3及以上版本。这一款特别提供了“使用任何MIDI键盘作为完整的电脑键盘替代品的能力”。
Bome的迷笛翻译
免费/明信片(有点奇怪)。对于Windows 2000及以上版本,以及Mac OS x,它最初似乎更倾向于autohotkey类型的使用,但进一步研究,我认为它可以很好地做你想做的事情。
Max和aka,键盘
免费的。对于Mac OS x来说,这并不是一个“现成的”解决方案,但如果你对基本的设备配置感到满意,它应该不会太糟糕。
以MAME街机游戏为例。他们已经建立了硬件设备,允许输入任意数量的不同项目。例如,iPac将输入设备的信号转换为USB,然后计算机可以使用USB来模拟按键。您可以使用任意组合的输入设备,只要不需要疯狂的编程逻辑就可以,因为解释输入的软件已经完成并经过了良好的测试。
我见过飞行模拟器座舱输入,自定义亭,和投票系统建立在这种方法.....而且价格也很合理!
学习速记吧!
从你们的讨论来看,这很明显。从技术角度来看,你不想重新发明任何轮子。但是,一旦你建立了联系(这个问题要问的是什么)并开始工作,你仍然有大部分工作要做:你必须训练你的大脑。你还必须发明最聪明、最有效的方法来做到这一点——这是一个完全脱离计算机技术的设计问题。你或者我们任何人都不够格。
幸运的是,经过几个世纪的成熟,这个问题已经得到了解决和磨练……
学速记!
是的,这会花掉你一大笔钱。但是,你自己几百个小时的时间又有什么价值呢?结果却不是那么好。此外,维基百科上的速记文章说,“它看起来更像钢琴键盘”。
当然,除非你想要一个杂耍效果。我不得不承认,我从来没有想过这种可能性,看到有人从钢琴键盘上打出一段文字真的很有趣!
你可以从一个带有触控板的USB键盘开始(或者一个指向杆会更符合人体工程学?),使用Plover来翻译它(我相信它可以配置为让非字母键保留其功能,因为它们对编程至关重要),或者,遵循线程Re: Plover键盘来滚动你自己的USB速记键盘,或者,购买一个速记键盘。
好运!
在Java中,可以使用JMF (Java Media framework)来转换MIDI信号。 键盘设计的基本是易于使用,即用户界面;并把常用的字符/符号放在手边。
Java Sound Resources中的示例代码和API:示例:数字信号处理(DSP)有助于理解如何处理信号。
更多参考资料:
用控件处理音频 数字音频信号处理,第二版
推荐文章
- 移动文本字段时,键盘出现迅速
- 电话:用于文本输入的数字键盘
- 出现键盘时,Flutter小部件将调整大小。如何预防这种情况?
- 当文本字段被选中时,滚动UITableView
- 你如何告诉如果大写锁定使用JavaScript?
- 我如何检测软件键盘在Android设备上是否可见?
- Android:当焦点在EditText上时自动显示软键盘
- 如何解散键盘的UITextView与返回键?
- 如何解除屏幕上的键盘?
- 在JS/jQuery中绑定方向键
- Android:我如何防止软键盘把我的视图往上推?
- 编辑文本聚焦时如何显示软键盘
- 运行javascript函数时,用户完成输入,而不是上键?
- 把钢琴键盘当作电脑键盘使用
- Xcode 6:键盘在模拟器中不显示