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

  1. Initialization: Generates initial setlist from user prompt
  2. Validation: Verifies and enriches track information
  3. Curation: Optimizes setlist length and adds similar tracks
  4. 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)

  1. Initialization: gemini_gen(user_prompt, system_prompt)
  2. Validation: genai_output_validation_yt(initial_setlist, gai_client)
  3. Curation: musicure_yt(validated_setlist, set_length, mutation_rate)
  4. Finalization: gemini_fusion(curated_setlist, curated_recs, user_prompt, model, gai_client)

Data Flow

  1. User prompt (str) → Initial setlist (DataFrame)
  2. Initial setlist → Validated setlist + Tracks to DB (DataFrames)
  3. Validated setlist → Curated setlist + Similar songs + Leftovers (DataFrames)