Skip to content

Latest commit

Β 

History

History
174 lines (122 loc) Β· 6.31 KB

File metadata and controls

174 lines (122 loc) Β· 6.31 KB

Mixtape Documentation

Welcome to the comprehensive documentation for Mixtape, an AI-powered audio analysis platform that provides intelligent mix feedback to music producers.

Platform Overview

Mixtape combines audio engineering expertise with large language models to deliver actionable feedback on audio mixes. The platform consists of:

  • Engine – LangGraph-powered workflow orchestration (@mixtapelabs/engine)
  • Main API – Authentication, session management, workflow coordination
  • Microservices – Metadata extraction, DSP analysis, AI feedback generation
  • Web App – React-based user interface

Documentation Sections

πŸš€ Getting Started

New to Mixtape? Start here.

πŸ“š Domain Knowledge

Core technical concepts across audio, security, and data.

πŸ—οΈ System Architecture

High-level design and architectural decisions.

βš™οΈ Engine Architecture

Workflow orchestration and dependency injection.

πŸ”Œ Platform Services

Microservices that power the platform.

πŸ“Š Performance & Operations

Performance characteristics, deployment, and known issues.

πŸ› οΈ API & Development

API reference and development practices.

Quick Start

Get the engine running in under 5 minutes:

# Clone the repository
git clone https://github.com/mixtapelabs/engine.git
cd engine

# Install dependencies
npm install

# Run tests
npm test

# Build the package
npm run build

Use in your project:

import { runMixtapeSession } from '@mixtapelabs/engine';

const deps = {
  audioMetadataClient: { /* implementation */ },
  audioAnalysisClient: { /* implementation */ },
  feedbackClient: { /* implementation */ }
};

const engineState = await runMixtapeSession({
  sessionId: 'uuid',
  uploadUrl: 'https://cdn.example.com/mix.wav',
  userContext: { daw: 'Ableton', genre: 'trap', experienceLevel: 'intermediate' }
}, deps);

console.log(engineState.feedback); // AI-generated mix feedback

Workflow Visualization

flowchart TB
    Start([User Uploads Audio]) --> Validate[Validate Input]
    Validate --> Metadata[Fetch Metadata<br/>1-3 seconds]
    Metadata --> Analysis[Analyze Audio<br/>5-30 seconds]
    Analysis --> Feedback[Generate Feedback<br/>3-10 seconds]
    Feedback --> Persist[Persist to DB]
    Persist --> End([Return Results])

    style Start fill:#e1f5ff
    style Validate fill:#f3e5f5
    style Metadata fill:#fff9c4
    style Analysis fill:#ffecb3
    style Feedback fill:#c8e6c9
    style Persist fill:#e8f5e9
    style End fill:#e1f5ff
Loading

Total Duration: 10-60 seconds (sequential execution)

Key Features

βœ… Consistent State Management – Zod schemas ensure type safety across services βœ… Composable Workflow – LangGraph nodes are modular and extensible βœ… Dependency Injection – Swap clients for testing (stubs) or production (HTTP) βœ… Portable Library – Use in API, CLI, batch jobs, or anywhere Node.js runs βœ… Production Ready – TypeScript, Vitest, ESLint, comprehensive test coverage

Technical Stack

  • Languages: TypeScript (API/Engine), Python (Analysis Service)
  • Frameworks: Express, Next.js, LangGraph
  • Database: PostgreSQL + Prisma ORM
  • Audio: ffprobe, librosa, pyloudnorm, essentia
  • AI: OpenAI GPT-4
  • Infrastructure: Docker, Docker Compose

Need Help?

  • πŸ“– Documentation: You're here! Explore the sidebar for detailed guides
  • πŸ’¬ Community: Join discussions on GitHub Issues
  • πŸ› Bug Reports: Create an issue
  • πŸ“§ Contact: engineering@mixtapelabs.com

What's Next?


Documentation Version: 2.0 Last Updated: November 18, 2025 Engine Version: 1.0.0