Commit Graph

264 Commits

Author SHA1 Message Date
Georgi Gerganov
68d77facb2 tests : fix C test 2021-02-27 19:59:52 +02:00
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