advancedaudio
Respiratory Sound Classification
Classify lung and respiratory sounds for medical diagnosis following ICBHI 2017 Challenge format.
🎧
audio annotation
Configuration Fileconfig.yaml
task_name: "Respiratory Sound Classification"
# Server configuration
server:
port: 8000
# Audio settings
audio:
enabled: true
display: waveform
waveform_color: "#EF4444"
progress_color: "#F87171"
speed_control: true
speed_options: [0.5, 0.75, 1.0]
# Data configuration
data_files:
- path: data/respiratory_sounds.json
audio_field: audio_file
# Annotation schemes
annotation_schemes:
# Overall classification
- annotation_type: radio
name: overall_classification
description: "Overall respiratory sound classification"
labels:
- Normal (healthy breathing)
- Abnormal (pathological sounds present)
- Poor quality (cannot assess)
# Adventitious sounds (abnormal sounds)
- annotation_type: multiselect
name: adventitious_sounds
description: "What abnormal sounds are present? (Select all that apply)"
labels:
- Crackles (fine) - brief, discontinuous, high-pitched
- Crackles (coarse) - louder, lower-pitched, longer
- Wheezes - continuous, high-pitched, musical
- Rhonchi - continuous, low-pitched, snoring
- Stridor - high-pitched, inspiratory
- Pleural friction rub - creaking/grating
- None (normal breathing only)
# Breathing phase affected
- annotation_type: multiselect
name: phase_affected
description: "During which phase are abnormal sounds heard?"
labels:
- Inspiration
- Expiration
- Both phases
- Cannot determine
- Not applicable (normal)
# Sound intensity
- annotation_type: radio
name: sound_intensity
description: "Intensity of abnormal sounds (if present)"
labels:
- Subtle (barely audible)
- Mild
- Moderate
- Severe (very pronounced)
- Not applicable
# Location (if known)
- annotation_type: radio
name: likely_location
description: "Where might these sounds originate? (Based on characteristics)"
labels:
- Upper airways
- Lower airways/bronchi
- Lung parenchyma
- Pleural
- Cannot determine
- Not applicable
# Recording quality
- annotation_type: likert
name: recording_quality
description: "Quality of the respiratory recording"
size: 5
min_label: "Very poor"
max_label: "Excellent"
# Artifacts present
- annotation_type: multiselect
name: artifacts
description: "What artifacts or noise are present?"
labels:
- Heart sounds (normal)
- Movement artifact
- Talking/coughing
- Equipment noise
- Environmental noise
- None
# Clinical confidence
- annotation_type: likert
name: confidence
description: "Confidence in your classification"
size: 5
min_label: "Low"
max_label: "High"
# Notes
- annotation_type: text
name: clinical_notes
description: "Additional clinical observations (optional)"
textarea: true
required: false
# User settings
allow_all_users: false
authorized_users:
- clinician1@hospital.org
- clinician2@hospital.org
instances_per_annotator: 100
# Output
output:
path: annotations/
format: json
Get This Design
This design is available in our showcase. Copy the configuration below to get started.
Quick start:
# Create your project folder mkdir respiratory-sound-classification cd respiratory-sound-classification # Copy config.yaml from above potato start config.yaml
Details
Annotation Types
radiomultiselect
Domain
AudioMedical
Use Cases
medical audiorespiratory soundsclinical diagnosis
Tags
audiomedicalrespiratorylung soundsdiagnosis
Related Designs
Speech Intelligibility Rating
Rate speech intelligibility for pathological speech following TORGO database annotation protocols.
likertradio
Music Genre Classification
Classify music clips into genres and subgenres with mood and instrumentation tags.
radiomultiselect
Acoustic Scene Classification
Classify audio recordings by acoustic environment following the TUT/DCASE dataset format.
radiolikert