Skip to content

Repository files navigation

audioBlade 音刃

English 简体中文

audioBlade is a planned Windows + macOS desktop audio routing application for DAW-independent, persistent system audio routing with virtual endpoint support.

The repository is currently in Phase 0: foundation work. Week 3 is complete, and the project is entering Week 4 verification closeout.

Current Phase

Phase 0 has established:

  • CMake ownership for native C++/JUCE builds.
  • A minimal desktop application target.
  • Base architecture directories.
  • Windows-first device enumeration through JUCE.
  • Device diagnostics output with backend, direction, channel count, and OS metadata.
  • Profile schema v0 for future persistent stereo routes.
  • ADRs, Harness workflow documents, evidence, and closeout reports.

Current status:

  • Week 1: project skeleton and build baseline complete.
  • Week 2: Windows device enumeration complete with recorded evidence.
  • Week 3: Profile schema and diagnostics compatibility complete.
  • Week 4: verification report, integration summary, risk list, and next-phase recommendation are next.

Phase 0 still does not implement real audio routing, virtual audio drivers, ASIO, AirPlay/network output, effects, per-application routing, profile restore, or a background service split.

JUCE Source Strategy

JUCE should be provided as a pinned source checkout or Git submodule at:

extern/JUCE

The current desktop target is audioBladeDesktop. With extern/JUCE present, it builds the JUCE desktop application and supports the Phase 0 diagnostics argument.

Configure And Build

From the repository root:

cmake -S . -B build
cmake --build build

Preset form:

cmake --preset dev
cmake --build --preset dev

Device Diagnostics

On a Windows host build:

.\build\apps\desktop\audioBladeDesktop_artefacts\Debug\audioBlade.exe --diagnose-devices

Week 2 evidence is recorded in:

docs/evidence/week2-device-enumeration-sample.md

Profile Validation

Profile schema v0 and its example live under:

control/profiles/

Validate the example profile:

python3 -m json.tool control/profiles/profile.schema.json >/dev/null
python3 -m json.tool control/profiles/examples/default-monitor-route.json >/dev/null
python3 tools/diagnostics/validate_profile.py control/profiles/examples/default-monitor-route.json

WSL Limitations

WSL/Linux checks can verify repository structure, CMake configuration, JSON/profile validation, and some build behavior. They do not prove:

  • Windows WASAPI behavior.
  • macOS Core Audio behavior.
  • Physical audio device visibility.
  • Virtual endpoint support.
  • GUI launch quality.
  • Real-time callback safety.
  • Audio routing correctness.

Current WSL build note: a full JUCE audio-device build may require Linux audio development headers such as ALSA. Windows host build and device-enumeration evidence remain the authoritative Week 2 audio-device validation path.

Project Documents

Agents Technical Plan Technical Plan CN Guidelines Process Plans Harness ADR

About

desktop audio router for Win/macOS. Seeking like-minded builders to co-develop. Win/macOS 持久化桌面音频路由,欢迎共同开发。

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages