Stemify is a modern web application that uses advanced AI technology to separate music tracks into individual components (vocals, drums, bass, guitar, piano). Built with Next.js, Supabase, and powered by HT-Demucs AI models.
- AI-Powered Separation: Extract vocals, drums, bass, guitar, and piano from any audio track
- Multiple Quality Levels: Standard and Pro quality separation options
- Flexible Pricing: Free tier, Creator ($9/mo or $60/year), and Studio ($19/mo or $180/year) plans with yearly savings
- Real-time Processing: Live progress updates during separation
- Dark/Light Mode: Beautiful UI with theme switching
- Secure Storage: Automatic file cleanup based on subscription tier
- Payment Integration: Stripe-powered credit system
- Frontend: Next.js 15, TypeScript, Tailwind CSS
- UI Components: shadcn/ui, Radix UI
- Backend: Supabase (Database, Auth, Storage)
- AI Processing: HT-Demucs via Sieve API
- Payments: Stripe
- Deployment: Vercel
Before running Stemify, you need to have the following installed:
- Node.js 18+ - Download from nodejs.org
- FFmpeg - Required for accurate audio metadata extraction
macOS (using Homebrew):
brew install ffmpeg
Ubuntu/Debian:
sudo apt update
sudo apt install ffmpeg
Windows:
- Download from ffmpeg.org
- Add ffmpeg to your system PATH
- Verify installation:
ffmpeg -version
Verify Installation:
ffprobe -version
- npm or yarn
- Supabase account
- Stripe account
- Sieve account (free credits available)
-
Clone the repository
git clone <repository-url> cd stemify
-
Install dependencies
npm install
-
Setup environment variables
cp env.template .env.local
Fill in your actual API keys and configuration values.
-
Run the development server
npm run dev
- Open your browser Navigate to http://localhost:3000
stemify/
├── app/ # Next.js App Router
│ ├── globals.css # Global styles
│ ├── layout.tsx # Root layout
│ └── page.tsx # Homepage
├── components/ # React components
│ ├── ui/ # shadcn/ui components
│ ├── theme-provider.tsx
│ └── theme-toggle.tsx
├── lib/ # Utilities and configurations
│ ├── constants.ts # App constants
│ ├── types.ts # TypeScript types
│ └── utils.ts # Utility functions
├── public/ # Static assets
└── env.template # Environment variables template
- Colors: Emerald accent (#22C55E) with dark/light mode support
- Typography: Inter (body), Sora (headings), Roboto Mono (code)
- Components: Consistent shadcn/ui component library
- Responsive: Mobile-first design approach
See env.template
for all required environment variables:
- Supabase: Database and authentication
- Sieve: AI model processing (free credits for development)
- Stripe: Payment processing
- App Configuration: URLs and settings
- Free: 5 min/month, 4 stems (vocals, drums, bass, other), 320kbps MP3, watermark
- Creator:
- Monthly: $9/month | Yearly: $60/year (save $48/year - 44% discount)
- 60 min/month, 6 stems (+ guitar, piano), WAV + MP3, fine-tuned model option
- Studio:
- Monthly: $19/month | Yearly: $180/year (save $48/year - 21% discount)
- 200 min/month, 6 stems (+ guitar, piano), WAV + MP3, fine-tuned model option
- Small: 30 minutes for $5
- Medium: 120 minutes for $15
- Large: 500 minutes for $40
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
This project is licensed under the MIT License.
For support, email support@stemify.com or join our Discord community.