How shreyas-fr/anc_code works
This repository implements audio noise suppression, from preparing mixed training examples and learning enhancement models through offline evaluation and real-time edge streaming. A separate desktop dashboard receives audio and telemetry and presents pipeline status and diagnostics. The tree also contains a noise classifier and multiple deployment generations. No README was provided, so the graph follows the sampled model, training, inference, deployment and dashboard references; some deployment and receiver internals are unsampled, and their unverified connections are omitted.
Main entry points: main_window.py Main window · train.py Model training · nlms_postfilter.py NLMS postfilter · complex_crn.py Complex CRN
Components 28
Data and modeling
- Mixed audio data
scripts/dynamic_mixer.py - Complex CRN
src/enhance/complex_crn.py - Enhancement losses
src/enhance/losses.py - Model training
src/enhance/train.py - Noise classifier
src/classify/noise_classifier.py - Classifier training
src/classify/train_classifier.py
Evaluation and inference
- Audio metrics
src/enhance/evaluate.py - Enhancement evaluation
eval/evaluate.py - File inference
src/enhance/inference.py - NLMS postfilter
deploy/nlms_postfilter.py
Edge streaming
- Raspberry Pi inference
deploy/rpi_infer.py - Stateful ANC stream
runs/sih26052_rpi_deployment_audit/app/anc_stream.py - Performance monitor
runs/sih26052_rpi_deployment_audit/app/monitor.py - Live audio sender
Documents/anc sih/runs/final_model/dfn3_live_sender.py - DFN3 stream
Documents/anc sih/runs/final_model/dfn3_stream.py
Host dashboard
- Dashboard startup
Documents/anc sih/frontend/main.py - Main window
Documents/anc sih/frontend/ui/main_window.py - Audio receiver
Documents/anc sih/frontend/network/audio_receiver.py - Telemetry receiver
Documents/anc sih/frontend/network/telemetry_receiver.py - Jitter buffer
Documents/anc sih/frontend/audio/jitter_buffer.py - Audio playback
Documents/anc sih/frontend/audio/playback.py - UI components
Documents/anc sih/frontend/ui/components.py - Diagnostics panel
Documents/anc sih/frontend/ui/diagnostics_panel.py - Pipeline status
Documents/anc sih/frontend/ui/pipeline_widget.py - Spectrum display
Documents/anc sih/frontend/ui/spectrum_widget.py - Waveform display
Documents/anc sih/frontend/ui/waveform_widget.py - UI theme
Documents/anc sih/frontend/ui/theme.py
Other components
- Dashboard user
Connections 27
- Model training → Mixed audio data: loads examples
src/enhance/train.py - Model training → Complex CRN: trains model
src/enhance/train.py - Model training → Enhancement losses: scores loss
src/enhance/train.py - Model training → Audio metrics: computes metrics
src/enhance/train.py - Classifier training → Noise classifier: trains classifier
src/classify/train_classifier.py - Enhancement evaluation → Mixed audio data: loads examples
eval/evaluate.py - Enhancement evaluation → Complex CRN: evaluates model
eval/evaluate.py - Enhancement evaluation → Audio metrics: computes metrics
eval/evaluate.py - File inference → Complex CRN: runs model
src/enhance/inference.py - NLMS postfilter → Mixed audio data: loads examples
deploy/nlms_postfilter.py - NLMS postfilter → Complex CRN: enhances audio
deploy/nlms_postfilter.py - NLMS postfilter → Audio metrics: scores output
deploy/nlms_postfilter.py - Raspberry Pi inference → NLMS postfilter: uses filter
deploy/rpi_infer.py - Stateful ANC stream → Performance monitor: records runtime
runs/sih26052_rpi_deployment_audit/app/anc_stream.py - Live audio sender → DFN3 stream: uses stream
Documents/anc sih/runs/final_model/dfn3_live_sender.py - Dashboard user → Dashboard startup: opens dashboard
Documents/anc sih/frontend/main.py - Dashboard startup → Main window: creates window
Documents/anc sih/frontend/main.py - Main window → Audio receiver: uses receiver
Documents/anc sih/frontend/ui/main_window.py - Main window → Telemetry receiver: uses receiver
Documents/anc sih/frontend/ui/main_window.py - Main window → Jitter buffer: uses buffer
Documents/anc sih/frontend/ui/main_window.py - Main window → Audio playback: uses playback
Documents/anc sih/frontend/ui/main_window.py - Main window → UI components: uses components
Documents/anc sih/frontend/ui/main_window.py - Main window → Diagnostics panel: uses panel
Documents/anc sih/frontend/ui/main_window.py - Main window → Spectrum display: uses display
Documents/anc sih/frontend/ui/main_window.py - Main window → Waveform display: uses display
Documents/anc sih/frontend/ui/main_window.py - UI components → UI theme: uses theme
Documents/anc sih/frontend/ui/components.py - Pipeline status → UI theme: uses theme
Documents/anc sih/frontend/ui/pipeline_widget.py