Inquiry
Form loading...

【Open-Source】 Reverb da Echo Control for Mix Console Makiriphone Bisa T5L

2025-01-08

——Daga Dandalin Masu Haɓaka DWIN

Mun yi farin cikin gabatar da karar buɗaɗɗen buɗaɗɗen lambar yabo daga Dandalin Masu Haɓaka DWIN a yau: reverb da sarrafa amsawa don haɗa makirufo na wasan bidiyo dangane da guntuwar T5L. Injiniyan mu yana amfani da nunin ƙuduri na 800x480 don yin hulɗa tare da hukumar haɓaka reverb ta hanyar UART 4 ​​na T5L, yana ba da damar daidaita daidaitattun sigogin sauti masu mahimmanci kamar reverb, echo, rigar sauti, bushewar sauti, ƙararrawa, lalata da jinkiri don ingantaccen tasirin sauti.

[Materials UI]

10.png

11.png

13.png

[GUI Project Design]

12.png

C51 Aikin

(1) Babban shirin allo shine kamar haka:

banza main(){

INIT_CPU();// Ƙaddamar da tsarin

PORT_Init();// Fara tashar IO

T0_Init();// Fara mai ƙidayar lokaci 0

T2_Init();// Fara mai ƙidayar lokaci 2

my_UART4_Init(115200);

uart_init();// Fara tashar tashar jiragen ruwa

ws2812_writ_byte(8);// Fara hasken LED

RetMicSet();

jinkiri_ms(1000);

Canja Shafi (1);

yayin (1){

Uart_Handle_all();

OneMsHandle ();//1Ms kowane lokaci

TenMsHandle ();

Read_0xF00();//Data ta atomatik loda

}

}

fanko TenMsHandle(void)

{

idan (!TenmsFlag)

dawowa;

TenmsFlag=0;

HunX_Law();

HunX_Dry();

HunX_WeiYing();

HunX_ShuaiJian();

HunX_Switch ();

Echo_Wet();

Echo_Dry();

Echo_Delay();

Echo_ShuaiJian();

Echo_Switch();

}

fanko HunX_Wet(void)

{

u16readst=0;

karantawa = Karanta_Dgus (0x1200);

idan (karanta==Mic_Set.MicWetNum)

dawowa;

Mic_Set.MicWetNum= karanta;

MicEffectSend(Mic_Set.MicWetNum*10,

Mic_Set.MicDryNum*10,

Mic_Set.MicDiffNum*5,

Mic_Set.MicDecayNum*5,

Mic_Set.HunXiangSW);

 

(2) Ma'auni masu alaƙa da maimaitawa sune kamar haka

#idan 1

intreverb_parameter_val(u16 rigar,u16 bushe,u8 yadawa,u8 lalatacce,

u8 is_bypass, u8 idmode)

{

#idan an ayyana(TCFG_MIC_EFFECT_ENABLE)&&TCFG_MIC_EFFECT_ENABLE

#idan 1

u8 yanayin_id = idmode+5;

Plate_reverb_TOOL_SET *parmt = &eff_mode[mode_id - mic_mode_seq0].plate_reverb_parm;

parmt->parm.wet=rigar;

parmt->parm.dry= bushe;

parmt->parm.diffusion= yaduwa;

parmt->parm.decayfactor=mai lalata;

parmt->is_bypass=is_bypass;

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

#alif 1

u8 mode_id = idmode+5;

// memcpy (&eff_mode [mode_id - mic_mode_seq0].echo_parm, & fakiti-> bayanai [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("jinkiri%d, lalata %d, filt_enable %d, lpf_cutoff %d, wetgain %d, bushewa %d\n",

parm-> jinkirta, parm-> lalata, parm-> filt_enable, parm-> lpf_cutoff, parm-> wetgain, parm-> bushewa);

#duk

#duk

dawo 0;

}

 

(3) Ma'auni masu alaƙa da echo sune kamar haka:

int Echo_parameter_val (u16 rigar, u16 bushe, u16 jinkiri, u16 lalata,

u16 is_bypass, u16 idmode)

{

#ifdefined(TCFG_MIC_EFFECT_ENABLE) &&TCFG_MIC_EFFECT_ENABLE

#ifTCFG_MIC_EFFECT_SEL==MIC_TASIRIN_SAKIYAR_ECHO

u8 mode_id = idmode+5;

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

parmt->parm.wetgain=rigar;

parmt->parm.sittin=bushe;

parmt->parm.delay= jinkiri;

parmt->parm.decayval=decayfactor;

parmt->is_bypass=is_bypass;

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

#duk

dawo 0;

#duk

}