Collect closed-set letter and syllable acoustic-recordings for standard 1 Chichewa book(SOSA).
**Chichewa Acoustic Data Collection** is a Progressive Web App (PWA) designed for offline-first collection of acoustic audio data (letters and syllables) for standard 1 Chichewa (SOSA book).
### Key Components
* **Frontend Single-Page Application (`index.html`)**: Uses raw HTML5, CSS3, and JavaScript along with embedded Dexie.js for IndexedDB management.
* **Service Worker (`sw.js`)**: Manages offline caching and PWA app updates.
* **Curriculum Configuration (`prompts.json`)**: Contains structured prompt targets (letters and syllables).
* **ASR Integration Script (`merge_asr/merge_asr_datasets.py`)**: A Python utility to aggregate and process exported datasets.
---
### Core Functionality & Features
* **Authentication & Security**: Features PBKDF2 hashing with salt, rate-limiting, and locked-out states after failed attempts.
* **Audio Recording & Processing**:
* Captures audio at 16kHz mono via standard Web MediaRecorder API.
* Performs RMS volume checks and SNR/noise-floor rejection.
* Auto-converts `.webm` audio to 16kHz 16-bit PCM `.wav` format upon zip export.
* **Data Management**:
* Block-based target workflow (47 prompts per block).
* Direct file-system backup integration via File System Access API.
* Export mechanism generating metadata CSV files and packaged ZIP archives.
### Field deployment and recovery
Run the app from `https://` or `
localhost`; microphone access,
service-worker offline support, and folder backups are restricted by browser
secure-context rules. Chrome or Edge on Android/desktop is the supported target
for recording and File System Access backups. Keep the app open while a take is
being saved; updates are deferred during recording and processing.
Select a backup folder before collection and use **Backup Now** at handover.
Also use **Export Dataset** regularly. A backup contains the database manifests
and original WebM recordings; an export contains converted WAV files and
`metadata.csv`. Do not edit bac …