AirShout

Real-Time Voice Intercom for iOS

Tap to Talk

About AirShout

AirShout is an iOS application that enables real-time voice transmission from your iPhone or iPad to other devices. Simply tap the talk button to start broadcasting your voice to selected output devices; tap again to stop.

Whether you want to shout announcements through HomePods in different rooms, have a quick intercom chat with family members on the same network, or stream audio to any AirPlay-enabled device, AirShout provides a seamless experience.

Key Features

🎯
Tap to Toggle
Tap the button to start or stop voice transmission
📊
Real-Time Waveform
Visual feedback showing your voice level in real-time
🔊
Haptic Feedback
Tactile confirmation when you start and stop speaking
🎧
Background Audio
Continues transmission even when app is in background

Three Transmission Methods

AirShout supports three different transmission methods to suit various use cases and device configurations.

1. AirPlay Built-in

The default transmission method uses Apple's AirPlay technology to stream audio directly to AirPlay-enabled devices such as Apple TV, HomePod, or any AirPlay-compatible speaker.

How it works:

Microphone → AVAudioEngine → AVAudioPlayerNode → AirPlay Device ↓ Audio Level Calculation → Real-time Waveform Display

Audio Specifications:

ParameterValue
Sample Rate44100 Hz
ChannelsStereo
Bit Depth16-bit
FormatLinear PCM

Requirements:

  • AirPlay device on the same WiFi network
  • iOS device with microphone access

2. P2P (Multipeer Connectivity) LAN P2P

For direct voice communication between iOS devices on the same local network without requiring any server infrastructure. Uses Apple's Multipeer Connectivity framework for automatic peer discovery and encrypted communication.

How it works:

Microphone → AVAudioEngine.inputNode → Chunk (50ms) ↓ MCSession.send() [unreliable] → Other Devices ↓ AVAudioPlayerNode → Speaker

Audio Specifications:

ParameterValue
Sample Rate44100 Hz
ChannelsMono
Bit Depth16-bit
Chunk Size50ms (2205 samples)
FormatRaw PCM Data

Key Benefits:

  • No server required - Pure peer-to-peer communication
  • Auto discovery - Devices found automatically on LAN
  • Built-in encryption - MCSession provides automatic encryption
  • Low latency - Target end-to-end latency under 100ms

3. TCP Network Manual TCP

For reliable, direct TCP connections between devices. Manual IP/port input - no automatic discovery. Once connected, audio streams over TCP with guaranteed delivery.

How it works:

[Manual Setup] User enters: IP Address + Port [Connection Phase] TCP Listener ←→ TCP Connection [Streaming Phase] Microphone → TCP Connection → AVAudioPlayerNode → Speaker

Protocol Format:

[Magic: 2 bytes][Version: 1 byte][Type: 1 byte][Timestamp: 4 bytes][Length: 2 bytes][Payload: n bytes]

Features:

  • Manual connection - Enter target device IP and port directly
  • Reliable delivery - TCP ensures all audio packets arrive in order
  • Packet processing - Handles packet fragmentation and reassembly

Comparison

Feature AirPlay P2P (MC) TCP Network
Target Device Apple TV, HomePod, AirPlay speakers iOS devices (AirShout users) Any device with TCP support
Connection Via WiFi router Direct LAN P2P Direct TCP
Discovery Automatic via AirPlay Automatic via MultipeerConnectivity Manual (enter IP & port)
Latency Low Very Low (~100ms target) Low
Reliability High Best effort (UDP-like) Guaranteed (TCP)
Encryption Built-in Built-in (MCSession) Optional

Technical Architecture

Core Components

ComponentResponsibility
AirPlayAudioManagerAirPlay-specific audio routing and playback via AVAudioEngine
P2PAudioManagerMultipeer Connectivity session and P2P audio streaming
NetworkManagerTCP server/client, audio streaming over TCP
PacketProcessorTCP packet assembly/disassembly, protocol parsing
AudioLevelProcessorAudio level calculation for waveform display
AudioSessionConfigAVAudioSession configuration and permission handling

Thread Safety

AirShout uses dedicated serial queues for different subsystems to ensure thread safety:

Requirements

Privacy

AirShout is designed with privacy in mind. Audio is processed locally and transmitted only to selected devices. For more information, see our Privacy Policy.