Robô quadrúpede compacto, open source e imprimível em 3D, baseado no ESP32, com rosto em OLED e locomoção acionada por servos.
ggerganov/ggwave
Uma pequena biblioteca C++ para enviar pequenas quantidades de dados entre dispositivos por som, com suporte a Python, JavaScript e microcontroladores.
- Estrelas
- 7,906
- Forks
- 479
- Issues abertas
- 65
- Último commit
- há 6 meses
O que é?
ggwave permite que dispositivos troquem pequenas quantidades de dados por som, o que é útil quando eles não podem usar uma conexão de rede. A biblioteca usa um esquema de modulação FSK multifrequência com correção de erros Reed-Solomon e pode transmitir sinais audíveis e ultrassônicos. A largura de banda informada é de aproximadamente 8 a 16 bytes por segundo, dependendo dos parâmetros do protocolo.
A biblioteca apenas gera e analisa formas de onda brutas. Seu próprio backend de áudio, como PulseAudio, ALSA ou Web Audio, cuida da reprodução e da captura por meio de callbacks para enfileirar e desenfileirar amostras. Há bindings e pacotes para Python, Node.js e Swift, e os exemplos incluem código para ESP32, Arduino e Raspberry Pi Pico.
O projeto também inclui o app Waver para iOS, Android, Linux e macOS, além de demonstrações no navegador para testar transmissões.
Recursos principais
- 01Transmite pequenos payloads de dados por som audível ou ultrassônico.
- 02Usa modulação FSK com correção de erros Reed-Solomon.
- 03Funciona com qualquer backend de áudio por meio de callbacks para enfileirar amostras.
- 04Oferece bindings para Python, Node.js e Swift.
- 05Inclui exemplos para ESP32, Arduino e Raspberry Pi Pico.
Casos de uso
- Compartilhar uma mensagem curta ou um código de pareamento entre dispositivos próximos, sem usar uma rede.
- Enviar comandos de um PC ou celular para microcontroladores com microfone ou alto-falante.
- Criar recursos de pareamento de dispositivos ou troca de contatos offline.
- Prototipar protocolos de transmissão de dados por som para projetos de IoT.
Início rápido
- 1
Instale o pacote Python
pip install ggwave - 2
Ou compile a biblioteca C++ e a CLI com CMake
git clone https://github.com/ggerganov/ggwave --recursive && cd ggwave && mkdir build && cd build && cmake .. && make - 3
Execute a ferramenta de linha de comando
./bin/ggwave-cli
Antes de usar
- A taxa de transferência é muito baixa, cerca de 8 a 16 bytes por segundo.
- Para compilar os exemplos baseados em SDL, é necessário instalar o SDL2 separadamente.
Tópicos
Perguntas frequentes
- O que é ggwave?
- Uma pequena biblioteca C++ para enviar pequenas quantidades de dados entre dispositivos por som, com suporte a Python, JavaScript e microcontroladores. ggwave permite que dispositivos troquem pequenas quantidades de dados por som, o que é útil quando eles não podem usar uma conexão de rede. A biblioteca usa um esquema de modulação FSK multifrequência com correção de erros Reed-Solomon e pode transmitir sinais audíveis e ultrassônicos. A largura de banda informada é de aproximadamente 8 a 16 bytes por segundo, dependendo dos parâmetros do protocolo.
- ggwave é gratuito? Qual é a licença?
- ggwave é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- ggwave ainda é mantido?
- Sem commits há mais de 6 meses. O último commit de ggwave foi em 16 de abr. de 2026.
- Para que posso usar ggwave?
- Compartilhar uma mensagem curta ou um código de pareamento entre dispositivos próximos, sem usar uma rede. Enviar comandos de um PC ou celular para microcontroladores com microfone ou alto-falante. Criar recursos de pareamento de dispositivos ou troca de contatos offline. Prototipar protocolos de transmissão de dados por som para projetos de IoT.
- Como instalar ggwave?
- Instale o pacote Python: pip install ggwave Ou compile a biblioteca C++ e a CLI com CMake: git clone https://github.com/ggerganov/ggwave --recursive && cd ggwave && mkdir build && cd build && cmake .. && make Execute a ferramenta de linha de comando: ./bin/ggwave-cli
- Onde consigo ggwave?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/ggerganov/ggwave
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Câmera digital compacta e de bolso, feita com Raspberry Pi Zero e projetada para impressão 3D e montagem com peças disponíveis no mercado.
Uma plataforma open source completa para criar e implantar modelos de machine learning, com APIs para Python e C++.
Terminal desktop nativo em C++20 para pesquisa financeira, com interface Qt6, analytics em Python integrado, agentes de IA e mais de 100 conectores de dados de mercado.
Família de modelos open source de text-to-speech da Resemble AI, com clonagem de voz a partir de um trecho curto de referência em inglês e vários outros idiomas.
Modelo open source de geração musical que roda localmente e cria músicas completas a partir de prompts de texto, com recursos de edição, criação de covers e treinamento de LoRA.