---
title: EQ Template Generator
emoji: 🎙️
colorFrom: blue
colorTo: purple
sdk: static
pinned: false
---
# EQ Template Creator - BYOK Edition
AI-powered vocal analysis and EQ preset generator using Google Gemini API.
This app analyzes your voice and generates custom EQ presets for audio processing software like Audacity.
## Features
- **Bring Your Own Key (BYOK)**: Use your own Gemini API key
- **Browser-based API Key Storage**: Securely store your API key in localStorage
- **Voice Analysis**: AI-powered vocal characteristics analysis
- **Custom EQ Presets**: Generate 10-band EQ settings optimized for your voice
- **Audacity Export**: Download presets in Audacity XML format
## Run Locally
**Prerequisites:** Node.js (v18 or higher)
1. **Install dependencies:**
```bash
npm install
```
2. **Configure API Key (Choose one method):**
**Option A - Browser UI (Recommended):**
- Run the app and enter your Gemini API key in the UI
- Your key will be stored in browser localStorage
**Option B - Environment Variable:**
- Set `VITE_GEMINI_API_KEY` in [.env.local](.env.local)
- Useful for development
3. **Run the app:**
```bash
npm run dev
```
4. **Open your browser:**
- Navigate to http://localhost:3000
## Get a Gemini API Key
1. Visit [Google AI Studio](https://aistudio.google.com/apikey)
2. Sign in with your Google account
3. Create a new API key
4. Copy and paste it into the app's API key settings
## How It Works
1. Enter your Gemini API key (stored locally in your browser)
2. Record or upload an audio sample of your voice
3. Gemini analyzes your vocal characteristics
4. Receive a custom EQ preset tailored to your voice
5. Download the preset for use in Audacity or other audio software
## Technology Stack
- **Frontend:** React 19 + TypeScript
- **Build Tool:** Vite
- **AI:** Google Gemini 2.5 Pro (via @google/genai SDK)
- **Styling:** Tailwind CSS (inline utilities)
## Privacy & Security
- Your API key is stored only in your browser's localStorage
- No keys are sent to any server except Google's Gemini API
- Audio analysis happens via direct API calls to Google Gemini
- No data is stored on external servers