kamalmostafa / minimodem

general-purpose software audio FSK modem
http://www.whence.com/minimodem
Other
837 stars 111 forks source link

port minimodem to Android #27

Open hosseinpro opened 7 years ago

hosseinpro commented 7 years ago

Hi

I want to use minimodem in Android. As I understand from your code, I should only add a new “simpleaudio_backend” for Android. Is there any other thing that you think I should change?

To address this, I think OpenSL ES in Android NDK is good choice to develop new “simpleaudio_backend”, because in this way there is no need to root permission in Android.

Do you have any advice for me?

Zibri commented 6 years ago

good idea.. I would also implement error correction and data compression (emulate all modes from 300 bps to 56K)

jywarren commented 6 years ago

I wonder if this could be achieved with webjack, a pure JavaScript implementation: https://github.com/publiclab/webjack

We're definitely looking to prove out compatibility with minimodem.

kbrn commented 5 years ago

FWIW, I've had some success compiling minimodem@9a1e876 on Termux 0.65 with the following command:

clang -DUSE_PULSEAUDIO -o minimodem src/minimodem.c src/databits_ascii.c src/databits_binary.c src/databits_callerid.c src/databits_baudot.c src/baudot.c src/databits_uic.c src/uic_codes.c src/fsk.c -lfftw3f simple*.o -lc -lpulse-simple -lpulse -lm -lc -lgcc -ldl

You will first need to install the appropriate libraries:

pkg install pulseaudio libpulseaudio libpulseaudio-dev fftw fftw-dev clang

It seems that, at least on my device, only audio output works. YMMV.

kbrn commented 5 years ago

Oops: In the command above, replace simple*.o with src/simple*.c. That makes the command:

clang -DUSE_PULSEAUDIO -o minimodem src/minimodem.c src/databits_ascii.c src/databits_binary.c src/databits_callerid.c src/databits_baudot.c src/baudot.c src/databits_uic.c src/uic_codes.c src/fsk.c -lfftw3f src/simple*.c -lc -lpulse-simple -lpulse -lm -lc -lgcc -ldl
manotroll commented 1 year ago

these commands no longer work now

eadmaster commented 2 months ago

Just found this alternative that also has an userfriendly android app: https://github.com/ggerganov/ggwave

Now i'd like to see a comparison between the two.