Skip to content

thomas-w12/Siren-Detection-RaspberryPico

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Siren-Detection-RaspberryPico

This project implements a siren detection system for German emergency vehicle sirens using a Raspberry Pi Pico and TensorFlow Lite for Microcontrollers (tflite-micro). It captures audio data from a PDM microphone, processes it to generate spectrograms, and uses a pre-trained machine learning model to classify the sound as "siren" or "no siren." The results are displayed via an integrated LED.

This repository contains submodules:

To clone the repository with submodules, use:

git clone --recurse-submodules https://github.com/thomas-w12/Siren-Detection-RaspberryPico.git

To build the project, CMake and Ninja need to be installed and in the system PATH. The pico-sdk v2.2.0 (https://github.com/raspberrypi/pico-sdk) also needs to be installed and the PICO_SDK_PATH environment variable set to its location.

How to build:

mkdir build
cd build
cmake .. -G Ninja
cmake --build .

To flash the program to the Raspberry Pi Pico, hold down the BOOTSEL button while plugging it into your computer. It should mount as a mass storage device. Then copy the siren_detection_pico.uf2 file from the build directory to the mounted drive.

In CMakeLists.txt, you can enable or disable the use of the optimized CMSIS-NN kernels by setting the USE_CMSIS_NN variable to ON or OFF. OFF will use the default tflite-micro reference kernels.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors