#+TITLE: Very short voice chat 'program' you mostly already have #+AUTHOR: Screwtape I'm not going to 'go on Discord' with you. Let's realize that not only are Dis cord doing the worst things in the universe to their users, but their program sucks and isn't necessary. Nor Microsoft Skype, nor Google Chat, nor Zoom nor Slack; these are all bizarre and horrible scams that are not even done well- a dignity you think they could afford their victims with all their government backings. We're doing the whole thing. * All the prep work on two machines (which does kind of suck) The ssh target can be on any machine and c/should be a default user. We will use ssh-fuse to mount a directory through ssh using 'Fileystem-in-USErspace' save an audio file there on one computer and play it on another. I'm using openbsd, adapt to whatever the wav builtin and package manager for you are. The preparatory activities: #+begin_src sh ## probably as root. mkdir -p /mnt/voice pkg_add sshfs-fuse sshfs -o allow_other,default_permissions,IdentityFile=/path/to/.ssh/id_rsa \ user@address:/path/to/voice/ /mnt/voice/ #+end_src We have now mounted the same directory on two computers. If we save an audio file here on one machine, we can simply open it on the other. Because sshfs is a bit quirky (more on that below) whomsoever the host is sh ould make a subfolder to store the files. * Sender machine #+begin_src sh aucat -o /mnt/voice/wavs/voice.wav #+end_src * Receiver machine #+begin_src sh aucat -i /mnt/voice/wavs/voice.wav #+end_src * This is everything. Just record and send wav files, sequentially playing them. With sshfs-fuse, that's the same as saving and playing wav files on your pc. You would repeat this (called a "stream") for a continuous call, and both save and play files for a mutual call. A shell script can replace Zoom, or if you are fancy, the code of aucat and sshfs* is open source and not complicated. (* kind of). Further, you don't need an untrustworthy middle man host. * The bad thing is different to what you might expect Trusting someone enough to have mutual ssh access to a machine is quite a lot of trust. Think about the trust you place in Discord. Once, and before it required as much legal paperwork as it does now, I connected to my friend's Discord in a sandbox. I got a friend request from what the internet uncovered as an established Discord Phone Sex business.