Skip to content
Showcase/Respiratory Sound Classification
advancedaudio

Respiratory Sound Classification

Classify lung and respiratory sounds for medical diagnosis following ICBHI 2017 Challenge format.

1:42Classify this audio:HappySadAngryNeutralSubmit

Configuration Fileconfig.yaml

annotation_task_name: "Respiratory Sound Classification"

port: 8000

# Data configuration
data_files:
  - "data/respiratory_sounds.json"

item_properties:
  id_key: "id"
  text_key: "text"

# 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_annotation_dir: "annotation_output/"
output_annotation_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