AirMic review: test without purchasing virtual audio software
AirMic streams live microphone PCM from iPhone to a Mac on the same trusted LAN. No account, login, subscription, or demo credentials are required by AirMic. The Mac companion is a Python script included in this ZIP; it requires Terminal setup, Python 3.9–3.12 (3.12 recommended), NumPy and sounddevice.
1. Extract this ZIP. In Terminal, enter its folder, run python3 -m venv .venv, then source .venv/bin/activate and python -m pip install -r requirements.txt.
2. Run python airmic_receiver.py --list-devices. Connect headphones to the Mac, choose their output device index, then run python airmic_receiver.py --device INDEX (replace INDEX with the listed number). This test does not require Loopback or any third-party purchase. Start with low headphone volume.
3. Put iPhone and Mac on the same LAN. Find the Mac's IPv4 address in macOS Network settings. Enter it in AirMic, grant microphone/local-network permissions and tap the start button.
4. Speak near the phone. Confirm sound in the Mac headphones and increasing accepted, last_seq and rendered_samples counters. The app's level display is an input meter, not a receiver acknowledgement.
5. Tap stop; headphone output should become silent. Repeat start/stop. Press Control-C in Terminal to close the receiver. If an audio interruption or route change stops capture, tap start again.
Using this stream as a microphone inside another Mac app additionally requires a virtual audio device. The default supported route is a two-channel Loopback Audio device with Pass-Thru, selected manually as input in the destination app. Loopback is separate paid software by Rogue Amoeba, with trial limitations; it is not bundled. Headphone verification above avoids that requirement.
Transport: AMIC framing, UDP 50005, 44.1 kHz mono little-endian Int16 PCM. No Bluetooth-to-Mac transport or cloud relay is implemented. UDP is not encrypted or authenticated; use a trusted LAN. Audio is not recorded by AirMic. The receiver outputs aggregate diagnostics only.
The iOS background audio capability is used only for an active microphone session. System interruptions can stop capture; the app then requires manual restart. Network delivery is not guaranteed, so actual receiver output must be checked rather than relying solely on the iPhone sending status.