Skip to content
Tutorials4 min read

Annotation zur Genre-Klassifikation von Musik

Eine Musik-Annotationsaufgabe in Potato bauen, mit Wellenform-Darstellung, 30-Sekunden-Vorschau, verschachtelten Genre-Bäumen und paarweisen Präferenzvergleichen.

Potato Team

Genre-Labels sind die Grundlage von Empfehlungssystemen, automatisch erzeugten Playlists und Funktionen zum Entdecken neuer Musik. Dieser Beitrag zeigt, wie du in Potato Oberflächen zum Genre-Tagging baust, mit Audio-Vorschau und verschachtelten Genre-Bäumen.

Einfache Genre-Klassifikation

yaml
annotation_task_name: "Music Genre Classification"
 
data_files:
  - data/tracks.json
 
item_properties:
  audio_path: audio_preview
  metadata_fields: [artist, title, album]
 
# Show track metadata
display:
  show_metadata: true
  metadata_template: "{{artist}} - {{title}}"
 
annotation_schemes:
  - annotation_type: audio_annotation
    playback_rate_control: true
    name: primary_genre
    description: "Select the primary genre"
    labels:
      - Rock
      - Pop
      - Hip-Hop
      - Electronic
      - Jazz
      - Classical
      - R&B
      - Country
      - Metal
      - Folk

Verschachtelte Genre-Taxonomie

yaml
annotation_schemes:
  # Top-level genre
  - annotation_type: radio
    name: genre
    description: "Primary genre"
    labels:
      - Rock
      - Electronic
      - Hip-Hop
      - Pop
      - Jazz
      - Classical
 
  # Subgenre (conditional)
  - annotation_type: radio
    name: subgenre
    description: "Subgenre"

Genre-Tagging mit mehreren Labels

Viele Stücke liegen zwischen mehreren Genres, lass die Annotierenden also mehrere auswählen:

yaml
annotation_schemes:
  - annotation_type: multiselect
    name: genres
    description: "Select ALL applicable genres (up to 3)"
    labels:
      - Rock
      - Pop
      - Electronic
      - Hip-Hop
      - R&B
      - Jazz
      - Classical
      - Country
      - Folk
      - Metal
      - Punk
      - Indie
      - World
      - Latin
 
  - annotation_type: radio
    name: primary_genre
    description: "Which is the PRIMARY genre?"

Vollständige Konfiguration für Musikannotation

yaml
annotation_task_name: "Music Tagging and Classification"
 
data_files:
  - data/music_library.json
 
item_properties:
  audio_path: preview_url
  metadata_fields:
    - artist
    - title
    - album
    - year
    - duration
 
display:
  show_metadata: true
  metadata_layout: card
  fields:
    - label: "Artist"
      field: artist
    - label: "Track"
      field: title
    - label: "Album"
      field: album
    - label: "Year"
      field: year
 
annotation_schemes:
  # Audio playback configuration
  - annotation_type: audio_annotation
    playback_rate_control: true
 
  # Genre classification
  - annotation_type: multiselect
    name: genres
    description: "Select all applicable genres"
    labels:
      - Rock
      - Pop
      - Electronic/Dance
      - Hip-Hop/Rap
      - R&B/Soul
      - Jazz
      - Classical
      - Country
      - Folk/Acoustic
      - Metal
      - Punk
      - Indie
      - World/International
      - Latin
      - Blues
      - Reggae
 
  # Mood/Energy
  - annotation_type: multiselect
    name: mood
    description: "Select the mood(s) of this track"
    labels:
      - Happy/Uplifting
      - Sad/Melancholic
      - Energetic
      - Calm/Relaxing
      - Aggressive
      - Romantic
      - Dark/Moody
      - Nostalgic
      - Motivational
 
  # Energy level
  - annotation_type: likert
    name: energy
    description: "Energy level"
    size: 5
    min_label: "Very low energy"
    max_label: "Very high energy"
 
  # Danceability
  - annotation_type: likert
    name: danceability
    description: "How danceable is this track?"
    size: 5
    min_label: "Not danceable"
    max_label: "Very danceable"
 
  # Vocal content
  - annotation_type: radio
    name: vocals
    description: "Vocal content"
    labels:
      - Instrumental only
      - Mostly instrumental
      - Balanced
      - Mostly vocals
      - Vocals dominant
 
  # Era/Style
  - annotation_type: radio
    name: era
    description: "Musical era/style"
    labels:
      - Pre-1970s (Classic)
      - 1970s
      - 1980s
      - 1990s
      - 2000s
      - 2010s
      - 2020s/Current
 
  # Quality flags
  - annotation_type: multiselect
    name: flags
    description: "Special flags (if applicable)"
    labels:
      - Explicit content
      - Live recording
      - Remix/Cover
      - Holiday/Seasonal
      - Soundtrack
      - Spoken word sections
    label_requirement:
      required: false
 
  # Confidence
  - annotation_type: likert
    name: confidence
    description: "Confidence in your genre classification"
    size: 5
    min_label: "Uncertain"
    max_label: "Very confident"
 
annotation_guidelines:
  title: "Music Tagging Guidelines"
  content: |
    ## Genre Selection
    - Choose 1-3 genres that best describe the track
    - Select the most specific applicable genre
    - When unsure, lean toward broader categories
 
    ## Mood Assessment
    - Consider the overall emotional tone
    - A track can have multiple moods
    - Think about how the music makes you feel
 
    ## Energy & Danceability
    - Energy: tempo, intensity, power
    - Danceability: rhythm, beat clarity, groove
 
    ## Listening Tips
    - Listen to at least 30 seconds
    - Pay attention to drops, changes, and transitions
    - Consider instrumentation and production style
 

Ausgabeformat

json
{
  "id": "track_001",
  "audio_url": "/audio/preview_001.mp3",
  "metadata": {
    "artist": "The Beatles",
    "title": "Here Comes the Sun",
    "album": "Abbey Road",
    "year": 1969
  },
  "annotations": {
    "genres": ["Rock", "Pop"],
    "mood": ["Happy/Uplifting", "Nostalgic"],
    "energy": 3,
    "danceability": 2,
    "vocals": "Balanced",
    "era": "Pre-1970s (Classic)",
    "flags": [],
    "confidence": 5
  }
}

Hinweise zur Musikannotation

  1. Gute Kopfhörer machen einen Unterschied. Über Laptop-Lautsprecher entgehen dir Genre-Merkmale.
  2. Halte die Lautstärke konstant, damit du nicht ständig nachregelst und schneller ermüdest.
  3. Hör von jeder Vorschau genug, um die Wechsel mitzubekommen, nicht nur das Intro.
  4. Frisch vorher auf, was die einzelnen Genres eigentlich bezeichnen.
  5. Mach Pausen. Müde Ohren urteilen schlechter.

Wie es weitergeht

Alle Optionen der Audio-Annotation (Wellenform-Darstellung, Wiedergabesteuerung, Auswahl von Bereichen) stehen in der Quelldokumentation.


Vollständige Audio-Dokumentation unter Audio-Annotation.