
Sending Cat Pictures Over The Phone (2015) - jf
https://github.com/jpf/dial-a-cat
======
CompuHacker
Robot36 and SSTV Encoder are simple, ad-free, free (Apache License) Android
apps for decoding and encoding SSTV with a complementary and extensive mode-
set.

That said, Dial-A-Cat is a bit blurry due to Martin 2's short transmission
time and the cellular connection. There might also be a frequency shift
preventing header detection in Robot36.

~~~
jf
It's been years since I wrote this code. As I recall the main constraints that
went into picking Martin M2 were: what was supported by the SSTV decoders that
were available at the time, what was supported by Python libraries, and the
time it took to transmit the image.

------
exikyut
Tangential but arguably related: what phone numbers around the world are still
hooked to modems? What's out there that I can [still] dial in to?

The reason I emphasize "around the world" is that I want to play with an old
modem I have here, I want to use my actual landline for the testing, I live in
Australia, and long-distance calling doesn't really appeal because, besides
the costs, it'll probably kill 56k throughput.

I've noted some old dialin lines used by ISPs, because that'll at least get me
to "right, PPP's complaining but that means it's working", but it would be
very nice to go a bit further.

~~~
Rjevski
The problem is that some interconnects between carriers use codecs optimised
for voice and voice only, and your modem will most likely not work at all. The
days of fully analog landlines are long gone - even if you get a phone jack,
nothing guarantees it's not being digitised and then compressed with the
aforementioned codecs down the line.

------
xmjw
I was lucky enough to see JF demo this, really cool work.

------
chadlavi
Sometimes I feel like maybe this is actually the best timeline

------
Rjevski
Boring.

TLDR: he’s just using Twilio to play back an audio file of an SSTV
transmission of a cat picture to incoming callers.

I was expecting something more exiting, like an actual modem that could work
over mobile phone calls (conventional 56k modems don’t work as the voice
codecs used in legacy non-VoLTE phone networks are exclusively optimised for
voice).

~~~
jf
If you press "8" at the prompt, you'll be served a fresh image from The Cat
API that is rendered on-the-fly: [https://github.com/jpf/dial-a-
cat/blob/master/app.py#L107-L1...](https://github.com/jpf/dial-a-
cat/blob/master/app.py#L107-L133)

To get this to work, I had to serve the WAV samples to Twilio as they were
generated, this is described just below the first block of code in this
section of the README: [https://github.com/jpf/dial-a-cat#transmitting-sstv-
images-o...](https://github.com/jpf/dial-a-cat#transmitting-sstv-images-over-
the-telephone)

The reason I serve a pre-rendered audio file by default is that not every
image you get from the Cat API results in an image that is recognizable after
Martin M2 is done with it.

~~~
Rjevski
I wasn't criticising the fact that you use a pre-rendered audio file (in fact
that's the proper way to do it, as there's no need to recompute the SSTV audio
every single time), merely the fact that it's just one-way SSTV instead of
something more exciting like implementing an actual modem.

~~~
ireflect
Looking forward to you completing your non-boring modem project!

