Improved codec2 encode test

replace/37fe08211c4d7b9bd2e98905f7890c877bdafc9c
Silvano Seva 2021-09-01 11:50:22 +02:00
rodzic fa64b3cacb
commit 8bf13db512
1 zmienionych plików z 22 dodań i 4 usunięć

Wyświetl plik

@ -33,15 +33,27 @@
static const size_t audioBufSize = 320;
static const size_t dataBufSize = 2*1024;
void error()
{
while(1)
{
platform_ledOn(RED);
sleepFor(0u, 500u);
platform_ledOff(RED);
sleepFor(0u, 500u);
}
}
void *mic_task(void *arg)
{
struct CODEC2 *codec2 = codec2_create(CODEC2_MODE_3200);
int16_t *audioBuf = ((int16_t *) malloc(audioBufSize * sizeof(int16_t)));
if(audioBuf == NULL) error();
uint8_t *dataBuf = ((uint8_t *) malloc(dataBufSize * sizeof(uint8_t)));
memset(dataBuf, 0x00, dataBufSize);
audio_enableMic();
delayMs(500);
sleepFor(0u, 500u);
streamId id = inputStream_start(SOURCE_MIC, PRIO_RX, audioBuf, audioBufSize,
BUF_CIRC_DOUBLE, 8000);
@ -52,22 +64,28 @@ void *mic_task(void *arg)
while(pos < dataBufSize)
{
dataBlock_t data = inputStream_getData(id);
if(data.data == NULL) error();
// Pre-amplification stage
for(size_t i = 0; i < data.len; i++) data.data[i] <<= 3;
// DC removal
dsp_dcRemoval(data.data, data.len);
// Post-amplification stage
for(size_t i = 0; i < data.len; i++) data.data[i] *= 20;
codec2_encode(codec2, &dataBuf[pos], data.data);
pos += 8;
}
platform_ledOff(GREEN);
delayMs(10000);
sleepFor(10u, 0u);
platform_ledOn(RED);
for(size_t i = 0; i < dataBufSize; i++)
{
iprintf("%02x ", dataBuf[i]);
}
platform_ledOff(RED);
while(1) ;