Commit Graph

263 Commits

Author SHA1 Message Date
Georgi Gerganov 5f2bfd09ba msys2 : fix build 2021-02-27 09:47:13 -08:00
Georgi Gerganov 8a930b7a96 cmake : do not configure files when not standalone 2021-02-27 15:17:17 +02:00
Georgi Gerganov d977c0fc9c waver : make the spectrogram time axis vertical 2021-02-27 15:11:24 +02:00
Georgi Gerganov f279604989 waver : fix spectrogram display
Was exceeding 2^16 vertices
2021-02-27 15:03:09 +02:00
Georgi Gerganov bdf56d2f8f ggwave : update js bindings 2021-02-27 12:27:18 +02: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 311442f01c cmake : separate version string for python package 2021-02-21 00:55:55 +02:00
Georgi Gerganov bf4be2a4f4 js : update ggwave.js 2021-02-20 22:45:29 +00:00
Georgi Gerganov bd9d6b1d81 ggwave-js : simplify example (#21)
Now that ggwave support input resampling, we don't need to resample
in javascript
2021-02-21 00:43:37 +02:00
Georgi Gerganov e5c094296f python : fix cython wrapper 2021-02-21 00:42:26 +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 d3732946c6 close #19 : add cmake option for single-file wasm build
If enabled, we build ggwave using "-s SINGLE_FILE=1" which causes
the WASM to be embedded inside the .js file.

Otherwise, 2 separate files are produced:
- libggwave.js
- libggwave.wasm
ggwave-v0.2.0
2021-02-20 19:57:47 +02:00
Georgi Gerganov 580090c721 ggwave v0.2.0 2021-02-20 19:42:16 +02:00
Georgi Gerganov e36d5032dc Update CHANGELOG.md 2021-02-20 19:26:21 +02:00
Georgi Gerganov b0f55ac025 Update CHANGELOG.md 2021-02-20 19:25:33 +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 ff5c569071 spectrogram : add simple color scaling control 2021-02-13 08:10:19 +02:00
Georgi Gerganov 2774040fdd Create README.md 2021-02-13 07:53:32 +02:00
Georgi Gerganov 95775bd70d update README-tmpl.md 2021-02-10 08:18:06 +02:00
Georgi Gerganov 37b9f1a101 Update README.md 2021-02-09 21:27:01 +02:00
Georgi Gerganov ea60fffd9e spectrogram : add simple spectrogram tool (#17) 2021-02-09 21:25:47 +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 07eb33e9c9 minor : fix callback variable name 2021-02-07 20:38:23 +02:00
Georgi Gerganov 931549720a ios : update submodule 2021-01-30 15:07:16 +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 555495f7cb ggwave : add some more comments to the C interface 2021-01-25 21:30:07 +02:00
Georgi Gerganov 51d7bd9e18 npm : add README.md 2021-01-24 20:55:34 +02:00
Georgi Gerganov 34314e77f7 py : change file mode 2021-01-24 17:36:45 +02:00
Georgi Gerganov fb81bbc9b6 ggwave-js : add link to README.md 2021-01-24 17:28:49 +02:00
Georgi Gerganov 19f353018d Javascript bindings (#14)
* Initial version ready

- bindings are in `bindings/emscripten.cpp`
- minimal Javascript example is in `examples/ggwave-js`

* add npm package + add test-ggwave.js

* js : rename export name to "ggwave_factory"

* update to v0.1.5

* Update README.md

* npm : add npm-publish target
2021-01-24 17:25:58 +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 ccb7fae08d Update README.md 2021-01-23 14:47:36 +02:00
Georgi Gerganov 7c235b3f2c cmake : add pypi-publish target 2021-01-23 14:47:17 +02:00
Georgi Gerganov 3f690868a4 update to v0.1.4 2021-01-23 14:36:11 +02:00
Georgi Gerganov f245b6e930 tests : add C test 2021-01-23 14:25:18 +02:00
Georgi Gerganov 3462383b07 ci : remove python 2.7 2021-01-23 13:27:42 +02:00
Georgi Gerganov 069bc02a82 ci : add output-on-failure to ctest 2021-01-23 13:24:08 +02:00
Georgi Gerganov 342150b356 ci : disable examples for python job 2021-01-23 13:19:37 +02:00
Georgi Gerganov 0bb455041e cmake : add python support 2021-01-23 13:15:16 +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 440a87807e Update README.md 2021-01-20 22:44:33 +02:00
Georgi Gerganov 2811934e45 update .gitignore 2021-01-19 22:05:30 +02:00