Sesame — миниатюрный робот-квадрупед с открытым исходным кодом, который можно напечатать на 3D-принтере; он работает на ESP32, оснащён OLED-лицом и ходит с помощью сервоприводов.
ggerganov/ggwave
Компактная библиотека на C++ для передачи небольших объёмов данных между устройствами с помощью звука; доступна для Python, JavaScript и микроконтроллеров.
- Звёзды
- 7,906
- Форки
- 479
- Открытые issues
- 65
- Последний коммит
- 6 месяцев назад
Что это?
ggwave позволяет устройствам обмениваться небольшими объёмами данных с помощью звука — это полезно, когда у них нет возможности подключиться к сети. Библиотека использует многотоновую FSK-модуляцию с коррекцией ошибок Reed-Solomon и передаёт сигналы как в слышимом, так и в ультразвуковом диапазоне. Заявленная пропускная способность составляет примерно 8–16 байт в секунду и зависит от параметров протокола.
Библиотека только генерирует и анализирует необработанные звуковые сигналы. Воспроизведение и захват звука обеспечивает ваш аудиобэкенд, например PulseAudio, ALSA или Web Audio, используя колбэки для добавления и извлечения аудиосэмплов. Доступны биндинги и пакеты для Python, Node.js и Swift, а примеры включают код для ESP32, Arduino и Raspberry Pi Pico.
В проект также входят приложение Waver для iOS, Android, Linux и macOS и браузерные демо для проверки передачи данных.
Ключевые возможности
- 01Передаёт небольшие объёмы данных с помощью слышимого или ультразвукового звука.
- 02Использует FSK-модуляцию с коррекцией ошибок Reed-Solomon.
- 03Работает с любым аудиобэкендом через колбэки для добавления и извлечения аудиосэмплов.
- 04Предоставляет биндинги для Python, Node.js и Swift.
- 05Включает примеры для ESP32, Arduino и Raspberry Pi Pico.
Сценарии использования
- Передача короткого сообщения или кода сопряжения между находящимися рядом устройствами без подключения к сети.
- Отправка команд с ПК или телефона на микроконтроллеры с микрофоном или динамиком.
- Создание функций офлайн-сопряжения устройств или обмена контактами.
- Разработка прототипов протоколов передачи данных по звуку для IoT-проектов.
Быстрый старт
- 1
Установите пакет Python
pip install ggwave - 2
Или соберите библиотеку C++ и CLI с помощью CMake
git clone https://github.com/ggerganov/ggwave --recursive && cd ggwave && mkdir build && cd build && cmake .. && make - 3
Запустите инструмент командной строки
./bin/ggwave-cli
Что важно знать
- Пропускная способность очень низкая — примерно 8–16 байт в секунду.
- Для сборки примеров на основе SDL необходимо отдельно установить SDL2.
Темы
Частые вопросы
- Что такое ggwave?
- Компактная библиотека на C++ для передачи небольших объёмов данных между устройствами с помощью звука; доступна для Python, JavaScript и микроконтроллеров. ggwave позволяет устройствам обмениваться небольшими объёмами данных с помощью звука — это полезно, когда у них нет возможности подключиться к сети. Библиотека использует многотоновую FSK-модуляцию с коррекцией ошибок Reed-Solomon и передаёт сигналы как в слышимом, так и в ультразвуковом диапазоне. Заявленная пропускная способность составляет примерно 8–16 байт в секунду и зависит от параметров протокола.
- ggwave можно использовать бесплатно? Какая у него лицензия?
- ggwave распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- ggwave всё ещё поддерживается?
- Нет коммитов больше 6 месяцев. Последний коммит в ggwave — 16 апр. 2026 г..
- Для чего можно использовать ggwave?
- Передача короткого сообщения или кода сопряжения между находящимися рядом устройствами без подключения к сети. Отправка команд с ПК или телефона на микроконтроллеры с микрофоном или динамиком. Создание функций офлайн-сопряжения устройств или обмена контактами. Разработка прототипов протоколов передачи данных по звуку для IoT-проектов.
- Как установить ggwave?
- Установите пакет Python: pip install ggwave Или соберите библиотеку C++ и CLI с помощью CMake: git clone https://github.com/ggerganov/ggwave --recursive && cd ggwave && mkdir build && cd build && cmake .. && make Запустите инструмент командной строки: ./bin/ggwave-cli
- Где скачать ggwave?
- Исходный код и инструкции по установке — на GitHub: https://github.com/ggerganov/ggwave
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Компактная карманная цифровая камера на базе Raspberry Pi Zero, которую можно напечатать на 3D-принтере и собрать из готовых компонентов.
Open source-платформа для полного цикла разработки и развёртывания моделей машинного обучения с API для Python и C++.
Библиотека на C++ с привязками для Python для быстрого поиска похожих объектов и кластеризации плотных векторов, с опциональным ускорением на GPU.
Семейство открытых моделей синтеза речи Resemble AI с клонированием голоса по короткому аудиообразцу на английском и многих других языках.
Открытый набор инструментов для офлайн-распознавания речи и ASR в потоковом режиме, с VAD, расстановкой знаков препинания, метками говорящих и совместимым с OpenAI сервером.