Leave Your Message

【Chanzo Huria】Udhibiti wa Reverb na Echo kwa Maikrofoni ya Console ya Kuchanganya Kulingana na T5L

2025-01-08

——Kutoka DWIN Jukwaa la Wasanidi Programu

Tunafurahi kuwasilisha kisanduku cha chanzo huria kilichoshinda tuzo kutoka kwa Jukwaa la Wasanidi Programu la DWIN leo: udhibiti wa reverb na mwangwi kwa ajili ya kuchanganya maikrofoni ya koni kulingana na chipu ya T5L. Mhandisi wetu anatumia onyesho la azimio la 800x480 ili kuingiliana na bodi ya ukuzaji wa reverb kupitia UART 4 ​​ya T5L, kuwezesha marekebisho sahihi ya vigezo muhimu vya sauti kama vile reverb, mwangwi, sauti ya mvua, sauti kavu, akustisk, kuoza na kuchelewa kwa athari bora za sauti.

[Nyenzo za Kiolesura]

10.png

11.png

13.png

[Ubunifu wa Mradi wa GUI]

12.png

Mradi wa C51

(1) Programu kuu ya skrini ni kama ifuatavyo:

batili kuu(){

INIT_CPU(); //Uanzishaji wa Mfumo

PORT_Init();//Anzisha mlango wa IO

T0_Init();//Anzisha kipima muda 0

T2_Init();//Anzisha kipima muda 2

my_UART4_Init(115200);

uart_init();//Anzisha mlango mfuatano

ws2812_writ_byte(8);//Anzisha mwanga wa LED

Seti ya Mic();

kuchelewa_ms(1000);

BadilishaUkurasa(1);

wakati(1){

Uart_Handle_all();

OneMsHandle();//1Ms kila wakati

TenMsHandle();

Read_0xF00();//Upakiaji wa data kiotomatiki

}

}

batili TenMsHandle(batili)

{

ikiwa(!TenmsFlag)

kurudi;

TenmsFlag=0;

Sheria ya HunX();

HunX_Kavu();

HunX_WeiYing();

HunX_ShuaiJian();

HunX_Switch();

Echo_Wet();

Echo_Kavu();

Echo_Delay();

Echo_ShuaiJian();

Echo_Switch();

}

HunX_Wet(tupu)

{

u16readst=0;

readst=Read_Dgus(0x1200);

ikiwa(soma==Mic_Set.MicWetNum)

kurudi;

Mic_Set.MicWetNum=kusoma;

MicEffectSend(Mic_Set.MicWetNum*10,

Seti_ya_Mic.NumYaMicDry*10,

Seti_ya_Mic.MicDiffNum*5,

Mic_Set.MicDecayNum*5,

Mic_Set.HunXiangSW);

 

(2) Vigezo vinavyohusiana na rejea ni kama ifuatavyo

#ikiwa 1

intreverb_parameter_val(u16 mvua, u16 kavu, u8 diffusion, u8 decayfactor,

u8 ni_kupitisha,hali ya u8 isiyo na maana)

{

#ikiwa imefafanuliwa (TCFG_MIC_EFFECT_ENABLE)&& TCFG_MIC_EFFECT_ENABLE

#ikiwa 1

u8 mode_id = idmode+5;

Seti_ya_kitenzi_cha_Bamba *parmt = &eff_mode[kitambulisho_cha_hali_ya_mode - modi_ya_mic_seq0].plate_reverb_parm;

parmt->parm.wet=wet;

parmt->parm.kavu=kavu;

parmt->parm.usambazaji=usambazaji;

parmt->parm.decayfactor=decayfactor;

parmt-> ni_kupita_nyuma= ni_kupita_nyuma;

plate_reverb_update_parm(&parmt->parm, parmt->is_bypass);

#elif 1

u8 mode_id = idmode+5;

//memcpy(&eff_mode[mode_id - mic_mode_seq0].echo_parm,&packet->data[1], sizeof(EF_ECHO_TOOL_SET));

EF_ECHO_TOOL_SET *parmt = &eff_mode[mode_id -mic_mode_seq0].echo_parm;

parmt->parm.delay=delay_ms;

echo_updata_parm(&parmt->parm, parmt->is_bypass);

#elif 0//PARM_DEBUG

ECHO_PARM_SET *parm = &parmt->parm;

log_debug("delay%d, decayval %d, filt_enable %d, lpf_cutoff %d, wetgain %d, drygain %d\n",

parm->kuchelewa, parm->kuoza,parm->kuwezeshwa_kuchujwa, parm->lpf_kukatwa, parm->kutozwa, parm->kutozwa, parm->kutozwa);

#endif

#endif

rudisha 0;

}

 

(3) Vigezo vinavyohusiana na mwangwi ni kama ifuatavyo:

int Echo_parameter_val(u16 mvua,u16 kavu,u16 kuchelewa,u16 decayfactor,

u16 is_bypass, u16 idmode)

{

#ikiwa imefafanuliwa(TCFG_MIC_EFFECT_ENABLE) &&TCFG_MIC_EFFECT_ENABLE

#ikiwaTCFG_MIC_EFFECT_SEL==MIC_EFFECT_REVERB_ECHO

u8 mode_id = idmode+5;

EF_ECHO_TOOL_SET*parmt = &eff_mode[mode_id - mic_mode_seq0].echo_parm;

parmt->parm.wetgain=mvua;

parmt->parm.sitini=kavu;

parmt->parm.delay=kuchelewa;

parmt->parm.decayval=kisababishi cha kuoza;

parmt-> ni_kupita_nyuma= ni_kupita_nyuma;

echo_updata_parm(&parmt->parm, parmt->is_bypass);

#endif

rudisha 0;

#endif

}