Skip to content

SubchiBeats/dj-doctor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

1 Commit
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

DJ Doctor โ€” USB Audio Conflict Diagnostics for Windows

๐ŸŽง DJ Doctor

Diagnosing your setup so you can focus on the mix.

A read-only system health check for DJs, producers, and audio engineers โ€” it finds the driver conflicts, optimizer interference, and power settings that stop your controller from connecting before they ruin your set.

Python License: MIT Platform Read-only Conflicts


๐Ÿค” What is this?

You plug in your controller five minutes before doors. Nothing. Serato says "no hardware connected." You unplug, replug, reboot, swap cables, swear quietly.

Most of the time it isn't broken hardware โ€” it's software fighting over your USB audio: a "PC optimizer" that disabled your audio services, an OEM sound suite hooking the audio stack, a USB hub that powered itself down to "save energy," or a Balanced power plan throttling your CPU mid-track.

DJ Doctor is a one-command checkup for exactly these problems. It scans your Windows system for the known culprits, tells you in plain English what's wrong and exactly how to fix it โ€” and it never changes anything itself. You stay in control.

Run it before a gig to make sure you're ready. Run it when a controller won't connect and you need answers fast.


๐Ÿ“ธ What it looks like

 ____      _   ____             _
|  _ \    | | |  _ \  ___   ___| |_ ___  _ __
| | | |_  | | | | | |/ _ \ / __| __/ _ \| '__|
| |_| | |_| | | |_| | (_) | (__| || (_) | |
|____/ \___/  |____/ \___/ \___|\__\___/|_|
  v1.0.0  โ€”  Diagnosing your setup so you can focus on the mix.
  Read-only health check ยท nothing is changed on your system

๐ŸŽ›๏ธ  USB Audio Devices
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
  โœ” OK: Pioneer DDJ-SB3 [VID_2B73&PID_0031] โ€” connected, status: OK
  โ„น INFO: Known device: Pioneer DDJ-SB3 (Pioneer DJ) โ€” generic driver

๐Ÿ› ๏ธ  Conflicting Services
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
  โœ– CRITICAL: TunedPC: 'TunedPC Service' (TunedPCSvc) โ€” Running
      โ†’ TunedPC aggressively disables Windows services it considers
        'unnecessary', including USB Audio class support... the #1 cause of
        a controller that simply won't show up.
      โ†’ FIX: Open TunedPC -> Services and re-enable 'Windows Audio'...

  โ–ฒ WARNING: Nahimic / A-Volute: 'Nahimic service' (NahimicService) โ€” Running
      โ†’ Nahimic audio effects hook the audio stack at a low level...
      โ†’ FIX: Disable the Nahimic service (services.msc -> Disabled)...

๐Ÿ”‹  Power Configuration
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
  โ–ฒ WARNING: Active power plan is 'Balanced'
      โ†’ Balanced and Power Saver plans throttle the CPU... causes dropouts.
      โ†’ FIX: powercfg /setactive 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c

  โœ– CRITICAL: USB selective suspend is ENABLED
      โ†’ ...that means a disconnect mid-performance.
      โ†’ FIX: powercfg /setacvalueindex SCHEME_CURRENT 2a737441-... 0

โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ ๐Ÿ“‹ Scan Summary โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚   โœ– Critical   2                                                           โ”‚
โ”‚   โ–ฒ Warning    2                                                           โ”‚
โ”‚   โ„น Info       3                                                           โ”‚
โ”‚   โœ” OK         5                                                           โ”‚
โ”‚                                                                            โ”‚
โ”‚   Not gig-ready โ€” fix the critical items above.                            โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ

You can also export a polished, shareable dark-mode HTML report to post when you ask for help on a forum:

dj-doctor scan --report html

๐Ÿ“„ See a full example HTML report โ†’ (download the raw file and open it in your browser โ€” it's a single self-contained page.)


๐Ÿš€ Quick start

Requires Windows 10/11 and Python 3.10+.

pip install dj-doctor
dj-doctor scan

Prefer not to install anything system-wide? Use a one-off:

pip install --user dj-doctor
python -m dj_doctor scan

Or grab a standalone .exe (no Python needed) from the Releases page โ€” just download and run.


๐Ÿ” What it checks

Check What it looks for
๐ŸŽ›๏ธ USB Audio Devices Enumerates connected USB audio gear, flags devices in error/disabled states, and cross-references your controller against a database of known devices for model-specific tips.
๐Ÿงฉ Driver Health Whether your device is on the right driver (generic class vs. manufacturer ASIO), and whether ASIO4ALL is needlessly layered over a native ASIO driver.
๐Ÿ› ๏ธ Conflicting Services Scans Windows services against a database of known offenders โ€” PC optimizers, OEM audio suites, gaming boosters, antivirus, and more.
๐Ÿ“Š Conflicting Processes Catches problem apps that are actually running, plus any process hogging enough CPU to cause dropouts.
๐Ÿ”‹ Power Configuration Active power plan, USB selective suspend, minimum processor state, and PCIe link-state power management.
๐Ÿ”Œ USB Power Management The infamous "Allow the computer to turn off this device to save power" setting on your USB hubs, plus USB controller type (xHCI/eHCI).
โฑ๏ธ DPC Latency Indicators A quick heuristic for drivers notorious for high DPC latency (certain network/WiFi drivers), with a pointer to LatencyMon for the full picture.
๐Ÿ—„๏ธ Registry Configuration Checks that core audio & Plug-and-Play services aren't disabled, the USB audio class driver is enabled, Fast Startup status, and third-party USB filter drivers.

Run everything, or narrow it down:

dj-doctor scan                       # full checkup
dj-doctor scan --quick               # only CRITICAL + WARNING
dj-doctor scan --verbose             # show details for OK/INFO too
dj-doctor scan --only services       # one category
dj-doctor scan --only usb --only power   # a few categories
dj-doctor scan --report html -o report.html   # export a shareable report
dj-doctor scan --report json -o report.json   # machine-readable export

dj-doctor list-conflicts             # browse the conflict database
dj-doctor list-devices               # browse the device database
dj-doctor check-device 2B73:0031     # look up a device by VID:PID

dj-doctor scan also sets a non-zero exit code when it finds problems (2 = critical, 1 = warning) โ€” handy for a pre-gig checklist script.


๐Ÿ›Ÿ Safety first

DJ Doctor is strictly read-only. It reads device, service, power, and registry state and reports on it. It never modifies your system โ€” every fix is shown to you as a command or a set of steps that you choose to run. No silent "optimizations," no surprises. That's the whole point: the tools that broke your setup were the ones that changed things without asking.

It's also offline-first: no network calls, no telemetry, no update checks. Everything runs locally on your machine.


๐Ÿ“š Known conflicts database

DJ Doctor ships with 26+ known conflicts across these categories:

  • PC optimizers / tuning software โ€” TunedPC, Advanced SystemCare, IObit Driver Booster, Auslogics BoostSpeed, CCleanerโ€ฆ
  • OEM audio suites โ€” Nahimic / A-Volute, ASUS Sonic Studio, Waves MaxxAudio, Dolby Atmos APO, Realtek background servicesโ€ฆ
  • Gaming optimizers โ€” Razer Cortex, Wise Game Booster, Game Fire, GeForce Experience & Radeon overlaysโ€ฆ
  • Peripheral software โ€” Razer Synapse, Corsair iCUE, Logitech G HUB, ASUS Armoury Crate, MSI Centerโ€ฆ
  • Antivirus โ€” Webroot, Kaspersky, McAfee real-time scanningโ€ฆ
  • Windows features โ€” Xbox Game Bar / Game DVR, Fast Startup, Audio Device Graph Isolationโ€ฆ
  • Network โ€” Killer Network Service, Apple Bonjourโ€ฆ

โ€ฆplus a device database covering popular controllers and interfaces from Pioneer DJ, Native Instruments, Focusrite, PreSonus, Behringer, Roland, Denon DJ, Hercules, and Audient.

Hit a conflict we don't know about? Adding one is a two-minute job โ€” see docs/adding-conflicts.md, or open a conflict report issue.


๐Ÿ”ง Building from source

git clone https://github.com/SubchiBeats/dj-doctor.git
cd dj-doctor
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -e ".[dev]"

dj-doctor scan        # run it
pytest                # tests (mock all OS calls โ€” pass on any platform)
ruff check .          # lint

Build a standalone .exe (PyInstaller)

pip install -e ".[build]"
pyinstaller --onefile --name dj-doctor --collect-all rich src/dj_doctor/__main__.py
# the binary lands in dist\dj-doctor.exe

๐Ÿค Contributing

PRs welcome โ€” especially new conflicts and devices. You don't need to be a developer; the databases are plain Python lists. Start here:

The one hard rule: DJ Doctor stays read-only. Diagnosis and recommendation only.


โ“ FAQ

Will it fix my problems automatically? No โ€” and that's intentional. DJ Doctor diagnoses and recommends. It hands you the exact command or steps and lets you decide. Safety and trust come first; a tool that quietly changes your system is how you got here in the first place.

Does it need administrator rights? No. It runs fine as a normal user. Some registry and device checks are more complete when run as Administrator โ€” DJ Doctor clearly marks anything it couldn't read as skipped and suggests re-running elevated for a full scan.

Does it phone home / collect data? Never. No network calls, no telemetry, no auto-update. It's fully offline.

Mac / Linux support? DJ Doctor is Windows-focused โ€” that's where these USB-audio-vs-optimizer wars happen. On other platforms the knowledge-base commands (list-conflicts, list-devices) still work, but system scans report as skipped. PRs that add macOS/Linux scanners are welcome.

It flagged something that's actually fine for me. Some entries are INFO/WARNING precisely because they're situational (RGB software, GPU overlays). If it's not causing you trouble, you can ignore it โ€” the severity and explanation are there to help you judge.

My controller works great but DJ Doctor doesn't recognise it. The device database is curated, not exhaustive. Your gear can be perfectly fine without being listed. Consider adding it!


๐Ÿ’œ Credits & motivation

DJ Doctor exists because of one very specific, very frustrating evening.

A Pioneer DDJ-SB3 that had worked for months suddenly refused to connect to Serato DJ Pro โ€” "no hardware connected," no matter what. Hours of cable swaps, driver reinstalls, and reboots later, the culprit turned out to be a "PC optimizer" (TunedPC) that had decided Windows Audio, the USB Audio class driver, and Plug-and-Play were "unnecessary services" and helpfully disabled them.

Re-enabling a handful of services fixed everything in thirty seconds โ€” once you knew what to look for. The realization that countless other DJs hit this exact wall, with no idea where to look, is why this tool exists. If DJ Doctor saves even one person that pre-gig panic, it did its job.

Built with ๐ŸŽง by Subchi.


๐Ÿ—บ๏ธ Roadmap (phase 2)

  • ๐Ÿ–ฅ๏ธ GUI version (CustomTkinter) โ€” the engine already supports it
  • ๐Ÿ”„ Auto-updatable conflict database via GitHub releases
  • ๐Ÿ› ๏ธ Opt-in "fix it for me" mode (with explicit per-fix confirmation)
  • ๐ŸŒ Community-submitted conflict reports (issue templates are already live)

DJ Doctor is read-only and offline. It diagnoses; you decide. ๐ŸŽถ

About

๐ŸŽง USB Audio Conflict Diagnostics Tool for Windows โ€” diagnose driver conflicts, optimizer interference, and power settings that break DJ controllers and audio interfaces

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages