草庐IT

midi-instrument

全部标签

ios - Inter App Audio 技术 : make effect node and instrument node independent

我正在编写一个使用CoreAudio新iOS7InterAppAudio技术的HOST应用程序。在Inter-AppAudioExamples的帮助下,我设法获得了乐器应用程序和效果器应用程序。.问题在于效果节点依赖于乐器节点。我想使效果节点和乐器节点独立。这是我的尝试。if(desc.componentType==kAudioUnitType_RemoteEffect){//if([selfisRemoteInstrumentConnected]){if(!_engineStarted)//Checkifsessionisactive[selfcheckStartOrStopEngi

swift - 如何从 AudioKit 中的 AKMusicTrack 输出外部 MIDI

我想知道最好的方法是让AKSequencer(实际上是AKMusicTrack)将它的MIDI输出到外部设备。我已经让它工作了,但我觉得可能还有更有效的方法。我的做法:我创建了AKPolyphonicNode的子类(“MyPolyphonicNode”)我用它来初始化AKMIDINode(“MyMIDINode”)的子类,classMyMIDINode:AKMIDINODE{init(...){...letmyPolyphonicNode=MyPolyphonicNode()super.init(node:myPolyphonicNode,midiOutputName:"myMIDIO

ios - UIAnimations 响应 Swift 中的 MIDI 事件

我正在尝试使用Apple的AudioToolbox框架编写一个MIDI序列,该框架会在UI中触发动画。感谢GeneDeLisa的博客,我已经成功地创建了序列,由于代码的长度,我不会在这里完整地复制它。基本过程是设置一个AUGraph、一个采样器单元(AudioUnit())、一个musicPlayer和一个音乐序列:varprocessingGraph:AUGraphvarsamplerUnit:AudioUnitvarmusicPlayer:MusicPlayervarmusicSequence:MusicSequence然后我做了一个函数来填充音乐序列:funccreateMusi

swift - Swift 3 不允许 Core Midi Read 回调

我在Swift3项目中有一个midireadproc回调设置。我想将项目完全保留在Swift中,而不必为了完成这项工作而求助于ObjectiveC。有很多关于CoreMidi和Swift的文章,但由于框架经常变化,这些文章中的语法不再适用。//MidiMessageCallbackfuncMIDIReadCallback(pktList:UnsafePointer,refCon:UnsafeMutableRawPointer?,srcConRef:UnsafeMutableRawPointer?)->Void{letpacket=pktList.pointee.packetfor_in

ios - 与 wav AudioKit 一起播放 MIDI 文件

我正在尝试在播放wav音频时播放midi文件。我试过letakSequencer=AKSequencer(filename:"melody")akSequencer.enableLooping()akSequencer.play()但它只播放第一个音符,没有其他内容。此外,我无法使用混音器将其与正在加载的wav文件混合,例如:letakMidiSampler=AKMIDISampler()letakSampler=AKSampler()letwavFile=tryAKAudioFile(forReading:wavUrl!)tryakSampler.loadAudioFile(wavF

ios - 使用 ios 键盘扩展在设备上运行 Xcode Instruments

我正在开发自定义键盘,但速度很慢,有时还会崩溃。因为我不确定它来自哪里,所以我想用Instruments来TimeProfiler。但是当我选择MyIphone>KeyboardExtension(target)时,我得到:Targetfailedtorun或Waitingforx.x.x.KeyboardPleasetakeappropriateactiontoinitiatethelaunchof'x.x.x.Keyboard.'是否可以将Instruments与应用程序扩展一起使用?如果是,我应该如何进行? 最佳答案 我以前不

xcode - Swift 2 到 swift 3 转换 Midi 输入

我希望有人可以帮助我使用Xcode8和swift3我有一个Playground文件Xcode7swift2,它涉及Midi输入的Midi回调,在7中一切正常我尝试转换为8,它引发了关于内存的错误和一些我认为不严重的名称更改,我还使用PlaygroundSupport重新定义了无限循环但是我无法克服的错误涉及MyMIDIReadProcatMIDIInputPortCreate(midiClient,"MidiTest_InPort",MyMIDIReadProc,nil,&inPort);错误说无法将类型“(pktList:UnsafePointer,readProcRefCon:Un

ios - 用于 MIDI 播放和录音的 AVAudioEngine 同步

问题1我的第一个问题涉及使用AVAudioPlayerNode和AVAudioSequencer进行MIDI时的播放同步。基本上我正在尝试通过MIDI播放一些东西,但它们需要完美同步。我知道AVAudioPlayerNode有同步方法,但音序器似乎没有类似的方法。目前我已经尝试在单独的线程上使用CAMediaTime()+delay和usleep,但它们似乎工作得不是很好。问题2我正在使用engine.inputNode上的点击来获取录音,与音乐播放分开。不过,好像录音开始得更早了。当我将录制的数据与原始播放进行比较时,差异约为300毫秒。我可以在300毫秒后开始录制,但即便如此,这也

swift - 我如何使用 Audiokit 发送 midi poly pressure 消息?

目前我正在构建一个应用程序,它基本上是我的VirusTI合成器的合成器Controller。该病毒允许使用MIDICC消息设置它的大部分参数。使用Audiokit非常简单:midiOutput.sendEvent(AKMIDIEvent(controllerChange:17,value:SomeValue,channel:1))但是,某些参数需要使用“多压力”消息进行设置。每个音符都映射到一些参数,压力值将用于设置参数。这看起来像是hack,但事实就是如此。我现在的问题是我找不到发送midi多边形压力消息的方法,因为它们在audiokit中似乎不可用。(换句话说:没有多压事件类型)问

ios - 当 MIDI 目标或源更改时收到通知

当找到新的MIDI目的地/来源或现有的断开连接时,有什么方法可以得到通知吗?谢谢。 最佳答案 也许receivedMIDISetupChange()适合您?在符合AKMIDIListener的类中,尝试:funcreceivedMIDISetupChange(){print("MIDISetupChange,midi.inputNames:\(midi.inputNames)")} 关于ios-当MIDI目标或源更改时收到通知,我们在StackOverflow上找到一个类似的问题: