oto

A Keyboard-First
Audio Mixer Overlay

A lightweight, keyboard-first desktop audio mixer overlay for windows written in Rust, featuring app-specific volume control and zero-latency global push-to-talk, currently supporting Discord.

oto overlay simulator
PTT READY
System Master
70%
Discord
85%
Spotify
45%
Chrome (YouTube)
30%
Steam Client
15%
Click to Try
J / K

Navigate Up/Down

H / L

Volume Down/Up

M

Mute Selected

ENTER / ESC

Open/Close Discord

Keyboard-First Audio Control

Oto strips away mouse navigation entirely, allowing you to fine-tune your desktop audio pipeline instantly via a lightweight global keyboard overlay.

Vim-like Bindings

Control active process volumes, mute apps, and select settings without reaching for your mouse. Built for developers and Vim power users.

Zero Latency WASAPI

Direct integration with Windows WASAPI audio endpoints ensures lag-free volume routing, per-app mixing, and system-level audio responsiveness.

Local Discord Control

Uses local Discord IPC socket communication to let you adjust per-user volume inside your voice channels directly, bypassing Discord's restrictive overlay whitelist.

Default Keybindings Reference

Toggle Overlay`
Select app (Down / Up)
JK
Change volume (- / +)
HL
Fast volume adjust (step: 10)
Shift+H/L
Toggle MuteM
Discord User List (Expand / Collapse)
EnterEsc
Jump to Top / Bottom
GG/G
Toggle PTT ModeT
Push-to-Talk (Hold)V

Discord API Setup

Because Discord restricts local RPC socket access to whitelisted games, you must configure a private developer application. This runs entirely locally on your machine, ensuring 100% decentralized data privacy.

OAuth2 Redirect Configuration

During developer setup, Discord requires a designated redirect URL. Use the local address below:

http://127.0.0.1Local Only
1

Create Developer Application

Go to the Discord Developer Portal and click New Application. Choose a name like "Oto Mixer".

2

Configure OAuth2 Settings

Select OAuth2 from the left menu. Under Redirects, add http://127.0.0.1 and save changes.

3

Authenticate Local Client

Copy your Client ID and Client Secret (reset secret if needed). Open Oto's settings (⚙ Gear Icon), paste them in, and click save. On restart, authorize the popup window to grant local RPC access.

Frequently Asked Questions

Everything you need to know about setting up and running Oto on your Windows system.

Does Oto require Administrator privileges?

No. Oto runs entirely in standard user-space. It uses native Windows WASAPI COM endpoints to adjust session volumes without needing elevated system administrative rights.

Why does Discord require a custom Client ID?

Discord limits local RPC socket integrations. Using private developer credentials bypasses these restrictions, keeping Oto serverless and private.

Is the overlay visible in full-screen games?

Yes. For optimal overlay drawing and zero performance impact, we recommend running your games in **Borderless Windowed** mode.

What is the performance footprint?

Oto is written in native Rust. It operates in the background using **less than 10MB of RAM** and practically **0% CPU**, ensuring zero impact on your framerates.

Take control of your audio workflow.

Download the Windows installer and start mixing your audio instantly without touching your mouse. 100% free and open-source.