
The Fast Meme Transform: Convert Audio into Linux Commands - signa11
http://blog.robertelder.org/fast-meme-transform/
======
mappu
I wanted to know how well this compared to ffmpeg | base64 (or base{emoji}),
but actually I can't make anything that sounds as good in as small a filesize.

The FMT version is 2379 bytes of shell.

Opus bottoms-out at 6000bps (even when you ask for something smaller like
4000bps):

    
    
        ffmpeg -i tripple.wav -ac 1 -ar 8000 -b:a 4000 -ss 4.9 -t 3 tripple.opus
    

That makes a 3638 byte file. It sounds a lot better than the FMT version, but
it's 1.5x the size and still non-printable.

Speex can apparently go as low as 2000bps:

    
    
        ffmpeg -i tripple.wav -ac 1 -ar 8000 -b:a 2000 -ss 4.9 -t 3 tripple.spx
    

That makes a 1322 byte file, or 1788 after base64, much smaller than FMT, even
after you add the necessary base64|ffplay shell wrapping. But it sounds
significantly worse than FMT (and ffmpeg had clipped off the last few audio
frames).

EDIT: AMR-NB (1999) can drop to 4750bps, and Codec2 (2011) can drop to 450bps,
but my copy of ffmpeg doesn't support encoding into either format.

------
kurtisc
> If the thought of running a huge untrusted shell command full of obviously
> compressed text scares you (like it should)

If, however, I clone it from GitHub and build it without looking at the
source, it's good to go.

------
newman8r
this is pretty fun. Seems like it's in the same vein as the libraries that let
you convert video to ascii to play in terminal. No real-world use but they're
a nice display of skill and definitely make you smile.

~~~
mirceal
So, you convert the video __and __audio and play them in the terminal.

------
fenollp
echo -n is not POSIX. Use printf '%s\n' "$var" instead.

~~~
cat199
bsd is unix

~~~
vignesh_m
gnu is unix

------
chungy
I don't have the xxd nor aplay commands on my system, but I do wonder: Is
there a reason for the whole rigmarole instead of just using base64?

~~~
Kliment
yes, this is significantly denser (shorter total length) than encoding actual
audio

------
yedawg
ffs

