A powerful Electron app that creates a virtual microphone with real-time audio processing capabilities.
- Microphone Detection: Automatically detects all available audio input devices
- Visual Selection: Click any microphone to select it as the active device
- Virtual Microphone: Creates a virtual audio device that processes the selected microphone's audio stream
- Real-time Processing: Audio processing pipeline for voice conversion and effects
- Default Selection: Automatically selects the system default microphone on first run
- Persistent Settings: Remembers your microphone selection across app restarts
- System Tray Integration: Lives in your system tray for quick access
- Modern UI: Clean, native-looking interface with smooth animations and virtual mic controls
-
Clone the repository:
git clone https://github.com/sundai-club/voice-conversion.git cd voice-conversion -
Set up environment variables:
cp .env.example .env # Edit .env and add your API keys: # - SONIOX_API_KEY: Your Soniox real-time transcription API key # - ELEVENLABS_API_KEY: Your ElevenLabs text-to-speech API key
-
Install dependencies:
brew install blackhole-2ch # reboot after this one! npm install -
Run the app:
npm start
- Click the microphone icon in your system tray to open the microphone list
- Click any microphone in the list to select it as your active device
- Click "Start Virtual Microphone" to begin processing audio from the selected device
- The virtual microphone will appear as a new audio input device in your system
- Your selection is automatically saved and restored when you restart the app
- Use the refresh button (↻) to reload the microphone list if devices change
The app creates a virtual audio pipeline that:
- Captures audio from your selected physical microphone
- Processes the audio stream in real-time (voice conversion, effects, etc.)
- Routes the processed audio to a virtual audio device
- Makes the processed audio available as a system-wide microphone input
To use this as a system-wide virtual microphone, you need to install a virtual audio driver:
macOS:
- BlackHole (Free): Download from GitHub
- Loopback (Paid): Professional audio routing tool
Windows:
- VB-Audio VoiceMeeter (Free): Virtual audio mixer
- Virtual Audio Cable (Free): Simple virtual audio routing
Linux:
- PulseAudio: Built-in virtual sink support
- JACK: Professional audio routing system
See VIRTUAL_AUDIO_SETUP.md for detailed installation instructions.
npm start- Start the Electron appnpm run dev- Start in development mode (if available)
- Node.js 14+
- Electron-compatible operating system (macOS, Windows, Linux)
- Microphone permissions granted to the application
MIT License