歌曲变速变调(SONG_SPEED,用于解码) ============================================== AD16N 和 AW30N SDK均提供混响(echo)音效,该功能由 app_modules_h.c 里的 HAS_SONG_SPEED_EN 宏控制开关。 song_speed一般用于歌曲变速变调,支持单双声道。在96M时钟下使用song_speed解码48K mp3时,需要使用快速计算模式。计算模式由变量PSFAST_FLAG进行配置,使用快速计算模式时,BUF需要增大256个字节。 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 配置参数 ########################## .. image:: 18-2-1-song_speed_config.png :alt: "图1 歌曲变速变调参数配置和初始化" :align: center .. centered:: 图1 歌曲变速变调参数配置和初始化 相关函数 ######################## 函数void \*link_song_speed_sound(void \*p_sound_out, void \*p_dac_cbuf, void \**pp_effect, u32 in_sr, u8 ch) ************************************************************************************************************************** 该函数为串联音频链路的标准接口,实现响应算法的启动,并添加到音频链路上,其中参数::: | ① 返回值:启动之后最新的音频通道句柄; | ② void \*p_sound_out: 当前算法前级的音频通道句柄; | ③ void \*p_dac_cbuf: 输出到DAC的OBUF; | ④ void \**pp_effect: 存放当前音效算法的控制句柄指针的指针; | ⑤ u32 sr: 当前输入音频的采样率; | ⑥ u8 ch: 当前使用的声道数; 函数void \*song_speed_phy(void \*obuf, PS69_CONTEXT_CONF \*psp_parm, void \**ppsound) ****************************************************************************************************** | ① 返回值:当前算法的音频通道句柄的指针; | ② void \*obuf: 输出到DAC的OBUF; | ③ PS69_CONTEXT_CONF \*psp_parm: 音效参数; | ④ void \**ppsound: 当前算法的音频通道句柄;