Skip to content

An AI-powered searchable encyclopedia for audio mixing techniques using ChromaDB

Notifications You must be signed in to change notification settings

Milesy1/Mixing-Library

Repository files navigation

🎚️ Mixing Encyclopedia

An AI-powered searchable knowledge base for audio mixing techniques, built with ChromaDB and Groq

Live Repository: github.com/Milesy1/Mixing-Library

Python License: MIT Jupyter

🎯 What is this?

Transform your scattered mixing notes into an intelligent, searchable encyclopedia. Ask questions in plain English and get instant, context-aware answers powered by AI - all from your personal knowledge base.

Example queries:

  • "How should I compress kick drums for EDM?"
  • "What's the best way to prevent frequency masking?"
  • "How do I create the 80s gated reverb sound?"

✨ Features

  • 🔍 Semantic Search - Find relevant techniques using natural language
  • 🤖 AI-Powered Answers - Groq's fast LLMs provide clear, specific responses
  • 📊 Context Citations - Every answer includes source references
  • 📚 Browse & Filter - Explore your knowledge by category
  • 🎨 Beautiful Interface - Clean Jupyter notebook with formatted output
  • 💾 Persistent Storage - ChromaDB vector database for instant retrieval
  • 🔧 Easy to Extend - Add knowledge via simple JSON format

🚀 Quick Start

Prerequisites

Installation

# Clone the repository
git clone https://github.com/yourusername/mixing-encyclopedia.git
cd mixing-encyclopedia

# Install dependencies
pip install -r requirements.txt

# Set up your API key
cp .env.example .env
# Edit .env and add your Groq API key

# Load the knowledge base
python ingest.py

# Launch Jupyter
jupyter notebook mixing_encyclopedia.ipynb

📖 Usage

Querying Your Knowledge

# Simple query
ask("How should I EQ cellos?")

# Get more context (5 relevant entries instead of 3)
ask("Compression settings for kicks?", n_results=5)

# See what context gets sent to the AI
ask("Vocal reverb tips?", show_context=True)

# Use a different Groq model
ask("How to sidechain?", model="mixtral-8x7b-32768")

Browsing Your Database

# Show all categories
categories()

# Browse all entries
browse()

# Filter by category
browse(category="Drums")

# Limit results
browse(limit=5)

📚 Included Knowledge

The repository includes 31 professional mixing techniques covering:

  • Drums: Kick compression, snare EQ, hi-hat mixing, gated reverb
  • Vocals: Reverb, de-essing, doubling/stacking, compression
  • Bass: 808s, bass guitar, kick/bass balance
  • Mix Techniques: Frequency masking, 3D stereo imaging, automation, reference mixing
  • Compression: Parallel compression, sidechain, mix bus, ratios
  • EQ: Dynamic EQ, frequency ranges, muddy mix fixes
  • Effects: Fattening, delays, reverb types, spatial processing
  • And more!

Featured sources:

  • "The Art of Mixing" by David Gibson
  • Professional mixing workshops
  • Modern production techniques

🎓 Adding Your Own Knowledge

  1. Edit data/knowledge.json:
{
  "topic": "Your Technique Name",
  "category": "Drums",
  "source": "Where You Learned This",
  "content": "Detailed description with specific settings, frequencies, ratios, times..."
}
  1. Reload the database:
python ingest.py
  1. Restart Jupyter kernel and re-run setup cells

🏗️ Project Structure

mixing-encyclopedia/
├── mixing_encyclopedia.ipynb  # Main Jupyter notebook
├── ingest.py                  # Knowledge loading script
├── data/
│   └── knowledge.json         # Your mixing knowledge
├── chroma_db/                 # Vector database (auto-created)
├── requirements.txt           # Python dependencies
├── .env.example               # API key template
├── .gitignore                # Ignore sensitive files
└── README.md                  # This file

🛠️ Technology Stack

  • ChromaDB - Vector database for semantic search
  • Groq - Ultra-fast LLM inference
  • Jupyter - Interactive notebook interface
  • Python 3.11 - Core language

🎨 Available Groq Models

  • llama-3.3-70b-versatile (default) - Best quality, comprehensive answers
  • mixtral-8x7b-32768 - Good alternative with large context
  • llama-3.1-8b-instant - Fastest responses

💡 Use Cases

  • Learning: Build your personal mixing reference library
  • Quick Reference: Instant answers during mixing sessions
  • Teaching: Share curated knowledge with students
  • Collaboration: Team knowledge base for studios
  • Research: Organize techniques from books, courses, videos

🤝 Contributing

Contributions welcome! Ideas:

  • Add more mixing techniques to data/knowledge.json
  • Improve the notebook interface
  • Add new query features
  • Create pre-built knowledge packs (rock, EDM, orchestral, etc.)
  • Add export features (PDF, Markdown)

📄 License

MIT License - feel free to use for personal or commercial projects!

🙏 Credits

Knowledge Sources:

  • "The Art of Mixing" by David Gibson
  • Professional mixing engineers and educators
  • Community contributions

Built with:

  • ChromaDB for vector storage
  • Groq for AI inference
  • Jupyter for the interface

📞 Support

🌟 Star History

If this project helps your mixing workflow, give it a star! ⭐


Made with ❤️ for audio engineers, producers, and mix enthusiasts

About

An AI-powered searchable encyclopedia for audio mixing techniques using ChromaDB

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published