# hubbub hubbub is a frightening idea: Voice-over-IRC-over-SSH. i saw [voirc] by asie before making this, but hubbub is different in a couple of ways: - it doesn't plop you in a big alternate screen - it does not support text - it has deafen and mute indicators - it uses the Opus codec instead of Codec2, which gives much better quality - *(this is only possible due to town not having any ratelimiting or fakelag in place)* - crucially, it is built for tilde town, so it tunnels through ssh. [voirc]: https://github.com/asiekierka/voirc the code is about as horrifying as the idea itself. if something breaks when it reasonably shouldn't, let me know (or fix it and then let me know!) ## todo - [x] joining a channel - [x] handling everyone's state - [x] any of the actual audio stuff - [x] noise suppression with rnnoise - [ ] chat with more than a singular other person, probably ## building hubbub requires go 1.23 to build. it might run on earlier versions, but i think `slices` mainlined in 1.23 and i can't be bothered to check. run `go build` and copy the binary wherever. you also need to have the following headers: - rnnoise - portaudio - opus ## usage hubbub needs a TOML config file, either passed using `--config` or at `.config/hubbub/config.toml`: ```toml username = 'shrike420' privkey = '~/.ssh/id_ed25519' nick = 'shrike420_voice' channel = '#hubbub' ``` note that the nick is different than the username: if you're already logged onto irc you won't be able to use that nick. you can also pass a different server or port but you really don't have a reason to. for audio, this uses portaudio, so as long as you have it installed and you have either pipewire or alsa or jack or pulseaudio, it'll work. JACK might spit out some ugly stuff to stderr on launch, i'm working on fixing that. here's the controls: ``` ,/m/space toggle mute ./d toggle deafen q/^c/^d quit :( ``` ## license this monstrosity is licensed under the Dayenu Public License. see [the notice] for details. [the notice]: LICENSE