Rockchip · AI & Linux Hub

Экран и звук

Rockchip VQE: модули, интерфейсы и полные параметры

Rockchip VQE: модули, интерфейсы и полные параметры — V1.7.0

· ArmSoM Editorial · Rockchip source documentation · 10 мин чтения

Платформенная справка ArmSoM с полным техническим содержанием Rockchip. Проверяйте плату, SoC, SDK/BSP, ядро и аудиоаппаратуру/библиотеки; поддержка всех плат не заявляется. Результаты и журналы не являются тестами ArmSoM. Команды и аппаратная проверка не выполнялись.

Исходник V1.7.0 описывает VQE-интерфейсы, модули и параметры; область — все серии/общая. Китайская версия использует китайские рисунки, остальные английские. Испытания проведены в студии Rockchip и служат лишь справочными результатами исходника.

ArmSoM Docs · Rockchip Linux

1. обзор

1.1 возможности аудиоалгоритма

Алгоритм микрофонной решётки включает AEC, BF, ANR и AGC. AEC удаляет звук громкоговорителя, попавший в микрофоны; BF усиливает речь и подавляет когерентный и окружающий шум; ANR подавляет окружающий шум; AGC повышает уровень речи.

2. аудиоалгоритм

Основные задачи многомикрофонной обработки — подавление эха и улучшение речи.

2.1 модули аудиоалгоритма

Полный алгоритм содержит показанные на рис. 1 блоки:

2.1.1 вспомогательные модули

Вспомогательные блоки: High pass-Filter, pre-emphasis и de-emphasis. ФВЧ удаляет низкочастотный шум схемы; предыскажение усиливает высокочастотную энергию речи и улучшает её SNR при передаче, а обратная коррекция на выходе восстанавливает спектр.

2.1.2 AECмодуль

AEC состоит из MDF и Delay. MDF — линейное подавление эха; Delay оценивает задержку между опорным сигналом обратного захвата и микрофонным сигналом.

2.1.3 Beamformingмодуль

Beamforming (BF) включает FAST_AEC, WAKEUP, ANR, Dereverb, AES, AGC, CNG, DTD, Howling, EQ и DOA.

FAST_AEC: линейное подавление остаточного эха. WAKEUP: специальное пробуждение RK по ключевому слову. ANR: подавление окружающего шума, ветра и импульсного шума. Dereverb: удаление реверберации. AES: дополнительное подавление остаточного эха. GSC: формирование луча, включено по умолчанию для многомикрофонного входа; дополнительные Fix/GSC/CHN_SELECT включают фиксированное направление/постфильтрацию/специальное расширение mic. AGC: регулировка уровня речи. CNG: комфортный шум. DTD: обнаружение одновременной речи. Howling: подавление самовозбуждения. EQ: регулировка усиления по полосам. DOA: определение направления источника. AINR: AI-подавление шума, кроме человеческого голоса.

2.2 тракт аудиоалгоритма

Микрофонная решётка предоставляет два речевых тракта.

2.2.1 тракт пробуждения

Тракт пробуждения обеспечивает ответ устройства и локализацию, выдавая звук из положения говорящего; см. рис. 1.

Технический рисунок оригинала

Рис. 1. Блок-схема пробуждения

  1. После захвата массива AEC удаляет линейное эхо, затем FAST_AEC внутри BF дополнительно подавляет эхо.

  2. Фиксированный луч выдаёт усиленную речь.

  3. Dereverb удаляет остаточную реверберацию.

  4. Wakeup определяет положение источника.

  5. Локализованная речь проходит постфильтр GSC. Примечание: облачный тракт распознавания, отмеченный синими стрелками, отправляет её непосредственно на выход AGC.

  6. ANR дополнительно подавляет шум обработанной речи.

  7. AGC усиливает речь для передачи удалённому собеседнику.

2.2.2 разговорный тракт

Разговорный тракт не выполняет пробуждение; кроме Wakeup, блоки аналогичны предыдущему тракту. См. рис. 2.

Технический рисунок оригинала

