Voice 51.0
Records and plays voicegrams on the GNOME desktop. Written in C.
gnome-voice-51.0.tar.gzFree public voice software for GNOME. Record a short voicegram, place it on the map where you recorded it, and share it with everyone.
Three free programs that speak the same voicegram format, so recordings made with one can be heard in the others.
Records and plays voicegrams on the GNOME desktop. Written in C.
gnome-voice-51.0.tar.gzStores voicegrams and serves them for listening. Includes gnome-voice-send.
Needs GLib 2.66 or newer.
Record a voicegram, place it on the map where you are, and share it. GTK 4, libadwaita and libshumate, written in Python, with its own small server.
voicegram-0.1.0.tar.xztar xf gnome-voice-51.0.tar.xz
cd gnome-voice-51.0
./configure --prefix=/usr
make
sudo make install
tar xf gnome-voice-server-1.0.0.tar.xz
cd gnome-voice-server-1.0.0
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
make && make check
sudo make install
sudo systemctl enable --now gnome-voice-server
The server listens on port 8085. Set public-url in
/etc/gnome-voice-server/gnome-voice-server.conf to your public address, and put
nginx, Apache or Caddy in front for HTTPS. The HTTP interface is described in PROTOCOL.md
in the tarball.
# Fedora
sudo dnf install python3-gobject gtk4 libadwaita libshumate geoclue2-libs \
gstreamer1-plugins-base gstreamer1-plugins-good
# Debian / Ubuntu
sudo apt install python3-gi gir1.2-gtk-4.0 gir1.2-adw-1 gir1.2-shumate-1.0 \
gir1.2-geoclue-2.0 gir1.2-gst-plugins-base-1.0 \
gstreamer1.0-plugins-base gstreamer1.0-plugins-good
tar xf voicegram-0.1.0.tar.xz
cd voicegram-0.1.0
python3 voicegram_server.py --port 8642 --public-url https://voice.example.org
VOICEGRAM_SERVER=https://voice.example.org python3 voicegram.py
Voicegram needs libadwaita 1.5 or newer. Its server needs only Python 3.10 or newer.
gnome-voice-send. You get back the voicegram's public address.A voicegram is two files: the recording (.ogg, Ogg Vorbis) and a
descriptor (.voice, XML) with the speaker, the location and the stream address.
<?xml version="1.0" encoding="UTF-8"?>
<voice version="51.0">
<station name="Ole Kristian Aamot" uri="https://www.gnomevoice.org/">
<location lat="59.9139" lon="10.7522">Oslo</location>
<stream>https://voice.example.org/voicegrams/GNOME.ogg</stream>
</station>
</voice>
The Voicegram Recording 1.0 Specification defines the format precisely: every element and attribute, optional title, date and duration, lists of voicegrams, privacy and security rules, and a RELAX NG schema (voice.rnc, voice.rng) for checking your own files.
The bachelor's thesis behind GNOME Voice: free software for recording short voice messages, placing them on an OpenStreetMap map, and sharing them in public.
@thesis{aamot2025voice,
author = {Aamot, Ole Kristian},
title = {Public Voice Communication},
type = {Bachelor's thesis},
institution = {Norwegian University of Science and Technology (NTNU)},
year = {2025},
url = {http://www.stud.ntnu.no/~olekaam/ntnu/bachelor/Aamot,2025.pdf}
}