AI-Powered Audio Engine for Studio-Quality Vocals
Transform phone-recorded vocals into professional, studio-quality songs β no mixing or mastering knowledge required.
Features β’ What's Different β’ Quick Start β’ Architecture β’ Contributing
AutoMix is a web-based AI audio engine designed specifically for beginners who want to create professional-sounding music without years of audio engineering experience. Upload your phone-recorded vocals, and our AI handles everything β from noise reduction to pitch correction to professional mastering.
| Feature | Traditional DAWs | AutoMix |
|---|---|---|
| Learning Curve | Months to years | Minutes |
| Plugin Knowledge | 50+ plugins to master | Zero plugins to learn |
| Mixing Expertise | Required | AI handles it |
| Price | $200-$600+ | Free/Affordable |
| Platform | Desktop only | Web-based, any device |
| Feature | Auto-Tune Apps | AutoMix |
|---|---|---|
| Processing | Pitch only | Full vocal chain |
| Quality | Basic | Studio-grade |
| Intelligence | Rule-based | AI-adaptive |
| Output | Processed vocals | Complete mixed song |
-
π§ AI-Powered Smart Mixing
Unlike simple auto-tune apps, AutoMix analyzes your vocal characteristics and automatically applies a complete professional mixing chain β EQ, compression, de-essing, reverb, and more β optimized for YOUR voice. -
π± Phone Recording Specialist
Built specifically to rescue phone recordings. Our AI detects and fixes common phone recording issues: room noise, harsh frequencies, inconsistent levels, and more. -
ποΈ Simplified Macro Controls
Instead of 100+ confusing parameters, users get just 4 intuitive sliders:- AutoTune Strength β Natural to T-Pain
- Reverb Amount β Dry to ambient
- Polish Level β Raw to studio sheen
- Vocal Loudness β Quiet to punchy
-
π¬ Reference Track Matching
Upload a reference song you love, and AutoMix will analyze its vocal tone and match your mix to that professional sound. -
β‘ Real-Time Preview + Cloud Render
Hear changes instantly in your browser, then render final high-quality audio in the cloud with zero compression.
- β Intelligent Gain Staging β Auto-normalize to optimal levels
- β Noise Reduction β Neural network-powered (RNNoise)
- β Dynamic EQ β Subtractive (mud/harshness removal) and additive (presence/air)
- β Multi-stage Compression β Leveling + Control compression
- β Professional De-Esser β Dynamic sibilance control
- β AutoTune β Key-aware pitch correction with humanization
- β Saturation β Tube harmonics for warmth
- β Reverb & Delay β Space and dimension
- β Mastering Chain β Multiband compression + true-peak limiting
- π΅ Automatic key and scale detection
- π€ Gender-aware processing (different EQ curves)
- π€ Phone recording quality detection
- π Reference track tonal matching
- ποΈ Smart parameter optimization
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β CLIENT (PWA) β
β React Frontend + Web Audio API + AudioWorklet β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β BACKEND API β
β Supabase (Auth + DB + Storage + Edge Functions) β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β WORKER (Cloud Render) β
β Docker container for offline high-quality rendering β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
| Component | Technology |
|---|---|
| Frontend | React 18, TypeScript, Vite |
| Audio Engine | Web Audio API, AudioWorklet |
| Backend | Supabase (Postgres, Auth, Storage, Edge Functions) |
| Workers | Docker, Node.js |
| Pitch Detection | Essentia.js / Custom algorithms |
| Noise Reduction | RNNoise (WASM) |
- Node.js 18+
- npm or yarn
- Supabase account (free tier works)
# Clone the repository
git clone https://github.com/gajanansr/audioEngine.git
cd audioEngine
# Install dependencies
npm install
# Copy environment template
cp .env.example .env
# Fill in your Supabase credentials in .env
# Build the audio engine
npm run build
# Start the web app
cd web
npm install
npm run devThe app will be available at http://localhost:5173
# Supabase
SUPABASE_URL=https://your-project.supabase.co
SUPABASE_ANON_KEY=your-anon-key
SUPABASE_SERVICE_KEY=your-service-key
# Worker (optional, for cloud rendering)
POLL_INTERVAL_MS=5000
WORKER_ID=worker-1audioEngine/
βββ src/ # Core audio engine (TypeScript)
β βββ core/ # Audio graph management
β βββ plugins/ # DSP plugins (EQ, Compressor, etc.)
β β βββ dynamics/ # Compressor, Limiter, De-Esser
β β βββ eq/ # Parametric EQ
β β βββ effects/ # Reverb, Delay, Saturation
β β βββ pitch/ # AutoTune, Pitch Detection
β βββ ai/ # AI analyzers & optimizers
β βββ chains/ # Vocal chain configurations
β βββ macros/ # User-facing macro controls
βββ web/ # React frontend
β βββ src/
β βββ components/ # UI components
β βββ pages/ # Route pages
β βββ hooks/ # Custom React hooks
βββ worker/ # Cloud rendering worker
βββ supabase/ # Database schema & types
βββ docs/ # Documentation
We welcome contributions from developers of all skill levels! Here's how you can help:
| Type | Description |
|---|---|
| π Bug Reports | Found a bug? Open an issue with steps to reproduce |
| π‘ Feature Requests | Have an idea? Open a discussion or issue |
| π Documentation | Improve README, add examples, write tutorials |
| π§ Code | Pick an issue and submit a PR |
| π§ͺ Testing | Write tests, find edge cases |
| π¨ Design | UI/UX improvements |
-
Fork the repository
-
Clone your fork
git clone https://github.com/YOUR_USERNAME/audioEngine.git cd audioEngine -
Create a branch
git checkout -b feature/your-feature-name
-
Install dependencies
npm install cd web && npm install
-
Make your changes
- Follow the existing code style
- Add tests for new features
- Update documentation as needed
-
Run tests
npm run test npm run lint -
Commit your changes
git add . git commit -m "feat: add your feature description"
We follow Conventional Commits:
feat:New featurefix:Bug fixdocs:Documentationrefactor:Code refactoringtest:Adding testschore:Maintenance
-
Push and create PR
git push origin feature/your-feature-name
Then open a Pull Request on GitHub.
Look for issues labeled good first issue β these are great for newcomers:
- π Documentation improvements
- π§ͺ Adding unit tests
- π¨ UI polish
- π Small bug fixes
- TypeScript for all code
- ESLint for linting
- Prettier for formatting (coming soon)
- Meaningful variable/function names
- Comments for complex DSP algorithms
Want to add a new audio plugin? Here's the interface to implement:
interface AudioPlugin {
id: string;
name: string;
type: 'insert' | 'send';
bypass: boolean;
process(input: Float32Array, output: Float32Array): void;
setParameter(name: string, value: number): void;
getParameter(name: string): number;
getParameterDescriptors(): ParameterDescriptor[];
}See src/plugins/base/BasePlugin.ts for the base class, and check existing plugins for examples.
- Core audio graph manager
- Basic plugins (EQ, Compressor, Limiter)
- AutoTune module
- AI parameter optimizer
- Macro control system
- WASM pitch correction (higher quality)
- RNNoise integration
- Reference track matching
- Cloud rendering pipeline
- Mobile-optimized UI
- Preset system
This project is licensed under the MIT License β see the LICENSE file for details.
- RNNoise β Neural network noise suppression
- Essentia.js β Audio analysis library
- Supabase β Backend infrastructure
Have questions? Open an issue or reach out!
Made with β€οΈ for musicians who just want to sound good