Рис. 2. Блок-схема разговора

  1. После захвата AEC удаляет линейное эхо.

  2. ANR/AINR, Dereverb и AES оценивают шум/реверберацию и подавляют остаточное эхо.

  3. Формирователь луча выдаёт улучшенную речь, поддерживая локализацию источника и направленный захват.

  4. AGC и EQ усиливают речь перед передачей удалённому собеседнику.

2.3 результаты аудиоалгоритма

2.3.1 AECрезультаты модуля

Ниже показаны результаты двух трактов многомикрофонного алгоритма. Использовались громкоговоритель WV2215, микрофон MSM261D4030H1CPM и студия Rockchip. Рис. 3 показывает частотную характеристику и искажения WV2215. Для статистики использовали пробуждение с шумом: левый канал — вход, правый — обработанный выход. Слева представлены спектры, справа — временная статистика на участке чистого шума.

Линейное подавление эха: запись сделана не в профессиональной акустической среде и содержит окружающий шум; результаты только справочные. Рис. 4 — линейное подавление эха; среднее подавление около 30dB. Далее — нелинейное подавление.

Технический рисунок оригинала

Технический рисунок оригинала

Технический рисунок оригинала

Технический рисунок оригинала

Нелинейное подавление: запись также сделана не в профессиональной акустической среде, результаты только справочные. Рис. 5 — нелинейное подавление эха.

Технический рисунок оригинала

Технический рисунок оригинала

В этом сценарии среднее подавление эха около 40dB.

2.3.2 BFрезультаты модуля

Тест помех проводился в студии Rockchip. Испытательный источник: 70dB на 1m и расстояние 5m до массива. Источник помех: 64dB на 1m и расстояние 1m до массива. Далее результаты пробуждения в обычной среде, только для справки.

Технический рисунок оригинала

Технический рисунок оригинала

Рис. 6. Пробуждение: среднее подавление фонового шума около 28dB.

Примечание: для пробуждения используется только фиксированный луч, чтобы не повреждать речь. Далее справочные результаты разговорного тракта в обычной среде.

Технический рисунок оригинала

Технический рисунок оригинала

Рис. 7. Разговорный тракт: среднее подавление фонового шума около 36dB.

3. вызов интерфейсов аудиоалгоритма

Порядок вызова библиотеки:

  1. Настройка открытых параметров микрофонного алгоритма. Параметры AEC зависят от акустической конструкции продукта, компонентов и требований. Для первичной интеграции можно использовать значения по умолчанию, затем настраивать по результату. Параметры изменяют в rkaudio_preprocess.h, передавая путь этого файла при инициализации.

  2. Инициализация после начала разговора, до покадровой обработки. Интерфейс rkaudio_preprocess_init вызывается так:

st_ptr = rkaudio_preprocess_init(mSampleRate, mBitPerSample, num_src_channel,
num_ref_channel, &param);

mSampleRate поддерживает 8kHz, 16kHz, 24kHz, 32kHz, 44.1kHz, 48kHz; mBitPerSample — 16bit; num_src_channel — число mic-каналов, num_ref_channel — число каналов обратного захвата, param — параметры из rkaudio_preprocess.h, описанные далее. Инициализация задаёт внутренние параметры и выделяет память. При успехе возвращается st_ptr, при ошибке NULL.

  1. Покадровая обработка речи в реальном времени. При кадре 16ms и частоте 16k каждый кадр содержит 256 отсчётов. Вызов rkaudio_preprocess_short:
out_size = rkaudio_preprocess_short(st_ptr, (short*)in, out, in_size / 2, &is_wakeup);

st_ptr получен при инициализации; in — вход в byte, out — выход в short. in_size — число byte за кадр: 256 * num_channel * 2.

  1. После разговора память освобождается через rkaudio_preprocess_destory(st_ptr) и rkaudio_param_deinit(&param).

4. настройка параметров

Параметры микрофонной решётки задаются в rkaudio_preprocess.h.

4.1 общие модулинастройка параметров

