GibberType is a sleek,web application that converts text messages into encrypted audio signals using the ggwave data-over-sound protocol. Designed to communicate with AI chatbots that understand ggwave encoding (like GibberLink), this app transforms your text into audible data transmission with real-time audio visualization.
Type your message, click send, and let your AI assistant decode the audio signal. Perfect for demonstrating agent-to-agent communication, data-over-sound technology, or experiencing a unique way to transmit information to ggwave-enabled AI systems.
- Node.js 16.x or higher
- npm or yarn
# Clone the repository
git clone https://github.com/Patricklumowa/gibbertype.git
# Navigate to project directory
cd gibbertype
# Install dependencies
npm install
# Start development server
npm run devVisit http://localhost:5173 and start generating audio!
- Open a ggwave-enabled AI chatbot like GibberLink in another tab or device
- Type your message in GibberType's input field
- Optional: Toggle "Use Fastest Protocol" for quicker transmission
- Click the send button (β) or press
Enter - Watch the visualizer display the audio waveform in real-time
- The AI chatbot will decode and respond to your audio message
Enter- Send message (when input is focused)Shift + Enter- New line in input (if needed)
Hello, can you help me?- Start a conversationWhat's the weather today?- Ask questionsBook a meeting for 3pm- Give instructionsVisit example.com for more info- Share URLs- Any text you want to transmit to your AI assistant
- Vite - Lightning-fast build tool and dev server
- React 18 - UI framework with modern hooks
- TypeScript - Type-safe JavaScript
- ggwave - Data-over-sound transmission library (WebAssembly)
- AudioMotion-Analyzer - Real-time audio spectrum visualization
- Web Audio API - Browser-native audio processing (48kHz)
gibbertype/
βββ public/
β βββ ggwave/ # ggwave WebAssembly files
β βββ ggwave.js # ggwave library
β βββ ggwave.wasm # WebAssembly binary
βββ src/
β βββ App.tsx # Main application component
β βββ App.css # Space-themed styles & animations
β βββ audioService.ts # Audio encoding & analyser service
β βββ main.tsx # React entry point
β βββ index.css # Global styles & scrollbar
βββ index.html
βββ package.json
βββ vite.config.ts
βββ tsconfig.json
GibberType leverages the ggwave library to perform data-over-sound encoding:
- Initialization: Loads ggwave WebAssembly module and creates AudioContext (48kHz)
- Encoding: Text input is encoded into audio waveform samples using ggwave protocol
- Visualization: AudioMotion-Analyzer processes audio through AnalyserNode for real-time display
- Playback: Encoded waveform plays through Web Audio API with visual feedback
- Transmission: Sound waves emit from your device's speakers
- AI Reception: AI chatbots with ggwave integration (like GibberLink) decode the audio in real-time
The generated sounds can be:
- Understood by AI chatbots that have ggwave embedded (like GibberLink)
- Decoded by other devices running ggwave-compatible software
- Used for air-gapped data transmission
- Demonstrated with the ggwave web demo
- Transmitted between AI agents in real-time
This project is inspired by and references the GibberLink demo - a viral AI agent communication system that won first place at the 11labs x a16z international hackathon.
# Build optimized production bundle
npm run build
# Preview production build locally
npm run previewThe built files will be in the dist/ directory, ready to deploy to any static hosting service.
GibberType can be deployed to any static hosting platform:
npm install -g vercel
vercelnpm install -g netlify-cli
netlify deploy --prodnpm run build
# Push dist/ folder to gh-pages branchnpm run dev- Start development server (localhost:5173)npm run build- Build for production (outputs to dist/)npm run preview- Preview production build locally
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License. The ggwave library is also open source - check the ggwave repository for its license details.
- ggwave by Georgi Gerganov - The incredible data-over-sound library
- AudioMotion-Analyzer by Henrique Avila Vianna - Beautiful real-time audio visualization
- GibberLink by Anton Pidkuiko & Boris Starkov - Original inspiration (11labs x a16z hackathon winner)
- ggwave - The underlying data-over-sound protocol
- gibberlink - Original AI-to-AI communication demo
- ggwave web demo - Try decoding GibberType audio!
- AI Chatbot Communication - Talk to ggwave-enabled AI assistants like GibberLink using audio
- Agent-to-Agent Protocol - Enable seamless communication between AI agents
- Air-gapped Data Transmission - Send data through audio without network connectivity
- Education - Demonstrate data encoding and signal processing concepts
- IoT - Simple device-to-device communication without WiFi/Bluetooth
- Privacy-focused Communication - Alternative to text-based messaging
- Translator - Human to ai translator*
Have questions or suggestions? Feel free to: Open an issue
β Star this repo if you find it useful!