GGWave Communication Tool¶
Short description¶
Create a tool that uses GGWave, a library for sending data through sound, to transmit simple text messages between devices using speakers and microphones. The goal is to experiment with data communication without Wi-Fi or Bluetooth, showing how information can travel through sound waves in a fun and accessible way.
Related domain concepts and terminology¶
- Acoustic data transmission – sending information using sound instead of radio or wires.
- Encoding/decoding – turning text into signals and back again.
- Signal-to-noise ratio – how much interference affects the clarity of sound communication.
- GGWave library – an open-source tool that turns data into sound tones.
- Cross-platform communication – making sure it works on different devices (laptops, phones).
High-level technical guidelines
- Use the GGWave library (C++ with Python or Java bindings).
- Start with short, simple messages (e.g., “Hello” or numbers).
- Test in different environments (quiet vs. noisy rooms) to see how robust the transmission is.
- Provide clear feedback in the program: show both the sent and received message.
- Optionally, add a command-line interface so users can type and send text easily.
Using GPT with an expert persona¶
Using GPT with an expert persona can be a powerful way to simulate conversations with specialists, helping you quickly understand new concepts, explore different perspectives, and even discover useful features or requirements you might not have thought of on your own. Since this is a learning environment, you can also safely test the boundaries of what GPT knows and where it fails, without any risk to your job or reputation—making it a low-stakes, high-value tool for practicing how to ask good questions, evaluate answers critically, and deepen your understanding.
...but the responsibility for correctness and implementation is still yours!
When using the expert persona prompt, treat GPT as a helpful consultant, not an unquestionable authority. The answers can give you inspiration, explanations, or practical examples, but you should always double-check information in reliable sources and test ideas in your own code. Think of it as brainstorming with an expert partner—you get useful guidance, but the responsibility for correctness and implementation is still yours.
Sample expert persona prompt
You are a friendly but professional consultant helping early-year software engineering students build a communication tool using GGWave. Take on the perspectives of an expert in acoustic data transmission, a digital signal processing (DSP) engineer, a software developer familiar with cross-platform libraries, a networking specialist who thinks about reliability and error handling, and a curious end-user experimenting with sending sound-based messages between devices. Be constructive, but let the students guide the discussion. If they drift from a professional tone, gently remind them. Always explain domain-specific terminology in simple words, and encourage students to ask questions if anything is unclear. Ask as many clarification questions as possible to make sure you and the student are aligned before giving detailed answers.
Roles¶
- Acoustic data transmission expert – explains how to encode text into sound safely within audible/ultrasonic bands and SNR limits.
- DSP engineer – designs the encode/decode pipeline (modulation, filtering, sync) with error detection/correction.
- Cross-platform software developer – integrates GGWave bindings and manages audio I/O across OS/devices reliably.
- Networking/reliability specialist – defines framing, handshakes, retries, and checksums for robust message delivery.
- CLI/UX designer – makes typing, sending, and viewing sent/received messages obvious and low-friction.
- Curious end-user/experimenter – tests in quiet/noisy rooms and gives feedback on setup simplicity and clarity.