Основные группы — AEC через rkaudio_aec_param_init() и BF через rkaudio_preprocess_param_init(). Ниже базовые настройки числа входных каналов.

#define NUM_CHANNEL         4  /* 设置总通道数,即mic通道以及回采通道之和 */
#define NUM_REF_CHANNEL     2  /* 设置回采通道数,该处设置2回采通道 */
#define NUM_DROP_CHANNEL    0  /* 设置不处理的回采通道数,置0没有丢弃,置为N(N>0)时丢弃回采通路的最后N
路 */
#define REF_POSITION        0  /* 回采位置,0为回采通道位于mic数据最前⾯,1则在最后⾯ */
static short Array[NUM_CHANNEL] = { 0, 1, 2, 3};  /* 设置通道顺序,⽤于不规则⻨克⻛调整 */

4.2 AECмодульнастройка параметров

AEC настраивается через rkaudio_aec_param_init(). Подмодулями управляет model_aec_en, включая EN_DELAY и EN_ARRAY_RESET; подробности в комментариях к коду.

param->pos               /* 回采通道所在位置,通过宏REF_POSITION赋值 */
param->drop_ref_channel  /* 不处理的回采通道数,通过宏NUM_DROP_CHANNEL赋值 */
param->model_aec_en      /* 置0表⽰不开除了线性AEC以外的⼦模块,置EN_DELAY开启延迟估计,软回采必须开
启,置EN_ARRAY_RESET开启输⼊⾳频通道顺序重排功能 */
param->delay_len         /* 延迟估计不开时为默认硬回采延迟点,延迟估计打开时为起始延迟估计点 */
param->look_ahead        /* 缓存⻨克⻛端数据⻓度,除⾮已知采集⻨克⻛信号晚于回采信号可配置,其余情况默认
置0 */
param->Array_list        /* 配置⾳频通道顺序,通过数组Array赋值 */
param->filter_len        /* 配置线性AEC滤波器⻓度,设置越⻓对于回声估计越准确,但收敛速度相应越慢且算⼒
越⼤。⼀般可配置为2/4/6/8 */
param->delay_para = rkaudio_delay_param_init() /* 延时估计⼦模块参数设置 */

4.3 подмодуль оценки задержкинастройка параметров

Delay настраивается через rkaudio_delay_param_init():

param->MaxFrame      /* 延时估计最⻓估计帧数,⼀般场景建议设为16 */
param->LeastDelay    /* 延时估计最短估计帧数,MaxFrame没有特别⼤时建议设为0 */
param->JumpFrame     /* 初始跳过帧数,⼀般设为12 */
param->DelayOffset   /* offset帧数,⽤于防⽌延时估计过⼤导致⻨克⻛信号晚于回采信号,⼀般设为1 */
param->MicAmpThr     /* mic端最⼩能量阈值,低于该值不更新延时估计结果,⼀般设为50 */
param->RefAmpThr     /* ref端最⼩能量阈值,低于该值不更新延时估计结果,⼀般设为50 */
param->StartFreq     /* 延时估计起始频段的频率,⼀般选择语⾳集中频段,根据实际收⾳效果调整,⼀般设为500
*/
param->EndFreq       /* 延时估计终⽌频段的频率,⼀般选择语⾳集中频段,根据实际收⾳效果调整,⼀般设为4000
*/
param->SmoothFactor  /* 平滑系数,⼀般取值为[0.95,1),越⾼延时估计结果越稳定,越低延时估计结果更新越快,
⼀般设为0.97/0.99 */

4.4 BFмодульнастройка параметров

BF включает EN_Fastaec, EN_Wakeup, EN_Dereverberation, EN_AES, EN_Agc, EN_Anr, EN_STDT, EN_CNG, EN_EQ, EN_HOWLING, EN_DOA, EN_WIND, EN_AINR и другие подмодули; см. комментарии.

