Skip to content
Showcase/Music Tagging
intermediateaudio

Music Tagging

Multi-label music tagging following MagnaTagATune dataset format for instrument and genre annotation.

1:42Classify this audio:HappySadAngryNeutralSubmit

Configuration Fileconfig.yaml

annotation_task_name: "Music Tagging"

port: 8000

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

item_properties:
  id_key: id
  text_key: text

# Annotation schemes
annotation_schemes:
  # Instruments
  - annotation_type: multiselect
    name: instruments
    description: "What instruments can you hear? (Select all)"
    labels:
      - Guitar (acoustic)
      - Guitar (electric)
      - Piano/keyboard
      - Drums/percussion
      - Bass
      - Violin/strings
      - Brass (trumpet, etc.)
      - Woodwind (flute, sax, etc.)
      - Synthesizer
      - No instruments

  # Vocals
  - annotation_type: multiselect
    name: vocals
    description: "Describe the vocals (if present)"
    labels:
      - Male vocals
      - Female vocals
      - Choir/group
      - Rapping/spoken word
      - Instrumental only (no vocals)

  # Genre tags
  - annotation_type: multiselect
    name: genre
    description: "What genre(s) does this fit? (Select up to 3)"
    labels:
      - Rock
      - Pop
      - Electronic/dance
      - Hip-hop/rap
      - Jazz
      - Classical
      - Folk/country
      - R&B/soul
      - Metal
      - Blues
      - World/ethnic
      - Ambient

  # Mood/emotion tags
  - annotation_type: multiselect
    name: mood
    description: "What mood/feeling does this evoke? (Select up to 3)"
    labels:
      - Happy/upbeat
      - Sad/melancholic
      - Energetic/exciting
      - Calm/relaxing
      - Aggressive/intense
      - Romantic
      - Dark/mysterious
      - Nostalgic

  # Acoustic features
  - annotation_type: radio
    name: tempo
    description: "How would you describe the tempo?"
    labels:
      - Very slow
      - Slow
      - Medium
      - Fast
      - Very fast

  # Production quality
  - annotation_type: likert
    name: quality
    description: "Rate the production/recording quality"
    size: 5
    min_label: "Low quality"
    max_label: "High quality"

  # Familiarity
  - annotation_type: radio
    name: familiarity
    description: "Do you recognize this song?"
    labels:
      - Yes, I know this song
      - Sounds familiar
      - Never heard it before

# User settings
allow_all_users: true
instances_per_annotator: 200

# 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 music-tagging
cd music-tagging
# Copy config.yaml from above
potato start config.yaml

Details

Annotation Types

multiselectlikert

Domain

Audio

Use Cases

music tagginggenre classificationinstrument recognition

Tags

audiomusictagginggenreinstruments