Tutorials5 min read
Annotation de classification de genres musicaux
Créez une tâche d'annotation musicale avec visualisation de forme d'onde, aperçus de 30 secondes et étiquettes de genre hiérarchiques.
Potato Team·
Annotation de classification de genres musicaux
La classification de genres musicaux alimente les systèmes de recommandation, la génération de playlists et la découverte musicale. Ce tutoriel montre comment construire des interfaces d'annotation pour l'étiquetage de genres avec des aperçus audio et des taxonomies hiérarchiques.
Classification de genre basique
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
audio_display: waveform
waveform_color: "#EC4899"
progress_color: "#F472B6"
speed_control: true
show_duration: true
name: primary_genre
description: "Select the primary genre"
labels:
- Rock
- Pop
- Hip-Hop
- Electronic
- Jazz
- Classical
- R&B
- Country
- Metal
- FolkTaxonomie hiérarchique de genres
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"
conditional:
depends_on: genre
options:
Rock:
- Classic Rock
- Alternative
- Indie Rock
- Hard Rock
- Punk
- Grunge
Electronic:
- House
- Techno
- Trance
- Drum & Bass
- Ambient
- Dubstep
"Hip-Hop":
- East Coast
- West Coast
- Trap
- Conscious
- Lo-fi
Pop:
- Synth Pop
- Dance Pop
- Indie Pop
- K-Pop
- Teen Pop
Jazz:
- Bebop
- Smooth Jazz
- Fusion
- Big Band
- Cool Jazz
Classical:
- Baroque
- Romantic
- Contemporary
- Opera
- ChamberÉtiquetage multi-labels de genres
La musique couvre souvent plusieurs genres :
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
min_selections: 1
max_selections: 3
- annotation_type: radio
name: primary_genre
description: "Which is the PRIMARY genre?"
dynamic_from: genres # Only show selected genres as optionsConfiguration complète d'annotation musicale
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
audio_display: waveform
waveform_color: "#8B5CF6"
progress_color: "#A78BFA"
cursor_color: "#F59E0B"
height: 100
show_duration: true
show_current_time: true
speed_control: true
speed_options: [0.75, 1.0, 1.25, 1.5]
volume_control: true
default_volume: 0.7
autoplay: false
loop: 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
min_selections: 1
max_selections: 3
# 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
min_selections: 1
# 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
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: |
## Sélection du genre
- Choisissez 1 à 3 genres qui décrivent le mieux le morceau
- Sélectionnez le genre applicable le plus spécifique
- En cas de doute, orientez-vous vers des catégories plus larges
## Évaluation de l'ambiance
- Considérez le ton émotionnel global
- Un morceau peut avoir plusieurs ambiances
- Pensez à ce que la musique vous fait ressentir
## Énergie et dansabilité
- Énergie : tempo, intensité, puissance
- Dansabilité : rythme, clarté du beat, groove
## Conseils d'écoute
- Écoutez au moins 30 secondes
- Prêtez attention aux drops, changements et transitions
- Considérez l'instrumentation et le style de production
Format de sortie
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
}
}Conseils pour l'annotation musicale
- Casque de qualité : essentiel pour les nuances de genre
- Volume constant : évitez la fatigue liée aux ajustements
- Aperçu complet : écoutez suffisamment pour entendre les changements
- Connaissance des genres : familiarisez-vous avec les définitions de genres
- Faites des pauses : la fatigue auditive affecte le jugement
Prochaines étapes
- Ajoutez la détection d'événements audio pour l'identification d'instruments
- Configurez le crowdsourcing pour des perspectives diversifiées
- Apprenez-en plus sur les métriques d'accord pour la musique
Documentation audio complète sur /docs/features/audio-annotation.