typedef enum RKPreprocessEnable_
{
    EN_Fastaec = 1 << 0,          /* 线性残留回声消除模块,该功能⽤于唤醒通路进⼀步消除回声 */
    EN_Wakeup = 1 << 1,           /* 唤醒模块 */
    EN_Dereverberation = 1 << 2,  /* 去混响模块 */
    EN_Nlp = 1 << 3,              /* ⾮线性残留回声消除模块,该功能⽤于通话通路进⼀步消除回声(改模块已
弃⽤) */
    EN_AES = 1 << 4,              /* ⾮线性残留回声消除模块 */
    EN_Agc = 1 << 5,              /* ⾃动增益控制模块 */
    EN_Anr = 1 << 6,              /* 噪声抑制模块 */
    EN_GSC = 1 << 7,              /* 波束后滤波模块,⽤于进⼀步消除噪声,视实际效果决定是否打开 */
    GSC_Method = 1 << 8,          /* 关闭则GSC采⽤LMS⽅法,打开GSC采⽤RLS⽅法,RLS算⼒⾼于LMS算法
*/
    EN_Fix = 1 << 9,              /* 启⽤固定⽅向波束 */
    EN_STDT = 1 << 10,            /* 单双讲检测模块 */
    EN_CNG = 1 << 11,             /* 舒适度噪声模块 */
    EN_EQ = 1 << 12,              /* EQ调节模块 */
    EN_CHN_SELECT = 1 << 13,      /* ⽤于定制化扩展MIC需求场景 */
    EN_HOWLING = 1 << 14,         /* 去啸叫模块,视实际场景需求决定是否打开 */
    EN_DOA = 1 << 15,             /* 声源定位模块,⽤于估计声源⽅向,视实际场景需求决定是否打开 */
    EN_WIND = 1 << 16,            /* 去⻛噪模块,视实际场景需求决定是否打开 */
    EN_AINR = 1 << 17,            /* AI降噪模块,若开启该模块则ANR模块将强制关闭 */
} RKPreprocessEnable;

Общая конфигурация BF через rkaudio_preprocess_param_init():

param->model_bf_en  /* ⼦模块开关,置0表⽰bf模块在⾮多⻨情况下没有开启任何模块,当在多⻨情况下会默认跑波
束模块,其余⼦模块可根据需要⾃⾏开关 */
param->Targ = 0;  /* 当EN_Fix打开时,设置拾⾳⽅向 */
param->ref_pos = REF_POSITION;  /* 回采通道所在位置,通过宏REF_POSITION赋值 */
param->num_ref_channel = NUM_REF_CHANNEL;  /* 回采总通道数,通过宏NUM_REF_CHANNEL赋值 */
param->drop_ref_channel = NUM_DROP_CHANNEL;  /* 不处理的回采通道数,通过宏NUM_DROP_CHANNEL赋值 */
param->anr_para = rkaudio_anr_param_init_tx();         /* ANR模块参数配置 */
param->dereverb_para = rkaudio_dereverb_param_init();  /* 去混响模块参数配置 */
param->aes_para = rkaudio_aes_param_init();            /* AES模块参数配置 */
param->dtd_para = rkaudio_dtd_param_init();            /* DTD模块参数配置 */
param->agc_para = rkaudio_agc_param_init();            /* AGC模块参数配置 */
param->cng_para = rkaudio_cng_param_init();            /* CNG模块参数配置 */
param->eq_para = rkaudio_eq_param_init();              /* EQ模块参数配置 */
param->howl_para = rkaudio_howl_param_init_tx();       /* 啸叫模块参数配置 */
param->doa_para = rkaudio_doa_param_init();            /* DOA模块参数配置 */

4.5 ANRмодульнастройка параметров

ANR подавляет окружающий шум речи и настраивается через rkaudio_anr_param_init():

