0c1e3d6fff5427e9118489a4085fbd3b192900b8
Replace MultipeerConnectivity with a custom P2P implementation using Network.framework (NWListener/NWConnection) and CoreBluetooth for discovery. - Add P2PConnectionManager, BLEDiscoveryManager, and NetworkFraming. - Add ConnectedPeer and DiscoveredHost models. - Update Info.plist with local network and bluetooth permissions. - Refactor Views to use P2PConnectionManager. - Add implementation plan and transition docs.
BeamScribe 🎤📡
BeamScribe is an accessibility-focused iOS application designed to facilitate immediate, real-time communication between hearing speakers and Deaf or Hard of Hearing individuals.
It functions as a live transcription broadcast system, allowing a host to transcribe speech via their iPhone and broadcast the text in real-time to up to 7 connected guest devices nearby.
🌟 Key Features
📡 Live Broadcasting (Multipeer Connectivity)
- Host Mode: A hearing person hosts a session. Their speech is converted to text instantly.
- Guest Mode: Up to 7 Deaf or Hard of Hearing participants can join the host's session wirelessly.
- Real-Time Sync: Guests see the transcription appear on their iPhones in real-time as the host speaks.
- No Internet Required for Connection: Uses Apple's Multipeer Connectivity framework (Wi-Fi/Bluetooth peer-to-peer) to link devices, meaning guests don't need a data plan or active Wi-Fi connection to the internet to receive text (though the Host needs a connection for high-accuracy online transcription).
- Late Joiner Support: Guests who join a session late automatically receive the full transcript history so they don't miss context.
📝 Transcription Engine
- High-Accuracy Speech-to-Text: Powered by Apple's
SFSpeechRecognizer. - Offline Support: capable of falling back to on-device speech recognition if the internet is unavailable.
- Smart Formatting: Auto-punctuation and intelligent paragraph handling.
- Silent Reset Detection: Automatically handles internal speech engine timeouts to ensure continuous, uninterrupted recording.
🎧 Audio & Hardware Support
- Bluetooth Microphone Support: Detects external Bluetooth microphones (like lapel mics or headsets) and prompts the user to switch inputs for better audio clarity in noisy environments.
- Background Audio: Continues transcribing even if the screen is locked or the app is backgrounded.
- Battery Monitoring: Alerts guests if the Host's battery is critically low.
🎨 Accessibility & Customization
- High Contrast Themes: Includes Light, Dark, and High-Contrast (Lightbulb) themes.
- Typography Control: Users can adjust font size (up to 48pt) and choose specific fonts (Rounded, Serif, Monospaced, Marker Felt) for better readability.
- Keep Awake: Option to prevent the screen from dimming during long sessions.
📂 File Management & Export
- Solo Mode: Use the app for personal note-taking without broadcasting.
- Auto-Save: Transcripts are automatically saved to the device.
- History Browser: View, manage, and delete past sessions.
- PDF Export: Generate clean, formatted PDFs of transcripts to share via email or other apps.
📱 How to Use
For the Host (Speaker)
- Open BeamScribe and select "Host Session".
- Enter a name for the event (e.g., "Biology Lecture" or "Family Dinner").
- Tap Start Transcribing.
- If a Bluetooth mic is connected, confirm the prompt to use it for better quality.
- Wait for guests to join. You will see a counter of connected listeners.
For the Guest (Listener)
- Open BeamScribe and select "Join Session".
- The app will browse for nearby hosts.
- Tap the desired session name (e.g., "Biology Lecture").
- Once connected, the text will appear on your screen automatically.
- You can customize the font size and theme in Settings (Gear icon) for easier reading.
Description
Languages
Swift
99.6%
Shell
0.4%