如何让 web midi 输出控制器工作?
How to get web midi output controller to work?
所以我有一个 midi 控制器连接到我的 machine,我在 mac.
上用 Logic Pro X 成功播放了它
我正在尝试使用 Web Midi API 向这个 midi 控制器发送一个音符,作为一个输出设备,希望它会触发 midi 控制器,后者又会通过 Logic 触发声音.
我正在使用 webmidi.js 并且我试过了:
WebMidi.enable(function (err) {
if (err) {
console.log("WebMidi could not be enabled.", err);
} else {
console.log("WebMidi enabled!");
console.log(WebMidi.inputs);
console.log(WebMidi.outputs);
var output = WebMidi.outputs[0];
output.playNote("C3");
}
});
但我没有听到音符在播放。我确实确保我的 midi 控制器被列为输出设备。
奇怪的是,当我玩 Note 时,它实际上点亮了控制器上的 LED 键。但我还是听不到声音。我还尝试了一个不同的控制器,它的按键上没有 LED,但我也听不到声音。
我也试过访问这个网站 http://webmidi-examples.glitch.me/ 在最后一个例子中它也尝试发送 MIDI 输出但也不起作用。有什么建议吗?
我发现这样做的唯一方法是创建一个虚拟 MIDI 设备作为输出,并在我的 daw 中使用这个虚拟 MIDI 设备作为输入。然后使用上面的代码,但 select 输出作为这个新的虚拟 MIDI 设备。
Mac 步数:
1. 音频 Midi 设置 -> Window -> 显示 Midi Studio。
2. 在 Midi Studio 中双击 IAC 驱动程序 -> 使用屏幕左下角的 + 按钮创建新的虚拟 Midi 设备。检查 "Device is Online".
转到您选择的 DAW 并将输入更改为这个新的 MIDI 设备。
现在在 javascript 中,使用上面的代码,更改为新的输出:
var output = WebMidi.outputs[1]; // whatever index your virtual midi device is
现在可以了。
根据我的经验,我不需要启用 sysex 也不需要使用 https 来工作。我只是 运行 我节点上本地主机上的 html。js/express 服务器。
所以我有一个 midi 控制器连接到我的 machine,我在 mac.
上用 Logic Pro X 成功播放了它我正在尝试使用 Web Midi API 向这个 midi 控制器发送一个音符,作为一个输出设备,希望它会触发 midi 控制器,后者又会通过 Logic 触发声音.
我正在使用 webmidi.js 并且我试过了:
WebMidi.enable(function (err) {
if (err) {
console.log("WebMidi could not be enabled.", err);
} else {
console.log("WebMidi enabled!");
console.log(WebMidi.inputs);
console.log(WebMidi.outputs);
var output = WebMidi.outputs[0];
output.playNote("C3");
}
});
但我没有听到音符在播放。我确实确保我的 midi 控制器被列为输出设备。
奇怪的是,当我玩 Note 时,它实际上点亮了控制器上的 LED 键。但我还是听不到声音。我还尝试了一个不同的控制器,它的按键上没有 LED,但我也听不到声音。
我也试过访问这个网站 http://webmidi-examples.glitch.me/ 在最后一个例子中它也尝试发送 MIDI 输出但也不起作用。有什么建议吗?
我发现这样做的唯一方法是创建一个虚拟 MIDI 设备作为输出,并在我的 daw 中使用这个虚拟 MIDI 设备作为输入。然后使用上面的代码,但 select 输出作为这个新的虚拟 MIDI 设备。
Mac 步数:
1. 音频 Midi 设置 -> Window -> 显示 Midi Studio。
2. 在 Midi Studio 中双击 IAC 驱动程序 -> 使用屏幕左下角的 + 按钮创建新的虚拟 Midi 设备。检查 "Device is Online".
转到您选择的 DAW 并将输入更改为这个新的 MIDI 设备。
现在在 javascript 中,使用上面的代码,更改为新的输出:
var output = WebMidi.outputs[1]; // whatever index your virtual midi device is
现在可以了。
根据我的经验,我不需要启用 sysex 也不需要使用 https 来工作。我只是 运行 我节点上本地主机上的 html。js/express 服务器。