在音频回调中随时间间隔更改变量

yun

所以我想在一段时间内在for循环中更改变量。在我的代码中,我的音频回调基本上运行以下伪代码:

int start = 0, target = 100;
for (int i = 0; i < frames; i++) {
    [object makeSineWave];
    [object useNum:start];
    if (target > start) {
        // Increase start over the span of time frame
    }
}

我想做的是在一个时间间隔内(以1秒为简单),将对数刻度的起始值增加到对数刻度。我如何在音频回调的for循环中跟踪时间?

编辑:猜猜我正在尝试进行过滤器扫描...我想现在考虑到它会类似于正弦扫描吗?更多代码

OSStatus RenderTone(void *inRefCon,
                AudioUnitRenderActionFlags *ioActionFlags,
                const AudioTimeStamp *inTimeStamp,
                UInt32 inBusNumber,
                UInt32 inNumberFrames,
                AudioBufferList *ioData) {
    // Get Audio Data
    AudioData *data = (__bridge AudioData *)inRefCon;
    static Float32 phs = 0, sub_phs = 0;
    Float32 freq = data->freq;
    // Calculate phases
    Float32 phs_incr = 2 * M_PI * freq / data->srate;
    Float32 sample;

    // Buffers
    Float32 *bufL = (Float32 *)ioData->mBuffers[0].mData;
    Float32 *bufR = (Float32 *)ioData->mBuffers[1].mData;

    // Start at 1 hz, target is 500 hz
    int start = 1, target = 500;

    // Generate Samples
    for (UInt32 i = 0; i < inNumberFrames; i++) {
        // Sine waveform
        sample = sinf(phs);
        sample = [data->filter processFilter:sample fc:start];

        // change start here using current time?
        // should not increase to target immediately, over span of 1 second

        bufL[i] = buf[R] = sample;

        // Increment phase
        phs += phs_incr;
        // Wrap phase
        phs = wrapPhase(phs);
    }
}
yun

看来我是通过查看CCRMA的STK来找到如何做的……我希望早点找到的宝贵资源!

https://ccrma.stanford.edu/software/stk/

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

回调中的变量不能更改

来自分类Dev

在回调函数中更改类变量

来自分类Dev

识别R中随时间变化的变量

来自分类Dev

c ++根据时间更改变量的值

来自分类Dev

根据当前时间更改变量

来自分类Dev

在类中更改变量

来自分类Dev

更改变量中的链接

来自分类Dev

在函数中更改变量

来自分类Dev

在AJAX回调中使用间隔,变量不更新

来自分类Dev

如何随时间动态更改 html 中 <label> 的颜色

来自分类Dev

更改在C中循环的回调函数中的全局变量

来自分类Dev

在C中循环的回调函数中更改全局变量

来自分类Dev

不能从回调中永久改变类的状态

来自分类Dev

安排Web音频缓冲区中的回调

来自分类Dev

回调中的Javascript变量范围?

来自分类Dev

golang:评估回调声明中的变量

来自分类Dev

在C回调中捕获变量

来自分类Dev

回调中Python变量的数量

来自分类Dev

回调中的Javascript变量作用域?

来自分类Dev

在C回调中捕获变量

来自分类Dev

Laravel:块回调中的外部变量

来自分类Dev

ReactJs 试图从回调中获取变量

来自分类Dev

无法在回调中设置角度变量

来自分类Dev

OpenGL / GLUT更改glutMainLoop()中的回调

来自分类Dev

在LINQ select中更改变量

来自分类Dev

在Python中临时更改变量的值

来自分类Dev

如何在程序中更改变量

来自分类Dev

在不同的处理程序中更改变量

来自分类Dev

在pyspark show()中更改变量的格式