【问题标题】:AudioKit MIDI Events - basic questions, sending to external synth, not sure about handlingAudioKit MIDI 事件 - 基本问题,发送到外部合成器,不确定处理
【发布时间】:2017-12-04 18:50:01
【问题描述】:

我还有一些时间来玩 AudioKit,但我有一些关于 MIDI 的问题。我尝试了谷歌搜索,还检查了 AKMIDI 类参考,但这让我更加困惑。

让我们保持简单:我有一个 UIButton,它应该向外部合成器发出“C”。

import AudioKit
midiOut.openOutput()
midiOut.sendEvent(AKMIDIEvent(noteOn: 72, velocity: 80, channel: 1))
sleep(1)
midiOut.sendEvent(AKMIDIEvent(noteOff: 72, velocity: 0, channel: 1))

显然,这段代码分布在整个 ViewController.swift 中,并且 sendEvents 位于 @IBAction 中,但为了简单起见,我合并了 LOC。

所以我的问题是:

  1. 这会向外部机器发送 MIDI 信号吗? (我订购了 Lightning 相机连接套件,但还需要几天才能到货,所以我还无法测试它。)我无法从 iPhone 模拟器获得任何东西,所以我接受它,这不起作用。
  2. 这是否也会通过无线 MIDI 发送 MIDI 信号?根据我在某个 Google 群组上阅读的内容,您可以在 macOS 上使用 Wireless MIDI。不幸的是,我没有找到任何关于是否以及如何在 AudioKit 中使用它的信息。
  3. 蓝牙 MIDI 怎么样?这一切都会由 AudioKit 自动处理还是我必须更改任何内容?我读了一些关于 midi.createVirtualPorts() 的东西,但我不确定这实际上是做什么的。但是“虚拟”这个词让我相信这是为了测试?

很抱歉,如果这些问题非常荒谬,但我真的对这个确切的内部运作感到困惑。

提前非常感谢!

【问题讨论】:

    标签: audiokit


    【解决方案1】:

    您也可以使用模拟器测试您的应用。只需在模拟器上运行您的应用程序并在您的 Mac 上打开音频 MIDI 设置应用程序,进入网络设置并连接您的模拟器。截图如下:

    您可以完全控制AKMIDI
    * 如果您想打开所有可用的输出,只需致电midi.openOutput()
    * 如果你想打开一个特定的会话,比如一个网络会话,主要命名为“会话 1”,请致电midi.openOutput(name: "Session 1")
    * 您可以通过midi.destinationNames 字符串数组获取所有可用的目的地,如果您想向用户提示一个 midi dest 选择器,那么只需用他们的名字打开它们。
    * 关闭它们midi.endpoints.removeValue(forKey: "Session 1").
    * 对于虚拟输出,请致电 sequencer.midi.createVirtualOutputPort(name: "App MIDI Out"),这对于将 MIDI 发送到 iOS/Mac 中的其他应用程序非常有用。
    * 此外,您可以订阅AKMIDIListener 协议的receivedMIDISetupChange 功能,以便在 MIDI 硬件/软件可用或未连接时得到通知。

    【讨论】:

    • 感谢您的解释。你似乎对 AudioKit/AKMIDI 了如指掌。 :-) 我的闪电相机连接套件到了,所以我可以开始测试了。到目前为止:macOS 上的无线 MIDI 大部分时间都可以工作,但通过 Wifi 的延迟总是大约 40-100 毫秒。当我使用 Lightning CCK 并将其插入我的 Macbook 或 PC 时,它不会显示为 MIDI 设备。这是标准行为吗?如果是这样,我该如何改变呢?我想启动我的应用程序,使用 CCK 和标准 USB 电缆插入我的 Macbook/PC 并开始发送 MIDI 信号。这是可行的吗?似乎没有。 :-(
    • 嗯,有一个免费的 Mac 和 iOS 应用程序,midimittr。你可以从s-r-n.de/midile下载它
    • 是的,我知道这一点。但是我刚刚注意到 AudioKit 自动使用了 IDAM 的 IDAM 功能。因此,OSX 不需要配套应用程序。然而,对于 Windows,这是另一回事。是否有适用于 Windows 的等效软件?
    • 是的,还有几个窗口选项。 1)midimittr windows 服务器:s-r-n.de/midile/windowsfaq.htm 2)musicIO vst 插件:musicioapp.com/downloads 3)midimux:midimux.com 他们都在 Mac 和 PC 上工作。安装 iOS 主机应用程序和 win/mac 服务器应用程序,通过 USB 连接,您就可以开始了。这里有一篇很好的帖子,涵盖了所有内容:auug.info/wiki/doku.php/midi_over_usb_lightning
    【解决方案2】:
    1. 是的,应该。你已经打开了所有的输出,所以一切都应该得到输出。

    2. 我不确定无线 MIDI,因为在 AudioKit 中没有特别考虑到这一点。如果它不能“正常工作”,我可以尝试复制。

    3. 您可能必须使用 openOutput("Bluetooth") 显式打开蓝牙连接

    【讨论】:

    • 正如我在对 cem 的其他评论中提到的:我的 Lightning 相机连接套件到了,所以我开始测试。我想要什么:我想启动我的应用程序,使用 Lightning CCK 和标准 USB 电缆插入我的 Macbook/PC 并开始发送 MIDI 信号。但是 iPad/my App 不被识别为 MIDI 设备。我尝试过 Linux、Windows 和 macOS。我是否忽略了某些事情,或者这根本不可能?我唯一关注的是将 MIDI 信号从我的 iPad 应用程序传输到我的 Macbook/PC。由于延迟,最好是有线的。我不关心跨应用 MIDI 或接收 MIDI。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多