feat: add storage and training modules for snore detection

- Implemented `storage.py` for managing metadata storage, including sample addition, retrieval, and review state management.
- Created `training.py` for training a local model using Random Forest, including functions for training and predicting samples.
- Developed a web interface in `app.js` for capturing audio samples, managing labels, and training the model.
- Added HTML structure in `index.html` for the SnoreStopper control room with sections for sample capture, overnight gathering, training, and status display.
- Styled the application with `styles.css` to enhance user experience and interface aesthetics.
This commit is contained in:
2026-03-12 13:35:17 -04:00
commit 28012e70e0
21 changed files with 2680 additions and 0 deletions

36
.gitignore vendored Normal file
View File

@@ -0,0 +1,36 @@
# Python caches and build artifacts
__pycache__/
*.py[cod]
*.pyo
*.pyd
*.so
*.egg-info/
build/
dist/
# Virtual environments and local settings
.venv/
venv/
.env
# Test and tooling caches
.pytest_cache/
.mypy_cache/
.coverage
htmlcov/
# VS Code local workspace settings
.vscode/*
!.vscode/extensions.json
# Generated app data
data/raw/*
data/spectrograms/*
data/models/*
data/meta/*.json
# Keep generated-data folder structure tracked
!data/raw/.gitkeep
!data/spectrograms/.gitkeep
!data/models/.gitkeep
!data/meta/.gitkeep