https://github.com/ggerganov/ggwave/tree/master/examples/waver Skip to content Sign up * Why GitHub? Features - + Code review + Project management + Integrations + Actions + Packages + Security + Team management + Hosting + Mobile + Customer stories - + Security - * Team * Enterprise * Explore + Explore GitHub - Learn & contribute + Topics + Collections + Trending + Learning Lab + Open source guides Connect with others + Events + Community forum + GitHub Education + GitHub Stars program * Marketplace * Pricing Plans - + Compare plans + Contact Sales + Nonprofit - + Education - [ ] [search-key] * # In this repository All GitHub | Jump to | * No suggested jump to results * # In this repository All GitHub | Jump to | * # In this user All GitHub | Jump to | * # In this repository All GitHub | Jump to | Sign in Sign up {{ message }} ggerganov / ggwave * Watch 7 * Star 149 * Fork 7 * Code * Issues 3 * Pull requests 0 * Discussions * Actions * Projects 0 * Security * Insights More * Code * Issues * Pull requests * Discussions * Actions * Projects * Security * Insights master ggwave/examples/waver/ Go to file ggwave/examples/waver/ Latest commit @ggerganov ggerganov Update README.md ... 9bfdb9f Jan 11, 2021 Update README.md 9bfdb9f Git stats * History Files Permalink Failed to load latest commit information. Type Name Latest commit message Commit time . . CMakeLists.txt Waver emscripten build (#8) Jan 6, 2021 README.md Update README.md Jan 11, 2021 background-0.png Waver emscripten build (#8) Jan 6, 2021 build_timestamp.h.tmpl Waver emscripten build (#8) Jan 6, 2021 common.cpp waver : minor data race fix + back to separate Core thread Jan 8, 2021 common.h waver : minor data race fix + back to separate Core thread Jan 8, 2021 index-tmpl.html waver : bump version to v1.3.2 Jan 7, 2021 interface-emscripten.cpp Waver emscripten build (#8) Jan 6, 2021 interface-unix.cpp rename ggwave-gui -> waver Jan 5, 2021 interface.cpp rename ggwave-gui -> waver Jan 5, 2021 interface.h rename ggwave-gui -> waver Jan 5, 2021 main.cpp waver : remove extra print Jan 8, 2021 style.css Waver emscripten build (#8) Jan 6, 2021 README.md Waver Waver allows you to send and receive text messages from nearby devices through sound waves. This application can be used to communicate with multiple nearby devices at once. Both audible and ultrasound communication protocols are available. The app does not connect to the internet and all information is transmitted only through sound. In order to receive incoming messages you only need to allow access to your device's microphone so that it can record nearby sounds. The main purpose of this app is to showcase the capabilities of the ggwave library. It is a convenient way to quickly test the transmission performance on virtually any device with speakers and a microphone. Install Download on the App Store Get it on Google Play Get it from the Snap Store Linux sudo snap install waver sudo snap connect waver:audio-record :audio-record Mac OS brew install ggerganov/ggerganov/waver Run directly in the browser https://waver.ggerganov.com How to use Click on the gif to watch a ~2 min Youtube video: [waver-preview1] * Before starting - make sure the speaker of your device is enabled and disconnect/unplug any headphones. The app uses your device's speaker to emit sounds when sending a text message * To send a message - tap on "Messages", enter some text at the bottom of the screen and click "Send" * Any nearby device that is also running this application can capture the emitted sound and display the received message * In the settings menu, you can adjust the volume and the transmission protocol that will be used when sending messages. Make sure to adjust the volume level high enough, so the sounds can be picked up by other devices * Tap on "Spectrum" to see a real-time frequency spectrum of the currently captured audio by your device's microphone File sharing in a local network As of v1.3.0 Waver supports file sharing. It works like this: * Add files that you would like to transmit by sharing them with Waver * In the "Files" menu, click on "Broadcast". This plays an audio message that contains a file broadcast offer * Nearby devices in the same local network can receive this offer and initiate a TCP/IP connection to your device * The files are transmitted over TCP/IP. The sound message is used only to initiate the network connections between the devices * Waver allows sharing multiple files to multiple devices at once Known issues * The browser version does not support on-screen keyboard on mobile devices, so it is not possible to input messages. Use the mobile app instead * In some cases utlrasound transmission is not supported (see #5) * (c) 2021 GitHub, Inc. * Terms * Privacy * Security * Status * Help * Contact GitHub * Pricing * API * Training * Blog * About You can't perform that action at this time. You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.