param->noiseFactor     /* 噪声估计⽔平,⼀般取值范围在[0.5f,1.5f],越⼤噪声消除越⼲净 */
param->swU             /* 噪声估计帧⻓时间⽚,⼀般取值范围[2,20],设置越⼤对平稳噪声估计越准确,对突变噪
声收敛越慢;反之对突变噪声收敛越快但容易造成语⾳过消 */
param->PsiMin          /* 语⾳存在概率判断阈值,取值范围[0.0f,1.0f],,设置越⼤,噪⾳消除效果越强 */
param->PsiMax          /* 语⾳存在概率判断阈值,取值范围[0.0f,1.0f],设置越⼤,噪⾳消除效果越强 */
param->fGmin           /* 噪声消除最⼩值,取值范围[0.0f,1.0f],设置越⼩,噪⾳消除效果越强 */

param->Sup_Freq1       /* 恒频噪声抑制点1,取值范围[0,1/2*sample rate],始终抑制设置点噪声 */
param->Sup_Freq2       /* 恒频噪声抑制点2,取值范围[0,1/2*sample rate],始终抑制设置点噪声*/
param->Sup_Energy1     /* 恒频噪声抑制点1对应的能量阈值,⼀般取值100000,当频点能量超出该值时会对恒频噪
声的估计进⾏更新 */
param->Sup_Energy2     /* 恒频噪声抑制点1对应的能量阈值,⼀般取值100000,当频点能量超出该值时会对恒频噪
声的估计进⾏更新 */

param->InterV          /* 取帧间隔,⼀般取值范围[2,20],设置越⼤估计的噪声越平稳,类似swU功能 */
param->BiasMin         /* 噪声补偿,⼀般取值范围[1.0f, 2.0f],设置越⼤噪声消除效果越强 */
param->UpdateFrm       /* 快速收敛⻓度,⼀般设置为15,在开头15帧快速收敛 */
param->NPreGammaThr    /* 纯噪声概率估计阈值,⼀般取值范围(3.0f,5.0f),设置越⼤噪声消除效果越强 */
param->NPreZetaThr     /* 纯噪声概率估计阈值,⼀般取值范围(1.0f,3.0f),设置越⼤噪声消除效果越强 */
param->SabsGammaThr0   /* 语⾳不存在概率估计阈值,⼀般取值范围(0.5f,1.5f),设置越⼤噪声消除效果越强*/
param->SabsGammaThr1   /* 语⾳不存在概率估计阈值,⼀般取值范围(2.f,4.0f),设置越⼤噪声消除效果越强*/
param->InfSmooth       /* 输⼊信号平滑系数,取值范围(0.0f,1.0f) */
param->ProbSmooth      /* 语⾳存在概率平滑系数,取值范围(0.0f,1.0f) */
param->CompCoeff       /* 噪声补偿,⼀般取值范围[1.0f, 2.0f],对于低于平均噪声估计的频段进⾏补偿,设置
越⼤噪声消除效果越强 */
param->PrioriMin       /* 先验信噪⽐最⼩值,取值范围(0.0f, 0.5f),设置越⼤噪声消除效果越弱 */
param->PostMax         /* 后验信噪⽐最⼤值,⼀般设为40 */
param->PrioriRatio     /* 先验信噪⽐平滑系数,取值范围(0.0f,1.0f),设置越⼤噪声消除效果越强 */
param->PrioriRatioLow  /* 先验信噪⽐平滑系数,取值范围(0.0f,1.0f),设置越⼤噪声消除效果越强 */
param->SplitBand       /* 分频段index,取值范围[0,32],对于低于该index的先验信噪⽐⽤PrioriRatioLow
进⾏平滑,反之⽤PrioriRatio */
param->PrioriSmooth    /* 先验信噪⽐平滑系数,取值范围(0.0f,1.0f),设置越⼤噪声消除效果越强 */
param->TranMode        /* 冲击噪声开关,置0表⽰关闭,置1表⽰使⽤检测消除⽅法,置2表⽰使⽤估计消除⽅法 */

4.6 AINRмодульнастройка параметров

AINR расширяет классический ANR и лучше подавляет нестационарный шум, например ветер и удары, сохраняя более естественное звучание. AINR и ANR дополняют друг друга и могут работать отдельно или совместно.

