midi键盘接电脑实现电子琴功能

将一台midi键盘接到电脑上,变成一台电子琴,似乎是一个很简单的事情。找一个音乐编辑类软件,可以接受midi键盘的输入就可以了。比如 freeepiano 就可以接midi键盘。但是这样实现的其实是电钢琴,而不是电子琴。

为什么?

电子琴的重要功能是可能实现自动和弦伴奏,而电钢琴没有这个功能。

要实现类似于电子琴的功能,这里有两个实现方案。

方案一:one man band 11 + loopMIDI + midiplayer_55

经过一段时间在网上的学习与摸索,现在找到了一种将midi键盘变成电子琴的软件组合。

网上的一篇视频教程给我很大的启发
视频教程教你用omb+kontakt使用midi键盘模拟四变奏电子琴 - 中国电子琴在线论坛 - Powered by Discuz!

而在网上搜索到的一个免费midi播放器midiplayer_55_x64.zip ,则提供了加载soundfont音色库的能力

基本工作原理。

midiplayer是一个midi文件播放器,并且支持midi内容的实时输入。midi键盘+midiplayer就可以弹奏不同音色,而且midiplayer可以在没有硬声卡的前提下,用软件的方式打开soundfont音色库。

电子琴中很重要的的自动伴奏与左手和弦功能则要由one man band软件实现,one man band 可以打开.sty节奏文件(这种节奏文件在yamaho的电子琴上也可以加载)。

one man band 可以设置midi输入与midi输出,但是one man band自带的软波表与windows自带的软波表效果都不好,而且windows自带的软波表还有很明显的延迟。
因此要想办法将one man band 与midiplayer连接起来,这一点受到了网上视频中将one man band 与cubase连接起来的做法的启示。

loopMidi是一个midi端口的管道,可以将one man band与midiplayer连接起来。

另外,据网上介绍,TiMidity++ 也是一个很强大的midi播放器,也支持加载强大的音色库,经试用timidity++使用上还是不如midiPlayer55,加载soundFont 与设置midi输入都不方便,不适合做实时弹奏。

方案二:one man band 11 + CoolSoft_VirtualMIDISynth_2.5.4

方案一的一点小小的不便之处在于每次电子琴时要同时打开one man band 11 + midiplayer_55 两个软件,可不可以只打开one man band 11就可以了。
这就是方案二。
CoolSoft_VirtualMIDISynth可以虚拟得到一个输出设备virtualMIDISynth,
并且可以通过托盘上的配置功能,加载soundFount文件。可以说CoolSoft_VirtualMIDISynth = loopMIDI + midiplayer_55

One man band 与midiPlaye结合实现电子琴功能的一些经验

一、 omb可以读取和编辑.sty文件,输出midi数据,通过loopmidi将输出的midi数据输入到midiPlayer.
在midiPlayer的midi输入设置中要注意将
midi键盘接电脑实现电子琴功能_第1张图片
Channel设置为Follow,我的理解是midiPlayer的channel设置将跟随(按照输入的midi数据的指示进行设置)

在omb中打开styleEditor,随意的选择一个.sty文件打开,可以看到如下的界面

midi键盘接电脑实现电子琴功能_第2张图片
此处要理解两个概念:track与channel 。一个音源有16个channel。但一个midi系列可以有超过16个track,若干个track可以对应一个channel.注意上图中上面一个红色箭头所指的
Destination channel为15,就说明此track要映射到channel15,下方的红色箭头指向的一个patch指令,说明在此时刻要选择56号音色(56号音色的默认名称是Trumpet)

二、在midiPlayer中通过加载不同的soundfount文件(.sf2文件),就可以更换不同的音色库,而不同的音色库中同号的音色其实际效果有差别。Midi数据只是指明要用哪一号音色(乐器),而音色的实际效果要由加载的音色库来决定。

你可能感兴趣的:(游戏开发)