我对AudioKit框架非常陌生,我一直在尝试更多地了解DSP方面。虽然在源代码中翻找,但我意识到AKNodeOutputPlot不会以与其他人相同的方式从节点中提取数据。
在AKAmplitudeTracker的DSP代码中,为每个通道计算RMS值,并将结果短暂写入输出缓冲区,但在for循环结束时,通过将输出设置为原始输入,基本上绕过了节点:
public class PartBLL
{
public static int AssignPartToShelf(string action, string userName, string itemNumber, string shelfNumber, string userToken)
{
if (soldPartSetting == true)
{
partService.ServiceInstance.UndoSoldItem(part.ID.Value, userToken);
return 0;
}
}
}
这是有道理的,因为将RMS值输出到设备扬声器会听起来很糟糕,但是当此节点用作AKNodeOutputPlot对象的输入时,会绘制RMS值。
我假设leftEmplitude和rightAmplitude变量在某处被引用,但即使它们被清零,该图也可以正常工作。我有兴趣在不影响输出的情况下对信号做一些工作,所以我很喜欢有人可以帮我弄清楚AKPlot如何抓取这些数据。
干杯
答案 0 :(得分:1)
AKNodeOutputPlot适用于称为“tap”的东西:
还有一些其他的点击不一定仅用于用户界面:
https://github.com/AudioKit/AudioKit/tree/master/AudioKit/Common/Taps
Taps允许您检查通过另一个节点拉出的数据,而无需插入信号链本身。