Audio Routing
Route audio between applications and devices. Send Discord to headphones while game audio goes to speakers, or create complex multi-destination audio flows.
Overview
Audio Routing lets you control where each application's audio goes. Send different apps to different outputs, split audio to multiple destinations, or create virtual audio cables to route audio between applications.
What You Can Do
- Per-App Outputs: Send each app to different speakers/headphones
- Multi-Destination: Send one app to multiple outputs simultaneously
- Virtual Cables: Route app output to another app's input
- Audio Mixing: Combine multiple sources into one stream
- Selective Monitoring: Listen to specific apps via specific devices
- Zero Latency: Driver-level routing with no audio delay
Example Routing Scenario:
Key Concepts
Audio Sources
Applications that produce audio:
- Application Audio: Games, music players, browsers, voice chat
- System Sounds: Windows notifications, alerts
- Virtual Outputs: Jyv Desktop-created audio sources
Audio Destinations
Where audio can be routed:
- Physical Devices: Speakers, headphones, monitors with audio
- Virtual Cables: Internal audio pipelines between apps
- Recording Inputs: Send to OBS, Audacity, etc.
- Network Streams: Send to remote devices (coming soon)
Routing Rules
Rules that determine audio flow:
{
"source": "discord.exe", // Audio source
"destinations": [
{
"device": "Headphones", // Where to send
"volume": 100, // Volume level (0-200%)
"enabled": true
},
{
"device": "Virtual Cable 1", // Can have multiple destinations
"volume": 75,
"enabled": true
}
],
"priority": 1, // Rule priority (higher = first)
"conditions": { // When to apply (optional)
"profile": "Gaming",
"time": "always"
}
}Virtual Audio Cables
Internal audio pipelines that route audio between applications:
- Purpose: Send one app's output to another app's input
- Zero Latency: Direct memory transfer, no encoding/decoding
- Example: Send game audio to Discord so friends hear your gameplay
- Unlimited: Create as many virtual cables as needed
Basic Routing
Open Audio Routing Panel
Click the Jyv Desktop tray icon → Audio Routing
Or use hotkey:
Ctrl + Shift + R(configurable)Select an Application
Find the app you want to route in the list of active audio sources.
Click on the app to expand routing options.
If an app isn't listed, it's not currently playing audio. Start audio playback in that app to make it appear.Choose Output Device
Click the Output Device dropdown and select where to send audio.
Available options include all connected audio devices plus virtual cables.
Adjust Volume (Optional)
Use the volume slider to set app-specific volume (0-200%). See Per-App Volume for advanced volume control.
Save to Profile
Click Save to Profile to remember this routing configuration.
Routing will auto-apply whenever you switch to this profile.
{
"routing": {
"discord.exe": {
"output": "Headphones (Realtek)",
"volume": 100
},
"csgo.exe": {
"output": "Speakers (Logitech)",
"volume": 85
}
}
}Advanced Routing
Multi-Destination Routing
Send one application to multiple outputs simultaneously:
{
"source": "spotify.exe",
"destinations": [
{
"device": "Headphones",
"volume": 100,
"enabled": true
},
{
"device": "Speakers",
"volume": 60, // Lower volume on speakers
"enabled": true
},
{
"device": "Virtual Cable - Stream Mix",
"volume": 80,
"enabled": true // Also send to OBS
}
]
}Use Case: Listen to music on headphones while also sending a quieter version to speakers for room ambiance, and a controlled mix to OBS for stream.
Conditional Routing
Apply routing rules based on conditions:
{
"conditionalRouting": [
{
"source": "discord.exe",
"destination": "Headphones",
"conditions": {
"profile": "Gaming", // Only when Gaming profile active
"time": {
"start": "18:00", // Only during evening hours
"end": "23:00"
}
}
},
{
"source": "discord.exe",
"destination": "Speakers",
"conditions": {
"profile": "Work", // Different routing for Work profile
"time": "always"
}
}
]
}Audio Mixing
Combine multiple audio sources into one virtual output:
{
"virtualMixer": {
"name": "Stream Mix",
"sources": [
{
"app": "csgo.exe",
"volume": 70, // Game at 70%
"enabled": true
},
{
"app": "spotify.exe",
"volume": 30, // Music at 30%
"enabled": true
},
{
"app": "discord.exe",
"volume": 100, // Discord at 100%
"enabled": true
}
],
"output": "Virtual Cable - OBS",
"masterVolume": 100
}
}Use Case: Create a balanced audio mix for streaming with game, music, and voice chat, then send the combined mix to OBS.
Routing Chains
Route audio through multiple processing stages:
Virtual Audio Cables
Creating Virtual Cables
Open Virtual Cables Manager
Settings → Audio → Virtual Cables
Create New Cable
Click + New Virtual Cable
Give it a descriptive name (e.g., "Game Audio to Discord")
Configure Cable
Set audio format (sample rate, bit depth, channels):
Virtual Cable Settings{ "name": "Game to Discord", "sampleRate": 48000, // 48kHz recommended "bitDepth": 24, // 24-bit for quality "channels": 2, // Stereo "bufferSize": 480 // Low latency (10ms) }Use the Cable
The cable now appears in device lists as both an output and input device.
Send audio TO cable: Select it as app output
Receive audio FROM cable: Select it as app input
Common Virtual Cable Setups
Setup 1: Game Audio to Discord
Let friends hear your game audio during voice chat
- Create virtual cable named "Game Share"
- Route game audio to Headphones + Game Share cable
- In Discord settings, set "Input Device" to Monitor of Game Share
- Adjust game volume in Jyv to control how loud friends hear it
Setup 2: Stream Mix for OBS
Create perfect audio balance for streaming
- Create virtual cable named "Stream Mix"
- Create virtual mixer combining game + music + Discord
- Send mixer output to Stream Mix cable
- In OBS, add "Stream Mix" as audio input source
- Now OBS receives pre-mixed, balanced audio
Setup 3: Multi-Track Recording
Record each audio source to separate tracks
- Create 4 virtual cables: Game, Music, Discord, Mic
- Route each source to its dedicated cable
- In OBS/Audacity, add each cable as separate audio track
- Edit volume independently in post-production
Use Cases
Gaming + Voice Chat
Goal: Game audio to speakers, Discord to headphones
Setup:
{
"routing": {
"csgo.exe": {
"output": "Speakers",
"volume": 85
},
"discord.exe": {
"output": "Headphones",
"volume": 100
}
}
}Result: Immersive game audio from speakers while keeping voice chat private in headphones. No audio mixing or interference.
Content Creation
Goal: Record gameplay, music, and commentary as separate tracks
Setup:
- Create 3 virtual cables: "Game Track", "Music Track", "Voice Track"
- Route game to speakers + Game Track cable
- Route music to speakers + Music Track cable
- Route microphone to Voice Track cable
- In OBS, add each cable as separate audio source
- Adjust individual track volumes in post-production
Work From Home
Goal: Meeting audio to headphones, notifications to speakers
Setup:
{
"routing": {
"zoom.exe": {
"output": "Headphones",
"volume": 100
},
"teams.exe": {
"output": "Headphones",
"volume": 100
},
"System Sounds": {
"output": "Speakers",
"volume": 50
}
}
}Result: Focus on meetings via headphones while still hearing important system notifications from speakers.
DJ / Music Production
Goal: Preview track in headphones, master output to speakers
Setup:
- Route DAW master output to speakers/monitors
- Route DAW preview/cue output to headphones
- Route reference tracks to speakers for A/B comparison
- Keep Discord/communication apps on headphones only
Troubleshooting
Routing Not Applied
Symptoms: Audio still goes to default device despite routing rules
Solution:
Check App Detection
Verify app appears in Audio Routing panel with active audio meter
Verify Rule Priority
Ensure routing rule has higher priority than conflicting rules
Restart App
Some apps cache audio devices - restart the app to apply routing
Check Exclusive Mode
Disable exclusive mode in Windows sound settings for that device
Virtual Cable No Audio
Cause: Cable not properly connected or wrong format
Solution:
- Verify cable is enabled in Virtual Cables manager
- Check sample rate matches source and destination (48kHz recommended)
- Restart both source and destination applications
- Use cable monitor in Jyv Desktop to verify audio is flowing
- Check cable isn't muted in Windows volume mixer
Audio Cutting Out
Cause: Buffer underruns from small buffer size or high CPU load
Solution:
- Increase virtual cable buffer size (Settings → Virtual Cables)
- Recommended: 480 samples (10ms) for low latency, 960 (20ms) for stability
- Close unnecessary applications to reduce CPU load
- Disable audio processing features if not needed
- Update audio drivers to latest version
Routing Resets After Restart
Cause: Routing not saved to profile
Solution:
- After configuring routing, click Save to Profile
- Enable "Auto-activate profile on startup" in profile settings
- Or enable "Remember last routing" in Settings → Audio
Was this helpful?
Need more help?
Can't find what you're looking for? Our support team is here to help.