Introduction
Overview
The Vibeset pipeline is an AI-driven system that generates custom DJ mixes based on user prompts. It simulates professional DJ expertise by integrating AI and music data analysis.
Components
- Initialization: Generates initial setlist from user prompt
- Validation: Verifies and enriches track information
- Curation: Optimizes setlist length and adds similar tracks
- Finalization: Reorders tracks and provides placement reasoning
System Architecture
High-Level Flow
User Input → Initialization → Validation → Curation → Finalization → Output
Component Interaction (using Vibeset.mix() as example)
- Initialization: gemini_gen(user_prompt, system_prompt)
- Validation: genai_output_validation_yt(initial_setlist, gai_client)
- Curation: musicure_yt(validated_setlist, set_length, mutation_rate)
- Finalization: gemini_fusion(curated_setlist, curated_recs, user_prompt, model, gai_client)
Data Flow
- User prompt (str) → Initial setlist (DataFrame)
- Initial setlist → Validated setlist + Tracks to DB (DataFrames)
- Validated setlist → Curated setlist + Similar songs + Leftovers (DataFrames)