目前我正在使用AKKeyboardView从本质上连接到AKRhodesPiano对象,我想知道是否有一种简单的方法可以从中生成MIDI文件?我看到AKKeyboardView有noteOn和noteOff功能,它确实产生了MIDINoteNumber但我可以在AudioKit库中找到任何其他地方来真正获取此输入并生成MIDI文件,即使只是一个简单的文件。 最佳答案 您需要在后台运行AKSequencer(可能带有节拍器轨道)。制作一条额外的轨道,您将在上面录制。还要将长度设置为录制所需的长度。当您从键盘收到noteOn消息时,您可
我想知道最好的方法是让AKSequencer(实际上是AKMusicTrack)将它的MIDI输出到外部设备。我已经让它工作了,但我觉得可能还有更有效的方法。我的做法:我创建了AKPolyphonicNode的子类(“MyPolyphonicNode”)我用它来初始化AKMIDINode(“MyMIDINode”)的子类,classMyMIDINode:AKMIDINODE{init(...){...letmyPolyphonicNode=MyPolyphonicNode()super.init(node:myPolyphonicNode,midiOutputName:"myMIDIO
我想知道如何使用AKSequencer控制AKOscillator的频率,但是几个例子(1,2)我'我们在网上看到的只是展示了如何使用AKSequencer控制AKSampler。这是来自AudioKit'sGitHubpage的简化示例://relevantclasspropertiesvarseq:AKSequencer?varsyn1=AKSampler()//viewDidLoadseq=AKSequencer(filename:"seqDemo",engine:AudioKit.engine)seq?.enableLooping()seq!.avTracks[1].desti
我想读取一个midi文件并在触发音符事件时显示内容。我发现了这个stackoverflow问题,第二个答案建议使用AudioKit:HowDoIGetReliableTimingformyAudioApp?更准确地说,建议是使用AKSequencer吸收应用程序中的midi文件,然后将其链接到AKCallbackInstrument以触发事件并为每个midi音符事件调用一个函数。我使用本教程安装了AudioKit4.5.5https://www.youtube.com/watch?v=iUvWxWvRvo8然后我设法运行了教程的代码,所以我知道AudioKit已正确包含在项目中。然后我
我正在尝试使用AudioKit在小节的每个节拍上播放声音。尽管我已经实现了this中的代码关于通过AudioKit回调的类似问题,我似乎无法让音序器正确更新更改和播放。它会准确地播放一次,但是在倒带和更改值后它只会使用初始值(或根本不播放)。我的目的是为每个小节创建一个带有节拍值的小节结构,然后使用MIDI和回调根据小节/节拍的数量播放不同的声音。谢谢!importUIKitimportAudioKitclassViewController:UIViewController{letsequencer=AKSequencer()letclick=AKSynthSnare()letcall
我的应用程序在最近升级AudioKit后停止工作从3.7.1到4.0.1。这是我的代码:sequencer=AKSequencer(filename:myMidi)foriin0..这是我收到的错误信息:Valueoftype'AKSequencer'hasnomember'avTracks'只是想知道是否有人可以帮助我了解发生了什么变化以及我该如何解决它。编辑也试过:sequencer!.tracks[i].destinationAudioUnit=gPOPs[i].samplePlayer.samplerUnit现在得到这个错误信息:Valueoftype'AKMusicTrack
我目前有一个应用程序使用AKKeyboard通过振荡器创建声音。每当弹奏键盘时,我也会得到MIDI数据。我想做的是根据我收到的MIDI数据创建一个AKSequence。任何建议或指示将不胜感激,谢谢。这是我的部分代码:varbank=AKOscillatorBank()varmidi:AKMIDI!letsequencer=AKSequencer()letsequenceLength=AKDuration(beats:8.0)funcconfigureBank(){AudioKit.output=bankdo{tryAudioKit.start()}catch{AKLog("Audio
我一直在努力解开一个谜sinewaveissue收效甚微。我想在这里开始一个新问题,因为我已经深入研究了这个问题的细节。在设置AKSequencer并为其提供MIDI文件时,我看到了一些奇怪的结果。对于一首4轨歌曲(具有相应的4轨midi文件,持续时间匹配歌曲的所有主干),我看到音序器实际上是用5轨生成的。什么是额外的轨道?此外,我在控制台中收到一个错误:[seq]1026:无效节拍范围我相信当轨道为空时会发生这种情况。所以这看起来像是我的神秘正弦波的罪魁祸首。关于如何解决这个问题的任何想法?这让我有点发疯......?谢谢! 最佳答案
我正在使用AudioKitAKSequencer制作一个可以播放、暂停和停止的midi音符轨道。我遇到的问题是,当您停止音序器播放并重新启动它而不倒带时,它会准确地从它停止的地方开始,即使那是在一个音符的中间。是否可以将AKSequencer部分倒回到前一个音符的开头或指定开始播放的时间点?谢谢 最佳答案 您可以使用setTime移动播放。也许这可以作为“播放头时间/位置”而不仅仅是时间来做得更好。http://audiokit.io/docs/Classes/AKSequencer.html#/s:8AudioKit11AKSeq
我是Audiokit的新手。我想可视化正在运行的AKSequencer的当前位置。是否有任何我可以连接的回调(如AKMetronome)或监听器或运行的根时钟/主循环?或者我应该使用以任何方式“触发”GUI的AKCallbackInstrument吗?有没有人做过这件事谁愿意分享?谢谢! 最佳答案 我使用AKCallbackInstrument执行此操作。对于我写入MIDI事件的每个音序轨道,我有一个姐妹音序器轨道发送到AKCallbackInstrument。当我为音轨编写一个MIDI事件时,我也将一个GUI事件写入姐妹回调轨道。