我是Audiokit的新手,我正在尝试对来自麦克风的输入音频进行实时数字信号处理 .
我知道我想要的数据是在AKAudioFile的FloatChannelData中,但是如果我想实时获得这个数据怎么办?我目前正在使用AKMicrophone,AKFrequencyTracker,AKNodeOutputPlot,AKBooster,我正在绘制跟踪器的幅度数据 . 但是,该数据与音频信号不同(如您所知,它是RMS) . 有什么方法可以从麦克风中获取信号的Float数据吗?甚至从AKNodeOutputPlot?我只需要读取权限 .
AKSettings.audioInputEnabled = true
mic = AKMicrophone()
plot = AKNodeOutputPlot(mic, frame: audioInputPlot.bounds)
tracker = AKFrequencyTracker.init(mic)
silence = AKBooster(tracker,gain:0)
AudioKit.output = silence
AudioKit.start()
推荐here的创建者:
AKNodeOutputPlot工作,它的一个短文件 . 你基本上只是点击节点并抓取数据 .
如果有一个情节实例(AKNodeOutputPlot),麦克风(AKMicrophone)并希望将这些值输出到标签,我的viewController中的效果如何?
1 回答
使用您想要从中获取数据的节点 . 我在上面的引文中使用了AKNodeOutputPlot,因为它非常简单,只是将该数据用作绘图的输入,但是您可以获取数据并对其执行任何操作 . 在此代码中(来自AKNodeOutputPlot):
您可以实时获取缓冲区数据 . 在这里,我们只是将它发送到“updateBuffer”,在那里它被绘制,但不是绘图,你会做其他事情 .