#include <stdbool.h>#include <stdint.h>#include <stdlib.h>#include "pdm2pcm.h"#include "picovoice.h"#include "main.h"
Go to the source code of this file.
Macros | |
| #define | AUDIO_IN_PCM_BUFFER_SIZE (MIC_CAPTURE_IT_MS * 16) |
| #define | PV_AUDIO_DUMP_BUFFER_SIZE ((uint32_t)(PV_AUDIO_DUMP_DURATION_SEC * PV_AUDIO_REC_AUDIO_FREQUENCY)) |
| #define | PV_AUDIO_DUMP_DURATION_SEC (3) |
| #define | PV_AUDIO_REC_AUDIO_FREQUENCY (16000U) |
| #define | PV_AUDIO_REC_AUDIO_FREQUENCY (16000U) |
| #define | PV_AUDIO_REC_CHANNEL_NUMBER (1) |
| #define | PV_AUDIO_REC_RECORD_BUFFER_SIZE (512) |
| #define | PV_AUDIO_REC_VOLUME_LEVEL (80) |
Functions | |
| static void | MX_BDMA_Init (void) |
| static void | MX_CRC_Init (void) |
| static void | MX_DMA_Init (void) |
| static void | MX_SAI4_Init (void) |
| const int16_t * | pv_audio_rec_get_new_buffer (void) |
| pv_status_t | pv_audio_rec_init (void) |
| pv_status_t | pv_audio_rec_start (void) |
| pv_status_t | pv_audio_rec_stop (void) |
| void | pv_pcm_process (int16_t *record_pcm_buffer) |
Variables | |
| static int32_t | buffer_index = 0 |
| CRC_HandleTypeDef | hcrc |
| DMA_HandleTypeDef | hdma_sai4_a |
| SAI_HandleTypeDef | hsai_BlockA4 |
| UART_HandleTypeDef | huart |
| static int32_t | last_read_index = -1 |
| static int16_t | ping_pong_buffer [2][PV_AUDIO_REC_RECORD_BUFFER_SIZE] |
| struct { | |
| uint32_t audio_frequency | |
| uint32_t channel_number | |
| bool is_recording | |
| uint32_t record_buffer_size | |
| uint16_t * record_pcm_buffer | |
| } | pv_audio_rec |
| static int32_t | read_index = 1 |
| static int32_t | write_index = 0 |
| #define AUDIO_IN_PCM_BUFFER_SIZE (MIC_CAPTURE_IT_MS * 16) |
Definition at line 27 of file stm32h735/stm32h735g-dk/Src/pv_audio_rec.c.
| #define PV_AUDIO_DUMP_BUFFER_SIZE ((uint32_t)(PV_AUDIO_DUMP_DURATION_SEC * PV_AUDIO_REC_AUDIO_FREQUENCY)) |
Definition at line 44 of file stm32h735/stm32h735g-dk/Src/pv_audio_rec.c.
| #define PV_AUDIO_DUMP_DURATION_SEC (3) |
Definition at line 42 of file stm32h735/stm32h735g-dk/Src/pv_audio_rec.c.
| #define PV_AUDIO_REC_AUDIO_FREQUENCY (16000U) |
Definition at line 43 of file stm32h735/stm32h735g-dk/Src/pv_audio_rec.c.
| #define PV_AUDIO_REC_AUDIO_FREQUENCY (16000U) |
Definition at line 43 of file stm32h735/stm32h735g-dk/Src/pv_audio_rec.c.
| #define PV_AUDIO_REC_CHANNEL_NUMBER (1) |
Definition at line 23 of file stm32h735/stm32h735g-dk/Src/pv_audio_rec.c.
| #define PV_AUDIO_REC_RECORD_BUFFER_SIZE (512) |
Definition at line 24 of file stm32h735/stm32h735g-dk/Src/pv_audio_rec.c.
| #define PV_AUDIO_REC_VOLUME_LEVEL (80) |
Definition at line 25 of file stm32h735/stm32h735g-dk/Src/pv_audio_rec.c.
|
static |
Definition at line 89 of file stm32h735/stm32h735g-dk/Src/pv_audio_rec.c.
|
static |
Definition at line 104 of file stm32h735/stm32h735g-dk/Src/pv_audio_rec.c.
|
static |
Definition at line 97 of file stm32h735/stm32h735g-dk/Src/pv_audio_rec.c.
|
static |
Definition at line 54 of file stm32h735/stm32h735g-dk/Src/pv_audio_rec.c.
| const int16_t* pv_audio_rec_get_new_buffer | ( | void | ) |
Definition at line 142 of file stm32h735/stm32h735g-dk/Src/pv_audio_rec.c.
| pv_status_t pv_audio_rec_init | ( | void | ) |
Definition at line 120 of file stm32h735/stm32h735g-dk/Src/pv_audio_rec.c.
| pv_status_t pv_audio_rec_start | ( | void | ) |
Definition at line 131 of file stm32h735/stm32h735g-dk/Src/pv_audio_rec.c.
| pv_status_t pv_audio_rec_stop | ( | void | ) |
Definition at line 137 of file stm32h735/stm32h735g-dk/Src/pv_audio_rec.c.
| void pv_pcm_process | ( | int16_t * | record_pcm_buffer | ) |
Definition at line 156 of file stm32h735/stm32h735g-dk/Src/pv_audio_rec.c.
| uint32_t audio_frequency |
Definition at line 48 of file stm32h735/stm32h735g-dk/Src/pv_audio_rec.c.
|
static |
Definition at line 34 of file stm32h735/stm32h735g-dk/Src/pv_audio_rec.c.
| uint32_t channel_number |
Definition at line 47 of file stm32h735/stm32h735g-dk/Src/pv_audio_rec.c.
| CRC_HandleTypeDef hcrc |
Definition at line 36 of file stm32h735/stm32h735g-dk/Src/pv_audio_rec.c.
| DMA_HandleTypeDef hdma_sai4_a |
Definition at line 40 of file stm32h735/stm32h735g-dk/Src/pv_audio_rec.c.
| SAI_HandleTypeDef hsai_BlockA4 |
Definition at line 39 of file stm32h735/stm32h735g-dk/Src/pv_audio_rec.c.
| UART_HandleTypeDef huart |
Definition at line 38 of file stm32h735/stm32h735g-dk/Src/pv_audio_rec.c.
| bool is_recording |
Definition at line 51 of file stm32h735/stm32h735g-dk/Src/pv_audio_rec.c.
|
static |
Definition at line 31 of file stm32h735/stm32h735g-dk/Src/pv_audio_rec.c.
|
static |
Definition at line 29 of file stm32h735/stm32h735g-dk/Src/pv_audio_rec.c.
| struct { ... } pv_audio_rec |
|
static |
Definition at line 32 of file stm32h735/stm32h735g-dk/Src/pv_audio_rec.c.
| uint32_t record_buffer_size |
Definition at line 49 of file stm32h735/stm32h735g-dk/Src/pv_audio_rec.c.
| uint16_t* record_pcm_buffer |
Definition at line 50 of file stm32h735/stm32h735g-dk/Src/pv_audio_rec.c.
|
static |
Definition at line 33 of file stm32h735/stm32h735g-dk/Src/pv_audio_rec.c.