mirror of
https://github.com/openmv/openmv.git
synced 2025-09-26 23:09:13 +08:00
boards/NICLAV: Make MicroSpeech work on Nicla Vision.
* Add example for Nicla Vision. * Update example comment. * Fixes #1756
This commit is contained in:
parent
1f94aaf828
commit
df618ffb02
@ -0,0 +1,29 @@
|
||||
# MicroSpeech demo.
|
||||
#
|
||||
# Download the pre-trained Yes/No model from here:
|
||||
# https://raw.githubusercontent.com/iabdalkader/microspeech-yesno-model/main/model.tflite
|
||||
# Save the model to storage, reset and run the example.
|
||||
import audio, time, tf, micro_speech, pyb
|
||||
labels = ['Silence', 'Unknown', 'Yes', 'No']
|
||||
|
||||
led_red = pyb.LED(1)
|
||||
led_green = pyb.LED(2)
|
||||
|
||||
model = tf.load('/model.tflite')
|
||||
speech = micro_speech.MicroSpeech()
|
||||
audio.init(channels=1, frequency=16000, gain=24, highpass=0.9883)
|
||||
|
||||
# Start audio streaming
|
||||
audio.start_streaming(speech.audio_callback)
|
||||
|
||||
while (True):
|
||||
# Run micro-speech without a timeout and filter detections by label index.
|
||||
idx = speech.listen(model, timeout=0, threshold = 0.78, filter=[2, 3])
|
||||
led = led_green if idx == 2 else led_red
|
||||
print(labels[idx])
|
||||
for i in range(0, 4):
|
||||
led.on(); time.sleep_ms(25)
|
||||
led.off(); time.sleep_ms(25)
|
||||
|
||||
# Stop streaming
|
||||
audio.stop_streaming()
|
@ -1,3 +1,8 @@
|
||||
# MicroSpeech demo.
|
||||
#
|
||||
# Download the pre-trained Yes/No model from here:
|
||||
# https://raw.githubusercontent.com/iabdalkader/microspeech-yesno-model/main/model.tflite
|
||||
# Save the model to storage, reset and run the example.
|
||||
import audio, time, tf, micro_speech, pyb
|
||||
labels = ['Silence', 'Unknown', 'Yes', 'No']
|
||||
|
||||
|
@ -185,7 +185,7 @@
|
||||
|
||||
// Domain 2 DMA buffers region.
|
||||
#define OMV_DMA_MEMORY_D2 SRAM2
|
||||
#define OMV_DMA_MEMORY_D2_SIZE (6*1024) // Reserved memory for DMA buffers
|
||||
#define OMV_DMA_MEMORY_D2_SIZE (4*1024) // Reserved memory for DMA buffers
|
||||
#define OMV_DMA_REGION_D2_BASE (OMV_SRAM2_ORIGIN+(0*1024))
|
||||
#define OMV_DMA_REGION_D2_SIZE MPU_REGION_SIZE_16KB
|
||||
|
||||
|
@ -43,7 +43,7 @@ static DFSDM_Channel_HandleTypeDef hdfsdm;
|
||||
static DFSDM_Filter_HandleTypeDef hdfsdm_filter[AUDIO_MAX_CHANNELS];
|
||||
static DMA_HandleTypeDef hdma_filter[AUDIO_MAX_CHANNELS];
|
||||
// NOTE: placed in D2 memory.
|
||||
#define PDM_BUFFER_SIZE (512)
|
||||
#define PDM_BUFFER_SIZE (512 * 2)
|
||||
int32_t OMV_ATTR_SECTION(OMV_ATTR_ALIGNED(PDM_BUFFER[PDM_BUFFER_SIZE], 32), ".d2_dma_buffer");
|
||||
#define SaturaLH(N, L, H) (((N)<(L))?(L):(((N)>(H))?(H):(N)))
|
||||
#else
|
||||
|
Loading…
Reference in New Issue
Block a user