我正在使用来自thislibrary的MIKMIDISynthesizer在iPhone上播放MIDI文件.不幸的是,音量非常低,即使将iPhone的系统音量调到最大也是如此。为了进一步增加它,我尝试了这些东西:将所有MIDINoteOn事件的速度属性修改为最大值127。这会轻微但不足以提高音量。将混合器节点添加到AUGraph,如所述here.这足以提高音量,但会立即严重扭曲信号,以至于质量太差。使用Polyphone等音色编辑器提高音色样本的音量。这没有明显的效果。现在我的选项用完了。是否有我错过的任何其他参数或级别(例如AVAudioSession或CoreMIDI)并提供了调整
我在从接收MIDI时钟计算准确的BPM时遇到了一些问题(在我的测试中使用AbletonLive发送MIDI时钟)。我正在使用PeteGoodliffe的CoreMIDI和PGMidi。在PGMidi库中有一个方法在接收到MIDI消息时被调用。根据文档,这是从高优先级后台线程发生的。这是我目前计算BPM的实现doubleBPM;doublecurrentClockInterval;uint64_tstartClockTime;-(void)midiSource:(PGMidiSource*)inputmidiReceived:(constMIDIPacketList*)packetLis
我正在研究一个小技巧,使用RtMidi作为OSX上CoreMIDI的包装器从应用程序发送MIDI消息。我使用RtMidiOut::openVirtualPort("MyAwesomePort")所以我可以选择我的应用程序作为DAW中的输入源。但是,如果我的程序关闭并再次打开它,我的DAW不会将输入设备识别为相同的端口,尽管被赋予了相同的名称。我本来是用pyrtmidi的,所以直接用RtMidi验证了用C++写的行为。在这种情况下,“我的DAW”是Reaper4,但我在ProTools、Logic和MuLab中复制了该行为。我知道保留虚拟MIDI端口的一些独特性是可能的,因为MidiKe
我已经成功地让iOS使用以下代码播放带有soundfont示例的.mid(midi)文件:-(void)playMusic:(NSString*)name{NSString*presetURLPath=[[NSBundlemainBundle]pathForResource:@"GortsMiniPianoJ1"ofType:@"SF2"];NSURL*presetURL=[NSURLfileURLWithPath:presetURLPath];[selfloadFromDLSOrSoundFont:(NSURL*)presetURLwithPatch:(int)3];NSString
我正在寻找一个跨平台的C或C++MIDI库。仅发送/接收MIDI音符事件、控制代码和时序,不生成声音。主要目标是iOS/iPad,因此它必须支持iOS上的CoreMIDI,我知道这是相当新的。我可以直接使用CoreMidi,但如果有轻量级的东西,最好使用便携的东西,这样我就可以轻松地将项目移植到PC上。如果做不到这一点,请提及是否有一个好的、轻量级的开源软件,对我来说添加CoreMIDI支持可能比自己推出更容易。澄清:我正在寻找类似于MidiIO的东西或PortMIDI具有良好的iOS支持。 最佳答案 您可能想看看RtMidi.它为
我刚刚发现适用于iOS的CABTMIDILocalPeripheralViewController处理用于启用蓝牙MIDI可发现性的用户设置。这是很好,但为了将蓝牙集成到我应用程序的其余部分网络MIDI连接最好能够处理直接从我的应用程序代码启用,而不是依赖这个不透明的VC。有谁知道这是否可能? 最佳答案 没有公共(public)API来管理此功能。在使用Instruments进行调查后,开关似乎导致了CBPeripheralManager的实例化。我假设它将设备设置为蓝牙外围设备,并手动将数据传入和传出同样已创建的MIDIEndpo
Xcode8beta2/Swift3:根据Apple'sCoreMIDIAPIdocumentation,MIDI直通连接可以建立为持久性(永远保持在原位,即使在您的应用程序退出和系统重新启动后)或非持久性/暂时性(由您的应用程序拥有并在应用程序退出时自动销毁)。我遇到的问题是我似乎无法创建非持久连接,即使我遵循了Apple的指导方针也是如此。归结为thisAPI:funcMIDIThruConnectionCreate(_inPersistentOwnerID:CFString?,_inConnectionParams:CFData,_outConnection:UnsafeMuta
是否有任何教程解释如何使用CABTMIDILocalPeripheralViewController()将MIDI数据从iOS设备发送到mac?连接正常,但我不知道如何发送MIDI数据。我用谷歌搜索了大约两个小时,但没有找到任何东西。也许你能帮我? 最佳答案 根据Apple的文档(正如您所发现的),CABTMIDILocalPeripheralViewController舞蹈所做的就是使联网的MIDI设备可用。它实际上不会与它通过网络发现的设备建立任何MIDI连接。Afteraconnectionisestablished,itsi
我正在开发一个具有多个“触摸区域”的玩具,这些区域用作我的合成器的输入。使用oscillatorBank我可以轻松地开始和停止音符。在常规键盘中,每个Midi音符只有1个键,因此“重新触发”一个音符需要音乐家抬起手指,即使只是短暂地允许一个人在音符上调用.stop()和.start().我正在处理的场景是当音符被按住时,但随后在另一个“触摸区域”上再次被触发。我能以某种方式“重新触发”那个音符的“攻击”声音吗?我应该启动和停止播放器吗?理想情况下我会打电话oscillator.restart(noteNumber:)但据我所知不存在。非常感谢。 最佳答案
我对Swift/Objective-C或Cocoa环境不是很熟悉,而且我在弄清楚如何使用CoreMIDI从USB设备发送或监听数据时遇到了很多麻烦。我正在尝试将消息(144,36,5)发送到我的MIDIController(一个AbletonPush),这是我在使用BitwigStudioScriptingAPI之前完成的。除了Apple的文档外,我在这方面找不到太多信息,而且它们对我没有特别帮助。到目前为止,我已经弄清楚了如何获取设备列表并查看它们的名称,但除此之外,我还是卡住了。到目前为止,我尝试发送MIDI所写的内容:varpushDevice=MIDIGetDevice(2)v