param->mode = 2;          /* 后处理模式,可选模式1和2,默认模式2。模式1的语⾳保护及平滑⼤于模式2,适合远
场⼩语⾳场景;模式2降噪深度⼤于模式1,适合⼤背噪场景 */
param->alpha1 = 0.35;     /* 平滑系数,⼀般设为0.35,取值范围[0,0.65] */
param->mini_gain = 0.01;  /* 环境⾳保留占⽐,取值范围 [0.0,1.0],⼀般设置范围[0.005,0.1],取值越⼤环
境⾳保留越⼤ */
param->pregain = 1.0;     /* 输⼊⾳频送⼊AINR前的预增益,默认值1.0,前端增益过低或过⾼导致效果异常时可
增⼤或减⼩该值 */
/* 以下为保留参数作为扩展⽤ */
param->alpha2 = 0;        /* 保留参数 */
param->preserve1 = 0.0;   /* 保留参数,mode==1时该参数作为噪声⻔限,数值越⼤噪声消除越多,建议取值:1.0
*/
param->preserve2 = 0.0;   /* 保留参数,mode==1时该参数作为语⾳⻔限,数值越⼩语⾳保留越多,建议取值范
围:[4,6] */
param->preserve3 = 0;     /* 保留参数 */
param->preserve4 = 0;     /* 保留参数 */

4.7 удаление реверберациинастройка параметров

Удаление реверберации настраивается через rkaudio_dereverb_param_init():

param->rlsLg       /* RLS滤波器阶数,⽤于唤醒模块去混响,⼀定范围内,阶数越⼤,去混响效果越强,算⼒消耗越
⼤,建议取值:4 */
param->curveLg     /* 分布曲线阶数,⽤于通话模块去混响,阶数越⼤,去混响效果越强,越容易过消,建议取值:10
*/
param->delay       /* RLS滤波器延时,决定早期混响保留程度,建议取值:2 */
param->forgetting  /* RLS滤波器遗忘因⼦,因⼦越⼩,rls去混响能⼒越强,越容易过消,建议范围:0.98-0.999
*/
param->T60         /* 混响时间估计值(单位:s),越⼤,去混响能⼒越强,但是越容易过消除,低混响场景建议取值
0.68,中⾼混响场景建议取值1.5 */
param->coCoeff     /* 互相⼲性调整系数,防⽌过消除,越⼩能⼒越强,低混响场景建议取值2,中⾼混响场景建议取
值1 */

4.8 AESмодульнастройка параметров

AES используется для нелинейной обработки и настраивается через rkaudio_aes_param_init().

param->Beta_Up        /* 上升速度,该值越⼤则⾮线性抑制越强,建议0.001-0.01之间  */
param->Beta_Down      /* 下降速度,该值越⼤则⾮线性抑制越弱,建议0.001-0.01之间  */
param->Beta_Up_Low    /* 低频段上升速度,特性以及取值同Beta_Up */
param->Beta_Down_Low  /* 低频段下降速度,特性以及取值同Beta_Down */
param->low_freq       /* 低频分段 */
param->high_freq      /* ⾼频分段 */
param->THD_Flag       /* 置1开启谐波失真抑制,置0则关闭 */
param->HARD_Flag      /* 置1开启Hard模式,对于回声消除抑制更强,但也有可能造成语⾳过消 */
int i, j;

/**
 * 3列分别对应低频分段、中频分段、⾼频分段(由上⾯的low_freq以及high freq设置
 * 第⼀⾏表⽰各频段残留回声的⽐例最⼩值,⼀般建议取值范围[1.0f, 5.0f],设置越⼤,回声消除效果越强
 * 第⼆⾏表⽰各频段消除残留回声的⽐例,⼀般建议取值范围[1.0f, 3.0f],设置越⼤,回声消除效果越强
 */
param->LimitRatio[2][3]

/**
 * 谐波抑制频段,最多设置4个频段,不需要时该⾏可以全置0
 * 每⼀⾏表⽰⼀个频段,第⼀列表⽰频段起始点,第⼆列表⽰频段终⽌点。取值范围均为[0,1/2*sample rate]
 */
param->ThdSplitFreq[4][2]

