Commit Graph

49 Commits

Author SHA1 Message Date
Georgi Gerganov 1875faec9d cmake : fix emscripten install targets 2021-02-28 08:02:13 +00:00
Georgi Gerganov a0f5e9e3da waver : display detected Rx in spectrogram 2021-02-28 09:33:55 +02:00
Georgi Gerganov 74f35ebcf0 waver : fix font loading and snap build 2021-02-27 22:36:36 +02:00
Georgi Gerganov 5f2bfd09ba msys2 : fix build 2021-02-27 09:47:13 -08:00
Georgi Gerganov 1c59e38696 ggwave : switch to floating point sampling rate 2021-02-27 12:23:25 +02:00
Georgi Gerganov 5b5293d764 Waver v1.4.0 (#23)
* waver : change default protocol

* waver : global scale to 1.25

* waver : more colors

* waver : resend last message

* waver : bigger send button

* waver : start with fixed-length enabled

* waver : fix spectrum display for fixed-length mode

* waver : add option to control input sample rate offset

* ggwave : improve fixed-length decoding

* examples-common : SDL now captures 1024 samples instead of 4096

* waver : spectrum improvements + spectrogram mode

* minor changes

* ggwave : add FFT static method

* waver : realtime spectrum display

* waver : fix dragging behavior

* waver : show current tx protocol in "Messages"

* waver : show frequency range and bandwidth of selected protocol

* waver : change sample rate offset function

output instead of input

* waver : add info about local peers

* waver : add option to pause spectrum by clicking it

* waver : minor

* waver : add option descriptions

* waver : fix data races

* waver : purple-ish background

* waver : cian-ish background

* waver : add option button to cancel receiving

* waver : add option to select Rx Protocols

* waver : change default protocol

* waver : fix displayed protocol for each message
2021-02-27 11:45:01 +02:00
Georgi Gerganov 553b414929 ggwave : more resampling fixes
This time the sound cracking should be fixed for real.

Also adding option to generate noise in the cpp tests
2021-02-21 13:30:27 +02:00
Georgi Gerganov 5b9c561579 resampler : minor fixes 2021-02-21 00:40:11 +02:00
Georgi Gerganov 62b71c3322 ggwave : resampling fixes
The old output resampling was bugged and produced cracking in the audio
when the output sampling rate was different from the base sampling rate.

Additionally, the decoding wasn't properly handling resampled input in all
cases.
2021-02-21 00:16:43 +02:00
Georgi Gerganov f4fb02d5d4 ggwave : add "soundMarkerThreshold" parameter
Can be used to control the threshold used for distinguishing odd from even
frequencies in the sound markers.
2021-02-21 00:13:28 +02:00
Georgi Gerganov 6011c0cef2 resampler : can now query the expected resampled size 2021-02-21 00:11:20 +02:00
Georgi Gerganov 19bf22df0d ggwave v0.2.0 (#20)
* ggwave : add support for fixed length transmissions

* spectrogram : add sample rate offset for debugging purposes

* gwave : fix decoding bug

* waver : wip

* wip

* remove post-marker frames

* add resampler

* ggwave : input/output resampling

* ggwave : fix python build

* ggwave : update spm

* ggwave : refactor duplicate encode/decode code

* ggwave : fix sound marker detection

* waver : fix typo

* ggwave : fix uninitialized members

* ggwave : more sensitive receive
2021-02-20 19:16:15 +02:00
Georgi Gerganov 9b3bcfb619 ggwave : should improve recall success rate
especially for "fastest" protocols
2021-02-09 20:25:17 +02:00
Georgi Gerganov 2e34d46e02 iOS SDK (#15)
* wip : creating a Swift Package Manager package

* ios : tests ready

* cmake : add ggwave-spm and spm-publish targets

* cosmetics
2021-01-30 12:38:01 +02:00
Georgi Gerganov 105e0fd48d update default parameters + python updates
- by default ggwave will now output 32-bit float samples
- python samples no longer use numpy
- python test now decodes payload
- fix buffer overflow in receive.py example
2021-01-23 23:30:24 +02:00
Georgi Gerganov ba8e0cd2b1 c, python : add option to query encode size 2021-01-23 17:13:13 +02:00
Georgi Gerganov 0c746c1b15 tests : add test for capture/playback at different sample rates 2021-01-23 16:27:50 +02:00
Georgi Gerganov 597cc48cbb core : refactoring + bug fix
- rename callback types
- fix calculation of data frames
2021-01-23 15:47:59 +02:00
Georgi Gerganov f245b6e930 tests : add C test 2021-01-23 14:25:18 +02:00
Georgi Gerganov a64106783f Support for various sample formats (#11)
* wip : support for various sample formats

* finalize support for various sample formats

* adding more tests

* update python bindings

* add "string" header
2021-01-23 11:45:20 +02:00
Georgi Gerganov 86b3615012 tests : adding first tests + sanitizer builds 2021-01-18 21:32:27 +02:00
Georgi Gerganov 201fdf0cbe cmake : use BUILD_SHARED_LIBS 2021-01-18 20:45:00 +02:00
Georgi Gerganov cd332b5919 ggwave : refactoring + comments 2021-01-17 21:19:41 +02:00
Georgi Gerganov 2ed431fa81 Add python bindings + package (#10)
* wip : python package

* wip : minor fixes

* wip : upload package to main pypi

* wip : initial text encoding

* wip : extending C api

* wip : use map of global instances

* wip : added decode functionality

* update main README
2021-01-17 17:36:50 +02:00
Georgi Gerganov 94978e679a ggwave : add default samples per frame 2021-01-16 18:39:11 +02:00
Georgi Gerganov 826e6f2bb1 ggwave : fix shared lib build 2021-01-16 15:37:03 +02:00
Georgi Gerganov 7ccd6ed2c6 ggwave : print to stderr + send() return bool 2021-01-10 15:33:09 +02:00
Georgi Gerganov a9b339c02e ggwave : getTxProtocols is now static method 2021-01-09 13:24:19 +02:00
Georgi Gerganov a5d8309db3 ggwave-gui : indicate failed messages 2020-12-31 09:06:04 +02:00
Georgi Gerganov 2bdf1f7415 fix compile warnings 2020-12-30 22:16:31 +02:00
Georgi Gerganov ef081f4856 ggwave-gui : adding tx waveform display 2020-12-13 16:24:52 +02:00
Georgi Gerganov 91ba0b3ab4 ggwave-gui : update version to 1.0.0 2020-12-08 18:30:58 +02:00
Georgi Gerganov 7f4cce25fa ggwave-gui : add spectrum + other UI stuff 2020-12-05 19:22:22 +02:00
Georgi Gerganov cde32e3e96 ggwave : always reset RS instances 2020-12-05 17:01:33 +02:00
Georgi Gerganov ce673be655 ggwave : use std::vector instead of std::array 2020-12-05 16:01:20 +02:00
Georgi Gerganov 368962c82d ggwave-gui : add volume and protocol selection 2020-12-05 14:45:18 +02:00
Georgi Gerganov 1ee4274c48 wip : info about Rx protocol 2020-12-05 14:06:45 +02:00
Georgi Gerganov cf35ed33c9 wip : fftw without std::complex 2020-12-05 14:00:32 +02:00
Georgi Gerganov 72d0ca630d wip : volume no longer protocol parameter 2020-12-05 13:32:39 +02:00
Georgi Gerganov 4a8a219f39 wip : refactor GGWave 2020-12-05 13:20:06 +02:00
Georgi Gerganov a02ead3b90 wip : remove TxMode
always use variable length
2020-12-05 11:25:29 +02:00
Georgi Gerganov d95e09faf4 wip : remove param ecc bytes 2020-12-05 10:54:27 +02:00
Georgi Gerganov 9de063bf56 wip : fix receive protocols with different start freq 2020-12-05 10:17:19 +02:00
Georgi Gerganov 09d0e41df4 wip : proper recording length 2020-12-05 10:03:48 +02:00
Georgi Gerganov 1fcbdfbe99 wip : remove paramFreqDelta 2020-12-05 09:45:31 +02:00
Georgi Gerganov 429ff0f1b1 wip : receive all types of protocols 2020-12-04 22:27:04 +02:00
Georgi Gerganov 43863e440e ggwave-gui : UI improvements 2020-12-03 21:43:36 +02:00
Georgi Gerganov 99d18cbae5 do not use std::random_shuffle as it is deprecated 2020-11-30 22:00:21 +02:00
Georgi Gerganov 69efeca387 Initial commit 2020-11-29 11:02:17 +02:00