Terminal de escritorio nativa en C++20 para investigación financiera, con interfaz Qt6, analítica con Python integrado, agentes de IA y más de 100 conectores de datos de mercado.
ggerganov/ggwave
Una pequeña biblioteca de C++ para enviar pequeñas cantidades de datos entre dispositivos mediante sonido, utilizable desde Python, JavaScript y microcontroladores.
- Estrellas
- 7,906
- Forks
- 479
- Issues abiertos
- 65
- Último commit
- hace 6 meses
¿Qué es?
ggwave permite que los dispositivos intercambien pequeñas cantidades de datos mediante sonido, lo que resulta útil cuando no pueden usar una conexión de red. Utiliza un esquema de modulación FSK multifrecuencia con corrección de errores Reed-Solomon y puede transmitir señales audibles y ultrasónicas. El ancho de banda indicado es de aproximadamente 8 a 16 bytes por segundo, según los parámetros del protocolo.
La biblioteca solo genera y analiza formas de onda sin procesar. Tu propio backend de audio, como PulseAudio, ALSA o Web Audio, se encarga de la reproducción y la captura mediante callbacks para poner y retirar muestras de la cola. Hay bindings y paquetes disponibles para Python, Node.js y Swift, y los ejemplos incluyen código para ESP32, Arduino y Raspberry Pi Pico.
El proyecto también incluye la aplicación Waver para iOS, Android, Linux y macOS, además de demos web para probar las transmisiones.
Funciones clave
- 01Transmite pequeñas cargas de datos mediante sonido audible o ultrasónico.
- 02Utiliza modulación FSK con corrección de errores Reed-Solomon.
- 03Funciona con cualquier backend de audio mediante callbacks para gestionar colas de muestras.
- 04Ofrece bindings para Python, Node.js y Swift.
- 05Incluye ejemplos para ESP32, Arduino y Raspberry Pi Pico.
Casos de uso
- Compartir un mensaje breve o un código de vinculación entre dispositivos cercanos sin conexión de red.
- Enviar comandos desde una PC o un teléfono a microcontroladores con micrófono o altavoz.
- Crear funciones de vinculación de dispositivos o intercambio de contactos sin conexión.
- Prototipar protocolos de transmisión de datos mediante sonido para proyectos de IoT.
Inicio rápido
- 1
Instala el paquete de Python
pip install ggwave - 2
O compila la biblioteca C++ y la CLI con CMake
git clone https://github.com/ggerganov/ggwave --recursive && cd ggwave && mkdir build && cd build && cmake .. && make - 3
Ejecuta la herramienta de línea de comandos
./bin/ggwave-cli
Antes de usarlo
- El rendimiento es muy bajo, aproximadamente de 8 a 16 bytes por segundo.
- Para compilar los ejemplos basados en SDL, es necesario instalar SDL2 por separado.
Temas
Preguntas frecuentes
- ¿Qué es ggwave?
- Una pequeña biblioteca de C++ para enviar pequeñas cantidades de datos entre dispositivos mediante sonido, utilizable desde Python, JavaScript y microcontroladores. ggwave permite que los dispositivos intercambien pequeñas cantidades de datos mediante sonido, lo que resulta útil cuando no pueden usar una conexión de red. Utiliza un esquema de modulación FSK multifrecuencia con corrección de errores Reed-Solomon y puede transmitir señales audibles y ultrasónicas. El ancho de banda indicado es de aproximadamente 8 a 16 bytes por segundo, según los parámetros del protocolo.
- ¿ggwave es gratuito? ¿Qué licencia tiene?
- ggwave es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿ggwave sigue mantenido?
- Sin commits en más de 6 meses. El último commit de ggwave fue el 16 abr 2026.
- ¿Para qué puedo usar ggwave?
- Compartir un mensaje breve o un código de vinculación entre dispositivos cercanos sin conexión de red. Enviar comandos desde una PC o un teléfono a microcontroladores con micrófono o altavoz. Crear funciones de vinculación de dispositivos o intercambio de contactos sin conexión. Prototipar protocolos de transmisión de datos mediante sonido para proyectos de IoT.
- ¿Cómo se instala ggwave?
- Instala el paquete de Python: pip install ggwave O compila la biblioteca C++ y la CLI con CMake: git clone https://github.com/ggerganov/ggwave --recursive && cd ggwave && mkdir build && cd build && cmake .. && make Ejecuta la herramienta de línea de comandos: ./bin/ggwave-cli
- ¿Dónde consigo ggwave?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/ggerganov/ggwave
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Modelo open source de generación musical que funciona localmente y crea canciones completas a partir de indicaciones de texto, con funciones de edición, versiones y entrenamiento de LoRA.
Biblioteca de inferencia en Python para Kokoro-82M, un modelo de texto a voz de pesos abiertos con 82 millones de parámetros.
Plataforma de señalización digital de código abierto que convierte pantallas conectadas a Raspberry Pi y PC en pantallas de contenido gestionadas.
SDKs y firmware de código abierto para crear tus propios gadgets Muse con placas ESP32 y dispositivos Linux como Raspberry Pi.
Detección de actividad de voz y de eventos de audio (habla, canto y música) de código abierto en más de 100 idiomas, con modos en streaming y sin streaming.