/**
 * 谐波抑制程度,对应上表的四个频段,配置的对应消除⽐例,当上⾯有全0⾏时,该表对应⾏的设置也将⽆效
 * 从第⼀列到最后⼀列分别表⽰频段内有可能成为⼆次到⼗⼀次谐波时消除相应基频的⽐例,⼀般建议取值范围
 * [0.001f,1.0f],设置越⼤,消除效果越强
 */
param->ThdSupDegree[4][10]

/**
 * 配置为Hard模式的频段以及计算平均增益的频段,第⼀列表⽰起始,第⼆列表⽰终⽌,取值范围均为
 * [0,1/2*sample rate],配置为Hard模式的频段最多设置4个,最后⼀⾏为计算平均增益的频段,
 * 该频段将在下⼀个参数HardThreshold中进⾏使⽤
 */
param->HardSplitFreq[5][2]

/**
 * Hard模式开启阈值,4个阈值分别对应上个参数配置的4个频段
 * 使⽤平均增益频段和该参数配置的阈值进⾏对⽐,当平均增益低于阈值时,对应的频段会开启Hard模式
 */
param->HardThreshold[4]

4.9 AGCмодульнастройка параметров

AGC усиливает речь и настраивается через rkaudio_agc_param_init():

param->attack_time = 400.0;   /* 建议范围:20~600ms。触发时间,即AGC增益上升所需要的时间 */
param->release_time = 400.0;  /* 建议范围:20~600ms。施放时间,即AGC增益下降所需要的时间 */
param->max_gain = 30.0;       /* 建议范围:0~50dB。最⼤增益,同时也是线性段增益 */
param->max_peak = -3.0;       /* 取值范围:0~-87dB。经AGC处理后,输出语⾳的最⼤能量 */
param->fRth0 = -65.0f;        /* 取值范围:0~-87dB。噪声⻔阈值,低于该值的语⾳不被增益 */
param->fRth1 = -60.0f;        /* 取值范围:0~-87dB。扩张段结束能量dB阈值,⾼于该值的语⾳以max_gain增
益 */
param->fRth2 = -35.0f;        /* 取值范围:0~-87dB。压缩段起始能量dB阈值,⾼于该值的语⾳增益逐渐下降⾄
0dB */

Примечание 1: в области компрессии fRth2 + max_gain должно быть меньше 0dB и max_peak, иначе возникает ограничение амплитуды. Примечание 2: приведены действующие параметры AGC; остальные устарели. Старые версии могли сохранять устаревшие параметры для совместимости, будущие версии будут постепенно их удалять.

4.10 комфортный шумнастройка параметров

CNG добавляет комфортный белый шум во время разговора, существует только в обработке записи и обычно выключен.

param->fSmoothAlpha  /* 取值范围:0.0f~1.0f,施加舒适噪声平滑度,默认0.92 */
param->fSpeechGain   /* 取值范围:0.0f~1.0f,施加舒适噪声语⾳纹理模拟程度,默认0.3 */
param->fGain         /* 建议范围:0~50dB,施加舒适噪声幅度⽐例,默认2 */
param->fMpy          /* 建议范围:0~50dB,⽩噪随机数⽣成幅度,默认5 */

4.11 DTDмодульнастройка параметров

DTD определяет состояние одновременной или односторонней речи.

param->ksiThd_high = 0.70f  /* 单双讲判决阈值,ceil阈值,⾼于该阈值判断为单讲 */
param->ksiThd_low = 0.50f;  /* floor阈值,低于该阈值判断为单讲 */

Примечание: это начальный порог; алгоритм обновляет его адаптивно.

4.12 рекомендуемые параметры

Рекомендуемые параметры пробуждения:

param->model_bf_en = EN_Wakeup | EN_Fastaec | EN_STDT | EN_Agc;

Рекомендуемые параметры разговора:

param->model_bf_en = EN_Fastaec | EN_STDT | EN_AES | EN_Anr | EN_Dereverberation | EN_Agc;

Другие статьи по теме → · Учебные маршруты →