7. 歌曲变速变调(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个字节。
7.1. 配置参数
![]()
图1 歌曲变速变调参数配置和初始化
7.2. 相关函数
7.2.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: 当前使用的声道数;
7.2.2. 函数void *song_speed_phy(void *obuf, PS69_CONTEXT_CONF *psp_parm, void **ppsound)
① 返回值:当前算法的音频通道句柄的指针;② void *obuf: 输出到DAC的OBUF;③ PS69_CONTEXT_CONF *psp_parm: 音效参数;④ void **ppsound: 当前算法的音频通道句柄;