AndroidMic
AndroidMic copied to clipboard
Use your Android phone as a mic to Windows PC
Android Microphone
Use your Android phone as a microphone to Windows PC
Requirements
- Android phone with bluetooth/wifi
- Windows PC with bluetooth/wifi
- Installed Virtual Audio Cable (VAC) on Windows, will hear "trial" voice if your driver is in trial mode
Also try using VB-Audio as alternative now since it is completely free
How to use
Config Audio Device
- Run Windows side app
- Select audio speaker from drop down list to the one that VB created
- Use the corresponding microphone created by VB
- In
Properties
of both, make sure both set default format to following:
- For speaker, click
Configure Speakers
and set channel toMono
:
- For microphone, click
Properties
and set following:
On my machine, this setup has the lowest delay and best sound quality.
Can further improve audio latency by opening VBCABLE_ControlPanel.exe
(from downloaded folder of VB) and set Max Latency
in Options to 2048 smp:
Do not set to 512 smp since that will cause most buffers lost. If 2048 has no sound or bad quality, consider a higher smp.
Volume Control
- Run Windows side app
- Drag slider to control volume
Connection: Bluetooth
- Make sure PC and phone are paired once
- Check
Bluetooth
button on Windows app - Click
Connect
on Windows app to start server - Click
Connect
on Android app to connect - Tap
Record Audio
on Android app to start transferring audio
Connection: Wifi / LAN
- Make sure PC and phone are under the same network
- Can be under the same router with Wifi
- Can have PC connected to ethernet of the same router
- Can have PC connected to phone by cable and enable USB tethering on phone
- Click
Connect
on Windows app to start server - Click
Connect
on Android app to connect - Enter
IP
andPort
(displayed on Windows side) on Android app - Tap
Record Audio
on Android app to start transferring audio
Advanced Filters
- Run Windows side app
- Connect phone to app
- Click
Advanced Effects
to open advanced settings window - Expand a filter and check
enabled
to test effects
Pitch Shifter:
- Slider controls pitch shift factor
White Noise:
- Slider controls the noise strength
Repeat Track:
- Check
Repeat
to enable looped audio track - Slider controls audio track volume strength
-
Select File
to select an audio file to play
SpeexDSP Filters:
- Check corresponding filters to enable/disable
- If Echo Cancellation does not work (your friend hears echo from your speaker)
Try re-enable echo cancellation to restart cancellation state
Echo Cancellation may take a while (5-10s) to optimize
Rnnoise Filter:
- Check "Noise Cancellation" and try
Feature Plans
- [x] Windows app can minimize to system tray
- [x] Volume control on Windows side
- [x] Audio visualization on Windows side
- [x] Show notification when mic is in use on Android side
- [x] Audio effect filters
- [x] Pitch Shifter
- [x] Add White Noise
- [x] Repeated Background Audio
- [x] ~~SpeexDSP Noise Cancellation~~
- [x] SpeexDSP Automatic Gain Control
- [x] SpeexDSP Voice Activity Detection
- [x] SpeexDSP Echo Cancellation
- [x] Rnnoise Noise Cancellation
- [x] Memorized user settings
- [x] Select network adapter in Wifi/LAN mode
- [ ] Port all Windows code & dependencies to .Net Core (with Avalonia)
- [ ] MacOS Support
- [ ] Linux Support
Optimization Plans
To further reduce latency, here're the possible areas to optimize:
- [x] Use
Oboe
audio library - [x] Improve
NAudio
filters - [x] Use modern
NAudio
WASAPI player (no more Windows XP / lower support) - [x] Garbage Collection friendly buffers on Android Kotlin
- [x] Garbage Collection friendly buffers on Windows C#
- [ ] Threads / Coroutines priority level
- [ ] Profile and analyze hot code paths on each
Releases
Pre-built installers can be found here
Windows Side
Android Side
![Android Side](https://github.com/teamclouday/AndroidMic/raw/main/Assets/p2.png)
![Android Side](https://github.com/teamclouday/AndroidMic/raw/main/Assets/p3.png)
![Android Side](https://github.com/teamclouday/AndroidMic/raw/main/Assets/p5.png)