已绑定手机 已实名认证
|
1、G711 Codec
1.1. 特征
●支持抑制背景杂音。
●支持动态适应背景噪音水平。
●支持音调抑制,具有一致的烦人音调。
●支持8000Hz、11025Hz、16000Hz、22050Hz、32000Hz、44100Hz、48000Hz采样率
●支持单声道/立体声数据
2、原理框图
1.3. 头文件
头文件位于 \code\lib\include\nvtaudlib\audlib_anr.h
1.4. 描述
ANR 用于抑制环境噪声,可以帮助人类感知听觉。 该算法可以检测无意义的噪声和一致的音调,并尝试抑制噪声。 有意义的信号尽可能地保存完好。 输入 PCM 数据的缓冲区大小(Block Size)应遵循表 1 中定义的规则。 最大块大小不受限制(由于系统上的可用内存)。SamplingRate | FFT Frame Size | Block Sizen=0,1,2,3…c=1 or 2(ChannelNum) | Minimum Block Size | 8000 Hz | 256 | (256+(128*n))*c | 256(Mono), 512(Stereo) | 11025 Hz | 256 | (256+(128*n))*c | 256(Mono), 512(Stereo) | 16000 Hz | 512 | (512+(256*n))*c | 512(Mono), 1024(Stereo) | 22050 Hz | 512 | (512+(256*n))*c | 512(Mono), 1024(Stereo) | 32000 Hz | 1024 | (1024+(512*n))*c | 1024(Mono), 2048(Stereo) | 44100 Hz | 1024 | (1024+(512*n))*c | 1024(Mono), 2048(Stereo) | 48000 Hz | 1024 | (1024+(512*n))*c | 1024(Mono), 2048(Stereo) |
客户可以修改和微调结构“ANR_Config”中注释为“用户配置”的一些配置。 但其他评论为“专业配置”的不建议修改,除非ANRdesigner。在第一次执行ANRdemo代码时,AUD_ANR_Detect()模块会根据当前环境噪声打印出一些音频特征。 这些噪声特征可以作为ANR默认值复制和更新到config_anr()函数中。虽然AN是一种自适应算法,但建议分配默认噪声特征以获得更好的音频质量。 立体声PCM数据应该具有隔行排列。 例如,PCMdata L0, R0, L1, R1, L2, R2... 是正确的顺序。 顺便说一句,左右声道在运行ANR时将遵循相同的ANR配置。 对于多流应用,每个流都可以独立配置。
1.4.1.API描述-配置ANR结构
/** Configuration of anr **/
struct ANR_CONFIG gstemuANR;
int config_anr_test(int BlkSzW, int sampling_rate, int Channels, struct ANR_CONFIG * sANR)
{
int i,SpecLen,tone_min_time;
......
1.4.2.API描述-ANR预初始化和初始化
/** ANR pre init **/
struct ANR_CONFIG gstemuANR;
UINT32 AecLibBufAddr;
int Ret_open=0;
AecLibBufAddr = (UINT32)malloc(test_file_size);
gstemuANR.memory_needed = audlib_anr_pre_init(&gstemuANR);
gstemuANR.p_mem_buffer = (void *)AecLibBufAddr;
Ret_open = audlib_anr_init(&anr_handle, &gstemuANR);
if(Ret_open){
printf("ANR_INIT Error , Code = [%d]\r\n",Ret_open); }
......
更多内容请下载附件查看
更多资料及方案及技术咨询电话:18928412535(微信同号)加号请备注 |
|