Chirpy is an audio text messaging app.
Chirpy is a fun demonstration of chirp modulation.
Download the latest Android Package (APK): https://github.com/eliteraspberries/chirpy/releases/tag/v0.4
On screen you will see three buttons (①, ②, ③), text input or received (④), and plots of the decoding process (⑤, ⑥).
- The 'debug' button toggles the information displayed in the background.
- The 'mic' button toggles the decoding process. Turn this off when not in use because it consumes battery.
- The 'keyboard' button toggles keyboard input.
- Text sent or received is displayed at the top of the screen.
- and 6 are plots of the cross-correlation of the audio received and the zero and one chirps. A peak indicates the presence of a chirp.
The Chirpy app requires:
- a 32-bit ARM CPU (ARMv7-A) and Android 4.4 (KitKat) or later; or
- a 64-bit ARM CPU (ARMv8-A) and Android 5.0 (Lollipop) or later.
That means most Android smartphones.
Building Chirpy requires:
- a Unix shell and utilities including make;
- GNU Autotools (Autoconf, Automake, and Libtool);
- Python and SCons;
- the awesome LÖVE framework;
- the FFTW library and lua-libfftw;
- the Nu library and lua-libnu; and
- the DejaVu Sans font.
Fetch this repository and change into its directory:
$ git clone https://github.com/eliteraspberries/chirpy.git
$ cd chirpy
Download, extract, and patch FFTW version 3.3.8:
$ curl -L -O http://www.fftw.org/fftw-3.3.8.tar.gz
$ gunzip < fftw-3.3.8.tar.gz | tar -f - -x
$ patch -b -p0 < patches/patch-fftw-3.3.8
Download and extract Nu version 0.7:
$ curl -L -O https://github.com/eliteraspberries/nu/releases/download/v0.7/nu-0.7.tar.gz
$ gunzip < nu-0.7.tar.gz | tar -f - -x
Download lua-libfftw:
$ git clone https://github.com/eliteraspberries/lua-libfftw.git
$ cp -R lua-libfftw/libfftw .
Download lua-libnu:
$ git clone https://github.com/eliteraspberries/lua-libnu.git
$ cp lua-libnu/libnu.lua .
Download the latest version of the DejaVu Sans font:
$ curl -L -O https://github.com/dejavu-fonts/dejavu-fonts/releases/download/version_2_37/dejavu-fonts-ttf-2.37.zip
$ unzip -j dejavu-fonts-ttf-2.37.zip dejavu-fonts-ttf-2.37/ttf/DejaVuSans.ttf -d fonts
Then read chirpy-android/README.md.