Skip to content

Commit 3610b93

Browse files
committed
Removed unnecessary seprarator lines
1 parent 90b483d commit 3610b93

1 file changed

Lines changed: 0 additions & 16 deletions

File tree

README.md

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,10 @@
22

33
A browser-based acoustic data link for air-gapped, peer-to-peer transmission using device audio hardware. Built with React and the Web Audio API, it encodes text and files into 8-FSK audio signals to transmit data wirelessly over sound waves.
44

5-
---
6-
75
## What This Does
86

97
This project allows two devices to communicate with each other completely offline and without any RF network (Wi-Fi, Bluetooth, Cellular). It uses the device's built-in speaker to emit a sequence of musical tones (Frequency-Shift Keying) and the receiving device's microphone to listen to and decode those tones back into digital data. It is capable of transmitting both short text payloads and small files across an air gap.
108

11-
---
12-
139
## Features
1410

1511
- **8-FSK Modulation**: Encodes 3 bits of data per audio symbol using 8 distinct frequencies.
@@ -18,17 +14,13 @@ This project allows two devices to communicate with each other completely offlin
1814
- **Data Integrity**: All payloads are verified upon receipt using CRC32 checksums.
1915
- **"Dead Frequency" UI**: A custom, vintage signal intelligence aesthetic with a warm parchment/amber/teal palette, `DM Serif Display` typography, and kinetic CSS animations.
2016

21-
---
22-
2317
## Tech Stack
2418

2519
- **Frontend Framework**: React 18 + Vite
2620
- **Styling & Motion**: Tailwind CSS + Framer Motion (for kinetic elements and page transitions)
2721
- **Audio Processing**: Native Web Audio API (`AudioContext`, `AnalyserNode`, `OscillatorNode`)
2822
- **Icons**: Lucide React
2923

30-
---
31-
3224
## Getting Started
3325

3426
### Prerequisites
@@ -48,8 +40,6 @@ This project allows two devices to communicate with each other completely offlin
4840

4941
*Note: For the acoustic link to work, the transmitting device needs a functioning speaker, and the receiving device needs a functioning microphone and must grant microphone permissions in the browser.*
5042

51-
---
52-
5343
## How It Works
5444

5545
1. **Encoding**: The application takes a text string or a file buffer and chunks it into smaller packets. Each packet calculates a CRC32 checksum. The binary data is then mapped to 8 specific audio frequencies (8-FSK).
@@ -89,19 +79,13 @@ Each transmission is stripped into 64-byte maximum payloads and wrapped in a 10-
8979
| Handshake B | **1050 Hz** | Outside FSK range, wake-up tone |
9080
| EOT | **700 Hz** | End-of-transmission, below FSK range |
9181

92-
---
93-
9482
## Limitations & Future Ideas
9583

9684
- **Bitrate**: Current speeds are around ~37 bps. Future versions will optimize the DSP loop to increase throughput.
9785
- **Distance**: Environmental noise heavily impacts reliability. Devices must be relatively close in a quiet room for uncorrupted transmission. Error correction coding (like Reed-Solomon) is planned to recover flipped bits automatically.
9886

99-
---
100-
10187
## Deployment
10288

10389
This repository includes a GitHub Action for deploying natively to GitHub Pages (`.github/workflows/deploy.yml`).
10490

105-
---
106-
10791
*Developed by Asmith — asmyth@duck.com*

0 commit comments

Comments
 (0)