Send short text messages through sound — locally, privately, and without an account.
Wavest is a native SwiftUI acoustic messenger. It turns short UTF-8 payloads into audible or ultrasonic waveforms, plays them through the speaker, and decodes nearby transmissions through the microphone.
There is no account, cloud service, analytics SDK, or runtime network dependency. Audio and optional AES-GCM encryption are processed on-device.
- Nine acoustic modes: audible, ultrasonic, and shifted-inaudible variants.
- Real-time spectrum and waveform visualization.
- Callsigns and optional AES-GCM encrypted messages.
- Per-contact shared keys stored in the app sandbox.
- Quick replies and a built-in local GGWave diagnostic.
- Audio-session recovery across interruptions and background transitions.
- Native handling for both 48 kHz iPhone input and 44.1 kHz Simulator input.
- No ads, tracking, analytics, accounts, or collected data.
- Xcode 26 or later.
- iOS 17 or later.
- Two devices with a speaker and microphone for over-the-air testing.
The project resolves
ggwave-spm 0.4.3 through Swift
Package Manager.
open Wavest.xcodeprojSelect the Wavest scheme, choose an iPhone, and run. Grant microphone permission when prompted.
To regenerate the Xcode project after adding source files:
ruby Scripts/generate_project.rbRun the unit tests:
xcodebuild test \
-project Wavest.xcodeproj \
-scheme Wavest \
-destination 'platform=iOS Simulator,name=iPhone 17 Pro'- Install Wavest on two nearby devices.
- Select Audible (Normal) on both.
- Tap Listen on the receiving device.
- Use roughly 60% transmit volume and send a short message.
Hardware frequency response and room acoustics affect range and ultrasonic reliability. Wavest is experimental software and is not intended for emergency communication.
Wavest does not collect data. See the full Privacy Policy.
This is an independent native iOS implementation inspired by Wavest by Benn Jordan. Acoustic modulation is powered by ggwave by Georgi Gerganov. See Acknowledgements.
Issues and focused pull requests are welcome. For receiver bugs, include the device model, iOS version, acoustic mode, displayed input route, and local diagnostic result. Read CONTRIBUTING.md before submitting a change. Please report sensitive security issues as described in SECURITY.md.
The native iOS implementation in this repository is available under the MIT License.

