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.
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.
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.
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.
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).
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.
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.
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.