Use your Android phone as a microphone to Windows PC
- 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
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
- Windows app can minimize to system tray
- Volume control on Windows side
- Audio visualization on Windows side
- Show notification when mic is in use on Android side
- Audio effect filters
- Pitch Shifter
- Add White Noise
- Repeated Background Audio
-
SpeexDSP Noise Cancellation - SpeexDSP Automatic Gain Control
- SpeexDSP Voice Activity Detection
- SpeexDSP Echo Cancellation
- Rnnoise Noise Cancellation
- Memorized user settings
- Select network adapter in Wifi/LAN mode
- Port all Windows code & dependencies to .Net Core (with Avalonia)
- MacOS Support
- Linux Support
To further reduce latency, here're the possible areas to optimize:
- Use
Oboe
audio library - Improve
NAudio
filters - Use modern
NAudio
WASAPI player (no more Windows XP / lower support) - Garbage Collection friendly buffers on Android Kotlin
- Garbage Collection friendly buffers on Windows C#
- Threads / Coroutines priority level
- Profile and analyze hot code paths on each
Pre-built installers can be found here