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
- FolkVerschachtelte 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
- Gute Kopfhörer machen einen Unterschied. Über Laptop-Lautsprecher entgehen dir Genre-Merkmale.
- Halte die Lautstärke konstant, damit du nicht ständig nachregelst und schneller ermüdest.
- Hör von jeder Vorschau genug, um die Wechsel mitzubekommen, nicht nur das Intro.
- Frisch vorher auf, was die einzelnen Genres eigentlich bezeichnen.
- Mach Pausen. Müde Ohren urteilen schlechter.
Wie es weitergeht
- Ergänze Erkennung von Klangereignissen, um Instrumente herauszuhören
- Richte Crowdsourcing ein, um mehr unterschiedliche Ohren auf die Daten zu bekommen
- Lies zu Übereinstimmungsmaßen für Musik
Alle Optionen der Audio-Annotation (Wellenform-Darstellung, Wiedergabesteuerung, Auswahl von Bereichen) stehen in der Quelldokumentation.
Vollständige Audio-Dokumentation unter Audio-Annotation.