Audio Routing

Features

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.

5 min readUpdated December 2025

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.

Real-Time Processing: All routing happens at the driver level with zero latency. Unlike virtual cable software, Jyv Desktop doesn't add delay or quality loss.

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:

Discord → Headphones
Game Audio → Speakers
Music Player → Headphones + Speakers
OBS Mic Input → Virtual Cable → Discord Input

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:

Routing Rule Structure
{
  "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

  1. Open Audio Routing Panel

    Click the Jyv Desktop tray icon → Audio Routing

    Or use hotkey: Ctrl + Shift + R (configurable)

  2. 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.
  3. Choose Output Device

    Click the Output Device dropdown and select where to send audio.

    Available options include all connected audio devices plus virtual cables.

  4. Adjust Volume (Optional)

    Use the volume slider to set app-specific volume (0-200%). See Per-App Volume for advanced volume control.

  5. Save to Profile

    Click Save to Profile to remember this routing configuration.

    Routing will auto-apply whenever you switch to this profile.

Simple Routing Example
{
  "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:

Multi-Destination Example
{
  "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:

Conditional Routing Example
{
  "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:

Audio Mixer Configuration
{
  "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:

1. Microphone → Virtual Cable 1
2. Virtual Cable 1 → Noise Suppression → Virtual Cable 2
3. Virtual Cable 2 → Voice Enhancement → Virtual Cable 3
4. Virtual Cable 3 → Discord Input

Virtual Audio Cables

Creating Virtual Cables

  1. Open Virtual Cables Manager

    Settings → Audio → Virtual Cables

  2. Create New Cable

    Click + New Virtual Cable

    Give it a descriptive name (e.g., "Game Audio to Discord")

  3. 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)
    }
  4. 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
Latency Consideration: Virtual cables add minimal latency (typically 5-10ms). For ultra-low latency needs, use direct routing instead of cables.

Use Cases

Gaming + Voice Chat

Goal: Game audio to speakers, Discord to headphones

Setup:

Gaming Routing Configuration
{
  "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:

Work Profile Routing
{
  "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:

  1. Check App Detection

    Verify app appears in Audio Routing panel with active audio meter

  2. Verify Rule Priority

    Ensure routing rule has higher priority than conflicting rules

  3. Restart App

    Some apps cache audio devices - restart the app to apply routing

  4. 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
For complex routing issues, enable Audio Debug Mode in Settings → Advanced to see detailed audio flow information. Check our Audio Troubleshooting Guide for more help.

Need more help?

Can't find what you're looking for? Our support team is here to help.