【Foinse Oscailte】 Rialú Aisfhuaimniú agus Macalla le haghaidh Micreafón Consól Measctha Bunaithe ar T5L
——Ó Fhóram Forbróirí DWIN
Tá áthas orainn cás foinse oscailte a bhuaigh duaiseanna ó Fhóram Forbróirí DWIN a chur i láthair inniu: rialú aisfhuaimneach agus macalla le haghaidh micreafón consól a mheascadh bunaithe ar an sliseanna T5L. Úsáideann ár n-innealtóir taispeáint réitigh 800x480 chun idirghníomhú leis an mbord forbartha aisfhuaimnithe tríd an UART 4 de T5L, rud a chumasaíonn coigeartú beacht ar pharaiméadair fuaime criticiúla ar nós aisfhuaimniú, macalla, fuaim fliuch, fuaim thirim, fuaimiúil, meath agus moill le haghaidh éifeachtaí fuaime níos fearr.
[Ábhair Chomhéadain]



[Dearadh Tionscadail GUI]

【Tionscadal C51】
(1) Is é seo a leanas príomhchlár an scáileáin:
folús príomhlíon(){
INIT_CPU();//Túsú an Chórais
PORT_Init();//Tosaigh port IO
T0_Init();//Cuir an t-amadóir i bhfeidhm 0
T2_Init();//Cuir an t-amadóir i bhfeidhm 2
my_UART4_Init(115200);
uart_init();//Cuir an port srathach ar bun
ws2812_writ_byte(8);//Cuir tús le solas LED
RetMicSet();
moill_ms(1000);
AthrúPage(1);
agus(1){
Uart_Handle_all();
OneMsHandle();//1M gach uair
TenMsHandle();
Read_0xF00();// Uaslódáil uathoibríoch sonraí
}
}
ar neamhní TenMsHandle(folamh)
{
má(!TenmsFlag)
filleadh ;
TenmsFlag=0;
HunX_Law();
HunX_Dry();
HunX_WeiYing();
HunX_ShuaiJian();
HunX_Athraigh();
Macalla_Fliuch();
Macalla_Triomaigh();
Macalla_Moill();
Macalla_ShuaiJian();
Macalla_Athraigh();
}
neamhní HunX_Wet(folamh)
{
u16readst=0;
readst=Léigh_Dgus(0x1200);
if(readst==Mic_Set.MicWetNum)
filleadh ;
Mic_Set.MicWetNum=léamh;
MicEffectSend(Mic_Set.MicWetNum*10,
Mic_Set.MicDryNum*10,
Mic_Set.MicDiffNum*5,
Mic_Set.MicDecayNum*5,
Mic_Set.HunXiangSW);
(2) Is iad seo a leanas na paraiméadair a bhaineann le haisfhuaimniú
#más 1
intreverb_parameter_val(u16 fliuch,u16 tirim,u8 idirleathadh,u8 fachtóir meath,
is_sheachbhóthar u8, idód u8)
{
# má shainítear é(TCFG_MIC_EFFECT_ENABLE)&& TCFG_MIC_EFFECT_ENABLE
#más 1
u8 mode_id = idód+5;
Pláta_reverb_TOOL_SET *parmt = &eff_mode[mode_id - mic_mode_seq0].plate_reverb_parm;
parmt->parm.wet=fliuch;
parmt->parm.dry=tirim;
part->parm.diffusion= idirleathadh;
parmt->parm.decayfactor=decayfactor;
part->is_bypass=is_sheachbhóthar;
plate_reverb_update_parm(&parmt->parm, parmt->is_bypass);
#eilif 1
u8 mode_id = idód+5;
// memcpy(&eff_mode[mode_id - mic_mode_seq0].echo_parm,&paicéad-> sonraí[1], sizeof(EF_ECHO_TOOL_SET));
EF_ECHO_TOOL_SET *parmt = &eff_mode[mode_id -mic_mode_seq0].echo_parm;
parmt->parm.delay=moill_ms;
echo_updata_parm(&parmt->parm, parmt->is_bypass);
#elif 0//PARM_DEBUG
ECHO_PARM_SET *parm = &parmt->parm;
log_debug("moill%d, meathlú %d, filt_enable %d, lpf_cutoff %d, wetgain %d, drygain %d\n",
parm->moill, parm->decayval,parm->filt_enable, parm->lpf_cutoff, parm-> wetgain, parm->drygain);
#deireadh
#deireadh
filleadh 0;
}
(3) Is iad seo a leanas na paraiméadair a bhaineann le macalla:
int Echo_parameter_val(u16 fliuch, u16 tirim, u16 mhoill, u16 fachtóir meath,
Is_sheachbhóthar u16, idód u16)
{
#ifdefined(TCFG_MIC_EFFECT_ENABLE) &&TCFG_MIC_EFFECT_ENABLE
#ifTCFG_MIC_EFFECT_SEL==MIC_EFFECT_REVERB_ECHO
u8 mode_id = idód+5;
EF_ECHO_TOOL_SET*parmt = &eff_mode[mode_id - mic_mode_seq0].echo_parm;
parmt->parm.wetgain=fliuch;
parmt->parm.sixty=tirim;
parmt->parm.delay=moill;
parmt->parm.decayval=fachtóir meath;
part->is_bypass=is_sheachbhóthar;
echo_updata_parm(&parmt->parm, parmt->is_bypass);
#deireadh
filleadh 0;
#deireadh
}


