Skip to content

existential-engineering/catalog

Repository files navigation

Catalog

Validate Release License: MIT Data: CC0

Open source database of audio software, plugins, DAWs, and hardware for the music production community.

Overview

This repository contains:

  • YAML Source Files — Human-readable and version-controlled data files
  • SQLite Database — Pre-built database generated from YAML (distributed via GitHub Releases)
  • Validation Scripts — Ensures data integrity and schema compliance
  • CI/CD Automation — Auto-builds and releases on changes

Data Structure

data/
├── manufacturers/     # Companies and developers
│   └── xfer-records.yaml
├── software/          # Plugins, DAWs, and standalone apps
│   ├── serum.yaml
│   └── ableton-live.yaml
└── hardware/          # Audio interfaces, controllers, instruments, etc.
    └── apollo-twin-x.yaml

YAML Format

Manufacturer

slug: xfer-records
name: Xfer Records
url: https://xferrecords.com

Software (Plugin)

name: Serum
manufacturer: xfer-records
primaryCategory: synthesizer
categories:
  - plugin
  - wavetable
formats:
  - au
  - vst3
  - aax
platforms:
  - mac
  - windows
identifiers:
  au: com.xferrecords.Serum
  vst3: com.xferrecords.Serum.vst3
url: https://xferrecords.com/products/serum
description: Advanced wavetable synthesizer with visual feedback

Software (DAW)

name: Live
manufacturer: ableton
primaryCategory: daw
platforms:
  - mac
  - windows
identifiers:
  bundle: com.ableton.live
url: https://ableton.com/live

Hardware

name: Apollo Twin X
manufacturer: universal-audio
primaryCategory: audio-interface
url: https://www.uaudio.com/products/apollo-twin-x
description: Desktop Thunderbolt audio interface with UAD processing

Using the Database

Download Latest Release

# Get the latest SQLite database
curl -L https://github.com/existential-engineering/catalog/releases/latest/download/catalog.sqlite -o catalog.sqlite

Query Examples

-- Search for plugins by name
SELECT s.name, m.name as manufacturer
FROM software s
JOIN manufacturers m ON s.manufacturer_id = m.id
WHERE s.id IN (
  SELECT id FROM software_fts WHERE software_fts MATCH 'synth*'
);

-- Find plugins by category
SELECT s.name, m.name as manufacturer
FROM software s
JOIN manufacturers m ON s.manufacturer_id = m.id
JOIN software_categories sc ON s.id = sc.software_id
WHERE sc.category = 'synthesizer';

-- Get plugin formats and identifiers
SELECT sf.format, sf.identifier
FROM software_formats sf
WHERE sf.software_id = 'serum';

-- Find all DAWs
SELECT s.name, m.name as manufacturer
FROM software s
JOIN manufacturers m ON s.manufacturer_id = m.id
WHERE s.primary_category = 'daw';

Contributing

We welcome contributions! See CONTRIBUTING.md for guidelines.

Quick Start

  1. Fork the repository
  2. Add or update YAML files in data/
  3. Run validation: pnpm validate
  4. Submit a pull request

Adding New Software

  1. Ensure the manufacturer exists in data/manufacturers/
  2. Create a YAML file in data/software/ with the slug as filename
  3. Use categories from schema/categories.yaml
  4. Use formats from schema/formats.yaml

Development

# Install dependencies
pnpm install

# Validate all YAML files
pnpm validate

# Build SQLite database locally
pnpm build

# Type check
pnpm typecheck

License

Related Projects

  • Aureo — Studio organization app that uses this catalog

About

No description or website provided.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Packages

 
 
 

Contributors