Skip to content

itzRR/VybeShift

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎙 VybeShift - Real-Time Voice Changer

Free · Open-Source · Windows 10/11 · Built with C# + NAudio
Low-latency, modular DSP voice engine for gamers, streamers, and creators.


⬇ Download

Download VybeShift v1.0.1

Or browse all releases:
https://github.com/itzRR/VybeShift/releases


🖼 Preview

VybeShift UI


⚠ Windows SmartScreen Notice

Because VybeShift is not digitally signed yet, Windows may show:

"Windows protected your PC"

To install:

  1. Click More Info
  2. Click Run Anyway

This is normal for independent developer builds.


📋 Requirements

Before running or building VybeShift, install:


1️⃣ .NET 8 SDK

Download:
https://dotnet.microsoft.com/en-us/download/dotnet/8.0

Choose: SDK 8.x — Windows x64 Installer

Verify installation:

dotnet --version

Expected output:

8.x.x

2️⃣ VB-Cable (Free Virtual Audio Device)

Download:
https://vb-audio.com/Cable/

Run:

VBCABLE_Setup_x64.exe

as Administrator.

This allows Discord / Zoom / OBS to see VybeShift as a microphone.


🎙 How to Use

  1. Install VB-Cable
  2. Launch VybeShift
  3. Set Input → your physical microphone
  4. Set OutputCABLE Input (VB-Audio Virtual Cable)
  5. In Discord / Zoom → set mic to → CABLE Output (VB-Audio Virtual Cable)
  6. Press the ⏻ Power button
  7. Choose a preset or adjust sliders

🎛 Built-in Presets

Preset Effect Description
🎙 Normal Clean passthrough + compressor
🎸 Deep Male Pitch -6st + darker formants
🌸 Female Pitch +8st + bright formants + chorus
🤖 Robot STFT phase-reset robotic tone
😈 Demon Pitch -9st + distortion + reverb
🌟 Anime Pitch +5st + shimmer chorus
🏔 Cave Echo Large reverb room simulation
🐿 Chipmunk Pitch +12st

⌨ Global Hotkeys

Key Action
F9 Toggle engine ON/OFF
F10 Mute/unmute input
F11 Cycle to next preset

Hotkeys work globally (background supported).


🏗 Build & Run (Developer Mode)

# Open folder in terminal
cd "c:\path\to\VybeShift"

# Build solution
dotnet build VybeShift.sln --configuration Release

# Run UI project
dotnet run --project VybeShift.UI --configuration Release

Or open VybeShift.sln in Visual Studio 2022 and press F5.


🗂 Project Structure

VybeShift.sln
├── VybeShift.Core/
│   ├── Audio/
│   │   ├── AudioEngine.cs
│   │   ├── DeviceManager.cs
│   │   ├── InputNormalizer.cs
│   │   └── RingBuffer.cs
│   ├── DSP/
│   │   ├── DSPChain.cs
│   │   ├── PitchShiftEffect.cs
│   │   ├── FormantShiftEffect.cs
│   │   ├── ReverbEffect.cs
│   │   ├── RobotEffect.cs
│   │   ├── DistortionEffect.cs
│   │   ├── ChorusEffect.cs
│   │   ├── CompressorEffect.cs
│   │   ├── NoiseGateEffect.cs
│   │   └── LimiterEffect.cs
│   └── Presets/
│       └── PresetManager.cs
└── VybeShift.UI/
    ├── MainWindow.xaml
    ├── Styles/
    └── Services/

🔧 Adding Custom Effects

Every DSP module implements:

public class MyEffect : IAudioEffect
{
    public string Name      => "MyEffect";
    public bool   IsEnabled { get; set; }

    public void Process(Span<float> buffer)
    {
        // Your DSP logic here
    }

    public void Reset()
    {
        // Clear internal state
    }
}

Register it in DSPChain.CreateDefault().


⚙ Performance Architecture

  • 48000 Hz internal engine
  • Mono float32 processing
  • 3-thread pipeline:
    • WASAPI Capture (TimeCritical)
    • DSP Thread (Highest)
    • WASAPI Output
  • Zero allocations in audio hot path
  • Lock-free ring buffer
  • ~12–20ms latency (Shared mode)
  • Optional exclusive mode for lower latency

📦 Building Installer

Install Inno Setup:
https://jrsoftware.org/isinfo.php

Then:

dotnet publish VybeShift.UI -c Release -r win-x64 --self-contained
iscc installer\setup.iss

This generates:

VybeShift_Setup_vX.X.X.exe

🔒 Privacy

  • No telemetry
  • No data collection
  • No cloud processing
  • 100% local audio engine

📜 License

MIT License


👨‍💻 Developer

Built by Rehan Bandara
Web Designer & Software Engineer


VybeShift — real-time voice shifting with zero compromises on latency.