草庐IT

Audiokit

全部标签

ios - 音频套件 : reload audio files in sampler

我必须连续播放音频循环,并且能够不间断地即时重新加载音频文件。我已经尝试过这些解决方案:使用AKAudioPlayer及其“replace(file:)”方法->问题:替换文件超慢(1秒)以及“播放”方法。使用AKSampler->问题:AKSampler似乎无法即时替换音频文件,所以我必须创建一个新文件,停止音频引擎,重新连接AKSampler,重新启动音频引擎(super慢)是否有更明显的解决方案我会错过? 最佳答案 预加载文件并使用混音器。 关于ios-音频套件:reloadaud

ios - AudioKit:如何在两个不同的 AKOperationGenerator-Oscillators 之间切换

我想使用AKOperation.squareWave()和AKOperation.triangleWave()构建一个在方波和三角波之间进行模式切换的振荡器。当我尝试像下面这样构建它时,它不起作用。怎么了?谢谢!importAudioKitPlaygroundsimportAudioKitletosc_square=AKOperationGenerator{parametersinreturnAKOperation.squareWave(frequency:parameters[0],amplitude:parameters[1])}letosc_tri=AKOperationGene

iOS AKMIDISampler 没有音频输出

我在iOS(11.3)上使用带有音色字体的AKMIDISampler,但我无法获得音频输出。目前,设置是最小的:midiSampler=AKMIDISampler()samplerVolume=AKBooster(midiSampler)mixer.connect(input:samplerVolume)letbundlePath=Bundle.main.bundlePathletsoundPath=("\(bundlePath)/Sounds/GigaPiano")do{_=tryself.midiSampler.loadSoundFont(soundPath,preset:0,ba

ios - audiokit 停止触觉反馈

当AudioKit启动时,有没有办法让触觉反馈起作用?如果我禁用AudioKit让生成器=UISelectionFeedbackGenerator()generator.selectionChanged()代码可以运行,但是当AudioKit启动时它会失败。 最佳答案 这是因为当音频输入处于事件状态时,iOS会关闭触觉反馈。这是有道理的,因为触觉引擎产生的任何振动都会以某种方式被麦克风记录下来。这也适用于在后台录制音频的应用。如果其中一个正在运行,则另一个应用的触觉反馈将不起作用。如果您的应用不需要音频输入,请尝试使用AKSetti

ios - audiokit ak参数自动操作

我遵循振荡器模型并以相同的方式设置ak参数,这些参数很容易通过实时控件进行操作。我如何使用LFO或包络来操纵参数,例如:在按下按键时进行幅度调制?几个星期以来,我一直在努力寻找答案。 最佳答案 查看AKOperations。有适合他们的Playground,应该解释如何使用它们(参见http://audiokit.io/playgrounds/Synthesis/的操作部分),但基本上任何操作都可以输入另一个操作,因此您可以对所需的任何参数进行样本精确控制。或者,您也可以使用C或C++在DSP级别深入研究调制参数,我们在合成器中就是

ios - AudioKit - 在没有 Playground 的情况下绘制文件的完整波形

有没有可能用AKTable把文件的完整波形画到UIView中?这是我的代码草稿:@IBOutletweakvaraudioWaveform:WhichClass????overridefuncviewDidLoad(){super.viewDidLoad()letfile=tryAKAudioFile(readFileName:"drumloop.wav")letfileTable=AKTable(file:file)audioWaveform.addSubView(????)... 最佳答案 是的,这是可能的,只是AKTableV

ios - 将 AKAudioFile 拆分为由静音分隔的 block

给定一个从AKNodeRecorder创建的单个AKAudioFile,其中包含一系列口语单词,其中每个单词至少间隔1秒,最终创建一系列文件且每个文件包含一个单词的最佳方法是什么?我相信,如果有一种方法可以在例如100毫秒的block中迭代文件,并测量每个block的平均振幅,就可以实现这一点。“静音block”可能是低于某个任意小幅度的block。在迭代时,如果我遇到一个具有非无声振幅的block,我可以获取这个“非无声”block的开始时间戳来创建一个音频文件,该文件从这里开始并在下一个“无声”block的开始时间结束。无论是使用像上面那样的手动方法还是AudioKit的更多内置处

ios - 使用 AKSampleDescriptor

使用AKSamplerDescriptor我正在使用经过改编的AKSampler示例,我在其中尝试使用Fluid.sf3melodicSounds的sforzando输出。Sforzando为每个乐器创建.sfz文件,但所有这些文件都指向一个巨大的.wav文件的全局样本。在所有的instrument.sfz文件中,对于要使用的波形文件部分,都有一个偏移量和端点描述。当我加载.sfz文件时,由于内存问题我遇到了崩溃。似乎对于.sfz文件中的每个定义区域,都会再次加载完整的.wav文件(140mB)。最有可能的是,如AKSampler示例中那样使用AKSampleDescriptor加载示

ios - AudioKit/AVAudioEngine 启动时间过长

我正在使用AudioKit,它在底层使用AVAudioEngine。我构建了一个中等大小的音频链,其中包含一些播放器、麦克风、音效和混音器以满足我的应用程序的功能。但是,我注意到每当我初始化链并调用AudioKit.start()时,都需要很长时间才能完成。在没有耳机的真实设备上为2s,使用蓝牙耳机时为7s。谁能告诉我这是否正常,我应该如何让它更快?感觉7s处理不正常啊。。。 最佳答案 @尼古拉斯,您有可以发布到GitHub的示例项目吗?您是在自己的类中还是在viewDidLoad中初始化AudioKit引擎在单独的ViewCont

ios - AudioKit:长笛的无限播放时间和频移?

我似乎无法让AudioKit乐器按照我喜欢的方式运行:我希望能够连续改变频率,并且让乐器播放无限长的时间,就像振荡器一样。但是,我什至无法获得像下面这样的简单Playground来输出任何声音://:##Flute//:PhysicalmodelofaFluteimportAudioKitPlaygroundsimportAudioKitletplayRate=2.0letflute=AKFlute()letreverb=AKReverb(flute)vartriggered=falseletperformance=AKPeriodicFunction(frequency:playRa