3 ms·
Sending Cat Pictures Over The Phone (2015)
- Rjevski 8y agoBoring. 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 8y agoIf 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-L133 https://github.com/jpf/dial-a-cat/blob/master/app.py#L107-L1... 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-over-the-telephone https://github.com/jpf/dial-a-cat#transmitting-sstv-images-o... 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 8y agoI 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 8y agoLooking forward to you completing your non-boring modem project!
- CompuHacker 8y agoRobot36 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 8y agoIt'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.
- xmjw 8y agoI was lucky enough to see JF demo this, really cool work.
- exikyut 8y agoTangential 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 8y agoThe 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.
- chadlavi 8y agoSometimes I feel like maybe this is actually the best timeline