Skip to content

Lunoul/ProjectArgus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Project Argus Logo

Project Argus

Warning

DISCLAIMER & LIABILITY

This software is provided "AS IS", without warranty of any kind. The author shall not be liable for any claim, damages, or other liability arising from the use of the software. Users are solely responsible for complying with all applicable laws regarding audio recording, privacy, and consent.


«The mythical Argus was an unsleeping sentinel from whom nothing could hide. Project Argus brings this absolute oversight into the auditory spectrum: he who hears first, controls the situation.»

Project Argus is an Android-only Flutter application designed to use a pair of Bluetooth TWS earbuds as a wireless listening/surveillance device ("wiretap").

How It Works (Stereo Panning Relay)

Since Android and Bluetooth profiles (HFP/SCO) only support mono recording over a single headset connection, the app routes audio programmatically via stereo panning:

  1. Microphone Capture: The app captures audio in real-time from the active Bluetooth microphone.
  2. Dynamic Stereo Routing:
    • If the user selects the Left Earbud as the transmitter, the app routes the captured audio only to the Right Earbud.
    • If the user selects the Right Earbud as the transmitter, the app routes the captured audio only to the Left Earbud.
  3. Remote Placement: The user can place the transmitter earbud in the target location to act as a wireless microphone "bug", and wear the other (receiver) earbud to listen to the live stream.

Features

  • Interactive Earbuds Selector: Tap to swap transmitter and receiver earbuds.
  • WAV Recording Archive: Record your live sessions to high-quality 16-bit PCM .wav files (16kHz, mono). Includes a built-in player and deletion controls.
  • Gain/Volume Slider: Adjust output amplification dynamically from 0% to 500%.
  • Live Signal Visualizer: Glowing real-time waveform showing signal amplitude and decibel metrics.
  • Distance/Signal Loss Tracking: Automatically monitors Bluetooth connection states and stream packet integrity, flashing warning alerts if a signal drop is detected.

Troubleshooting

  • Bluetooth Call Mode Issues: Since the app utilizes the Bluetooth SCO (call) profile to route audio, some earbuds might get stuck in an active call state. If you experience no sound or strange behavior, try pressing the "End Call" button directly on your earbuds to reset their state.

Architecture

  • Frontend: Written in Flutter. Manages theme styling, interactive states, archive listings, and event stream listeners.
  • Backend: Native Android engine written in Kotlin. Integrates with AudioManager for Bluetooth SCO links, uses AudioRecord for low-latency capture, AudioTrack for stereo panned playback, and manages file streaming for WAV exports.
  • Inter-process Communication: Driven via Flutter MethodChannel (requests) and EventChannel (continuous visualizer and state broadcasts).

Compilation & Installation

Ensure you have the Flutter and Android SDKs configured on your machine.

  1. Install Dependencies:

    flutter pub get
  2. Build APK:

    flutter build apk --release

About

Project Argus is an Android-only Flutter application designed to use a pair of Bluetooth TWS earbuds as a wireless listening/surveillance device ("wiretap").

Topics

Resources

License

Stars

2 stars

Watchers

0 watching

Forks

Contributors