kopia lustrzana https://github.com/OpenRTX/OpenRTX
Improved codec2 encode test
rodzic
fa64b3cacb
commit
8bf13db512
|
@ -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) ;
|
||||
|
|
Ładowanie…
Reference in New Issue