我正在使用AudioKit播放音符midi.sendEvent(AKMIDIEvent(noteOff:noteToPlay,velocity:MIDIVelocity(0),channel:MIDIChannel(0)))是否有一个命令可以用来改变使用AudioKit播放的音符的音量或音调? 最佳答案 经过一些搜索,我发现确实是CL提到的Controller更改事件完成了这项工作。所以考虑到命令是///ModulationControlcasemodulationWheel=1///BreathControl(inMIDISaxo
我发现lib中有AKFrequencyTracker和AKMicrophoneTracker。两者都提供频率作为参数。问题是:AKFrequencyTracker和AKMicrophoneTracker?哪个类更适合用于实时麦克风歌唱检测?非常感谢。 最佳答案 AKMicrophoneTracker是一个独立的类,仅从麦克风读取数据,仅此而已,而AKFrequencyTracker是一个可以插入信号链中任意点的节点。它们都使用相同的频率检测算法,只是AKMicrophoneTracker更容易用于常见情况,在这种情况下,您只需要音高
我目前有一个应用程序使用AKKeyboard通过振荡器创建声音。每当弹奏键盘时,我也会得到MIDI数据。我想做的是根据我收到的MIDI数据创建一个AKSequence。任何建议或指示将不胜感激,谢谢。这是我的部分代码:varbank=AKOscillatorBank()varmidi:AKMIDI!letsequencer=AKSequencer()letsequenceLength=AKDuration(beats:8.0)funcconfigureBank(){AudioKit.output=bankdo{tryAudioKit.start()}catch{AKLog("Audio
打开文件或复制文件会使缓冲区的大小爆炸。tape1.write(from:tape2.pcmBuffer)同样的事情发生在保存文件然后再次打开它之后(即合成之后)AKAudioFile(forReading:url,commonFormat:.pcmFormatFloat32,interleaved:true)这也需要很多内存,15分钟的录音大约需要300mb内存,而iPhone5s无法处理。有没有办法做得更好?如何减少缓冲区大小? 最佳答案 要复制文件,您应该使用FileManager.copyItemFileManager.de
我想使用AudioKit框架生成一些高音和低音的小声音序列。所以我开始的消息可能看起来像这样:“1100011010”-->每一列都应该循环,如果它的值为"1"AudioKit应该播放(短的)highfrequency声音,如果不是,它应该播放一个(短)低频声音。因为每0.15秒触发一次的简单定时器循环.play()-用于运行0.1s声音(高/低)似乎不太准确我决定使用*AudioKitSequencer*:(o)音频包:enumSequence:Int{casesnareDrum}varsnareDrum=AKSynthSnare()varsequencer=AKSequencer(
我有一组AudioKit效果器,可以灵活地添加/删除或更改它们的顺序,将它们存储为AKNodevareffects:[AKNode]=[]effects.append(AKCompressor())effects.append(AKDelay())effects.append(AKAutoWah())......问题在于连接:effects[0].connect(to:effects[1])它不起作用:无法使用类型为“(to:AKNode)”的参数列表调用“connect”也许我应该存储AKNode以外的其他类。最好的方法是什么? 最佳答案
我是Audiokit的新手。我想对一组Double原始值进行排序,以用作eurorack模块中的衰减器。使用AKSequencer似乎是不可能的,因为它们旨在与音轨(AudioKit.AKMusicTrack)一起使用,将MIDI数据发送到AKMidi-Insrument实例。那么如何对f.e.进行排序呢?原始振荡器或表属性值?谢谢! 最佳答案 使用AKCallbackInstrument和序列长度数组中的一些值是可能的letsequenceLength=AKDuration(beats:8.0)letsequencerCallba
我不是最新的移动开发人员,所以请原谅。我和一个friend聊天,很好奇。我有音频经验,但没有现代swift+ios经验。假设我有一个嵌入了YouTube播放器的View。我发现的快速播放器(pod等)似乎不像音频channel那样公开为流或对象。例如://fromthepodswift-audio-player//ImportSwiftmoduleimportYouTubePlayer@IBOutletvarvideoPlayer:YouTubePlayerView!//initYouTubePlayerVieww/playerFramerect(assumeplayerFramede
我一直在努力解开一个谜sinewaveissue收效甚微。我想在这里开始一个新问题,因为我已经深入研究了这个问题的细节。在设置AKSequencer并为其提供MIDI文件时,我看到了一些奇怪的结果。对于一首4轨歌曲(具有相应的4轨midi文件,持续时间匹配歌曲的所有主干),我看到音序器实际上是用5轨生成的。什么是额外的轨道?此外,我在控制台中收到一个错误:[seq]1026:无效节拍范围我相信当轨道为空时会发生这种情况。所以这看起来像是我的神秘正弦波的罪魁祸首。关于如何解决这个问题的任何想法?这让我有点发疯......?谢谢! 最佳答案
我是Audiokit的新手。我想可视化正在运行的AKSequencer的当前位置。是否有任何我可以连接的回调(如AKMetronome)或监听器或运行的根时钟/主循环?或者我应该使用以任何方式“触发”GUI的AKCallbackInstrument吗?有没有人做过这件事谁愿意分享?谢谢! 最佳答案 我使用AKCallbackInstrument执行此操作。对于我写入MIDI事件的每个音序轨道,我有一个姐妹音序器轨道发送到AKCallbackInstrument。当我为音轨编写一个MIDI事件时,我也将一个GUI事件写入姐妹回调轨道。