通常硬件波表midi合成系统(DSP,MCU...)从外部存储器读取音频样本,再做pitch,LPF,ADSR等处理后输出给DAC。
本人对处理器从外部存储器读取audio sample的速度做以下分析:
设定要求实现64复音,输出为44.1KHz,波表audio采样为44.1KHz。
设定处理器内部audio的frame为64点。当64复音全部用满时,在一个frame时间内(64/44.1 ms),需要从外部存储器(并行nor flash)中读出至少:64复音*64样本点*2字节=8192 byte,通常从并行nor flash中读取1个字节需要70~90ns,那么在一个frame时间内(64/44.1=1.45 ms)就要有0.57ms完全是在读取flash,即只有60%的时间可以供处理器做audio的处理。
请教专业人士,什么办法可以将读取flash占用的时间减少至10%一下?
问题过于专业,如果问错地方,还请见谅!本人QQ:93508153,欢迎讨论。