【问题标题】:Creating a ring/Circular buffer in matlab/simulink在 matlab/simulink 中创建一个环形/循环缓冲区
【发布时间】:2014-05-02 14:03:40
【问题描述】:

我正在尝试在 Simulink 中实现一个使用环形/圆形缓冲区的音高变换算法,但我不知道这是如何完成的。我使用麦克风流式传输音频信号,我想将数据存储在循环缓冲区中以更改音频的音高,我想知道如何实现这样的缓冲区。

【问题讨论】:

    标签: circular-buffer pitch-shifting


    【解决方案1】:

    最简单的方法是以循环方式递增数组的索引。

    bufSize = 10;
    circBuffer = zeros(bufSize,1);
    
    for i = 1:15
      ind = mod(i-1,bufSize) + 1;
      circBuffer(ind) = i;
    end
    

    你需要比这更复杂的东西吗?

    【讨论】:

    • 啊,谢谢,我想我明白了。剩下的问题是如何将数据流式传输到缓冲区中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-13
    • 2010-09-17
    • 2019-05-25
    • 2014-04-22
    相关资源
    最近更新 更多