Voice (gnome-voice) 1.2.0 with Multiple Voice Streaming, Mapping and Recording

The first stable Voice (gnome-voice) 1.2.0 release is now available at https://download.gnome.org/sources/gnome-voice/1.2/gnome-voice-1.2.0.tar.xz with Voicegram streaming and recording in Ogg Vorbis.

Voice 1.2.0 is a new Public Voice Communication Software being built on GNOME 44 and published as GNOME Software as well as in the Bachelor thesis in Programming – Aamot, Ole Kristian: Public Voice Communication (NTNU, 2025).

The Voice 1.2.0 stable release with Voicegram XML Map mapping, Sondre Lerche (Los Angeles, California) marker, experimental wizard, Command Line Option parsing of --filename and --stream, XML parsing support of $PREFIX/share/gnome-voice.xml and XML writer and multiple player support in $PREFIX/share/gnome-voice.xml and live microphone recorder into $HOME/Music/GNOME.ogg is available from https://download.gnome.org/sources/gnome-voice/1.2/gnome-voice-1.2.0.tar.xz

gnome-voice 1.0.1 Stream Recording

Voice will let you listen to and share short, personal and enjoyable Voicegram via electronic mail and on the World Wide Web by GNOME executives, employees and volunteers. Xiph.org Ogg Vorbis is a patent-free audio codec that more and more Free Software programs, including GNOME Voice (https://www.gnomevoice.org/) have implemented, so that you can listen to Voicegram recordings with good/fair recording quality by accessing the Voicegram file $HOME/Music/GNOME.[ogg,voice] in the G_USER_DIRECTORY_MUSIC folder in Evolution 3.46 or Nautilus.

Currently it records sound waves from the live microphone into $HOME/Music/GNOME.[ogg,voice] (or $HOME/Musikk/GNOME.[ogg,voice] on Norwegian bokmål systems) and plays back an audio stream from http://api.perceptron.stream:8000/128.ogg simultaneously on GNOME 44.

The stable Voice 1.2.0 release with Voicegram XML Map mapping from $HOME/Music/GNOME.voice and live microphone recording into $HOME/Music/GNOME.ogg and a concert experience with musician Sondre Lerche (Los Angeles, California) and software developer Neil McGovern (Executive Director, GNOME Foundation) is available from https://download.gnome.org/sources/gnome-voice/1.2.0/gnome-voice-1.2.0.tar.xz

About Voicegram

A Voicegram is a Public Voice Communication Audio Recording in Voice.

In the first Voicegram Recording Software implementation, the Free Software application Voice version 1.2.0, as a free purpose application, we can reproduce hearable sounds for human listening with time-space-frequency notation.

We use the principles in the processing of signals that are motivated by the processes involved in hearing.

A representation of audio signals where we have access to both time and frequency information is a well-motivated choice. The time-frequency domain is such a domain, and it is commonly deployed in audio processing. However, we want to add the extra capabilities of the Domain Name System information to annotate the full location representation with the unique time-space-frequency domain representation of the full audio signal in Voicegram Recording in Radio, the motivation behind Voice.

Voicegram Recording 1.0 Specification

The Voicegram Recording 1.0 Specification is implemented in Voice 1.2.0 (Aamot, 2025) in ANSI C and available from http://download.gnome.org/sources/gnome-voice/1.2/gnome-voice-1.2.0.tar.xz

The Voicegram Recording Ogg Vorbis [.ogg] and XML file [.voice] is created in G_USER_DIRECTORY_MUSIC (usually $HOME/Music/GNOME.ogg and $HOME/Music/GNOME.voice on American English systems) with g_get_real_name():

<?xml version="1.0"?>

<voice version="1.2.0">

  <station name="Sondre Lerche" uri="http://www.sondrelerche.com/">

    <location lat="34.0223563" lon="-118.2873057">Los Angeles, California</location>

    <stream>http://api.perceptron.stream:8000/128.ogg</stream>

  </station>

</voice>

You’ll find the recorded Ogg Vorbis audio files along with the Voicegram Recording XML files in g_get_user_special_dir(G_USER_DIRECTORY_MUSIC) (usually $HOME/Music/) on GNOME 44 systems configured in the American English language.

The audio signals recorded with Voice version 1.2.0 have usually a sample rate of 44,100 Hz and are stored in the $HOME/Music/GNOME.ogg and $HOME/Music/GNOME.voice files for the label “GNOME”.

It is possible to configure multiple Voice listening streams with <stream> tags in $HOME/Music/GNOME.voice or $PREFIX/share/gnome-voice.xml, but your private Voice files is never shared with the public and can be kept private unless you manually share, upload or email the $HOME/Music/GNOME.ogg or $HOME/Music/GNOME.voice files with the public to a server such as GNOMEVOICE.ORG.

Implementation

The implementation of the Voicegram Recording 1.0 Specification (“as-is”) will be completed (“as-of”) on June 25th, 2024 in C as specified in The C programming language (Kernighan/Ritchie, 1978) after 6 months of work that began on February 15th, 2022 as the GNOME application Voice (gnome-voice) and finished on August 15th, 2022.

References

Aamot, Ole Kristian: Public Voice Communication (NTNU, 2025)

More information about Voice is available on https://wiki.gnome.org/Apps/Voice and http://www.gnomevoice.org/

Gingerblue 6.2.0 for musicians who compose, record, and share original music in Evolution

You can try Gingerblue 6.2.0 with Evolution email attaching in the Broadcast step in the GTK+/GNOME wizard available from https://www.gingerblue.org/ and https://wiki.gnome.org/Apps/Gingerblue

Gingerblue 6.2.0 provides a link in the final GtkAssistant Broadcast page that launch Evolution or another email program that supports mailto:?attachment=localOggVorbisRecording.ogg application handler in GNOME 43. The syntax mailto:?attachment is not yet a RFC and it
is only supported by Evolution 3.44 as far as I have tested, the default email client on GNOME 43.

With a Focusrite Scarlett 2i2 USB Sound Card and a AKG 3000b large diagraph microphone and a XLR microphone cable, it is possible to record and email voice messages and hopefully some music as part of my studies as Location Recording student at Norwegian Academy of Music and Bachelor student in Programming at Norwegian University of Science and Technology (NTNU) from GNOME 42.

You can hear a voice recording of my voice recorded with Gingerblue 6.2.0 at my blog at https://blog.oleaamot.no/ with examples of my music recorded with Gingerblue.

Gingerblue 6.2.0 is available as source code from https://download.gnome.org/sources/gingerblue/6.2/gingerblue-6.2.0.tar.xz, as well as source package in MacPorts at https://ports.macports.org/port/gingerblue/details/ and Fedora Core 36 by running


sudo dnf install https://www.gingerblue.org/~ole/fedora/RPMS/x86_64/gingerblue-6.2.0-1.fc36.x86_64.rpm

GNOME Radio 16 on GNOME 42 Presentation at GUADEC 2022

GNOME Radio 16 is the Public Network Radio Software for Accessing Free World Broadcasts on Internet running on GNOME 42.

GNOME Radio 16 is available with Hawaii Public Radio (NPR) and 62 British Broadcasting Corporation (BBC) live audio broadcasts for GNOME 42.

The latest GNOME Radio 16 release during GUADEC 2022 (between July 20-25, 2022) features 200 international radio stations and 110 city map markers around the world, including National Public Radio, 62 BBC radio stations broadcasting live from United Kingdom and 4 SomaFM radio stations broadcasting live from San Francisco, California. GNOME Radio 16 for GNOME 42 is developed on the GNOME 42 desktop platform with GNOME Maps, GeoClue, libchamplain and geocode-lib and it requires at least GTK+ 3.0 and GStreamer 1.0 for audio playback.

Join the Bird of a Feather meeting about GNOME Radio 16 on GNOME 42 during the GUADEC 2022 at 24 Jul 2022 13-15 in GUADEC 2022-Track 2 Samsung at https://meet.gnome.org/gua-t9b-upx-mlt

8 years before GNOME 43 occured I began writing GNOME Internet Radio Locator for GNOME 2 between 2014-2017 and 5 more years GNOME 3, after Norwegian Broadcasting Corporation (NRK) shut down its FM broadcasts. In 2022 we are going to build GNOME 43 support for further international as well as Norwegian radio stations with help from the GStreamer and the GNOME community.

Here is some of the newly written code for GNOME 43 in the new GNOME Radio 42 application org.gnome.Radio:

#include <gst/player/player.h> #include <gtk/gtk.h> static void activate(GtkApplication * app, gpointer user_data) { GtkWidget *window; GstPlayer *player; window = gtk_application_window_new(app); gtk_window_set_application (GTK_WINDOW(window), GTK_APPLICATION(app)); gtk_window_set_title(GTK_WINDOW(window), "Radio"); gtk_window_set_default_size(GTK_WINDOW(window), 800, 600); gtk_widget_show(window); player = gst_player_new (NULL, gst_player_g_main_context_signal_dispatcher_new(NULL)); gst_player_set_uri (GST_PLAYER (player), "http://stream.live.vc.bbcmedia.co.uk/bbc_world_service"); gst_player_play (GST_PLAYER (player)); } int main(int argc, char **argv) { GtkApplication *app; int status; gst_init(&argc, &argv); gst_init(NULL, NULL); app = gtk_application_new("org.gnome.Radio", G_APPLICATION_FLAGS_NONE); g_signal_connect(app, "activate", G_CALLBACK(activate), NULL); status = g_application_run(G_APPLICATION(app), argc, argv); g_object_unref(app); return status; }

GNOME Internet Radio Locator 3 (Washington)

In 2018 I began writing my Bachelor of Science thesis in Electrical Engineering about GNOME Radio and GNOME Internet Radio Locator and on June 24, 2020 I published my Bachelor thesis on GNOME Radio; gnome-radio-16.0.43 and gnome-internet-radio-locator-12.6.0, at Oslo Metropolitan University and University of Oslo in Norway.

See my GUADEC 2022 talk on GNOME Radio 16 scheduled for the BoF Workshop GUADEC 2022 BoF Rm 2 session July 24, 2022 between 13:00-15:00.

Visit gnomeradio.org and wiki.gnome.org/Apps/Radio for full details on GNOME Radio 42.

Voice 0.0.6 for GNOME 43

Voice is a new Public Voice Communication Software being built on GNOME 43.

Voice will let you listen to and share short, personal and enjoyable Voicegrams via electronic mail and on the World Wide Web by GNOME executives, employees and volunteers. Ogg Vorbis is a patent-free audio codec that more and more Free Software programs, including GNOME Voice (https://www.gnomevoice.org/) have implemented, so that you can listen to Voicegram recordings with good/fair recording quality.

The sixth Voice 0.0.6 release with live microphone recording into $HOME/Music/GNOME.ogg is available from https://download.gnome.org/sources/gnome-voice/0.0/gnome-voice-0.0.6.tar.xz

The latest Voicegram recording gets stored in $HOME/Music/GNOME.ogg

More information about Voice is available on https://wiki.gnome.org/Apps/Voice and http://www.gnomevoice.org/

Update DOAP description in GNOME Software for Gingerblue 6.0.1

I have released Gingerblue 6.0.1, new generation Mic / USB sound recording app on GNOME 43.

https://wiki.gnome.org/Apps/Gingerblue

However, there is no description of it in GNOME Software on GNOME 43.

https://download.gnome.org/sources/gnome-radio/6.0/gingerblue-6.0.1.tar.xz

GNOME Software needs to be updated to display information about Gingerblue for this to be implemented properly.

https://gitlab.gnome.org/ole/gingerblue/-/raw/master/data/gingerblue.appdata.xml.in
https://gitlab.gnome.org/ole/gingerblue/-/raw/master/gingerblue.doap

You can open $HOME/Music/GNOME.xspf for the latest recording with Rhythmbox, but so far meta tagging of Ogg Vorbis files is not yet implemented in GStreamer for the Ogg container, after Initial work on meta tagging to Ogg Vorbis in Gst recorder pipeline in Gingerblue, but not yet working in GStreamer.

From https://gitlab.gnome.org/ole/gingerblue/-/blob/master/src/gingerblue-main.c


#include <gst/gst.h>
#include <gst/player/player.h>
#include <gst/tag/tag.h>
...
GstTagList *tag_list;
...
GstElement *src, *conv, *enc, *muxer, *sink, *recorder;
gchar *filename = NULL;
GDateTime *datestamp = g_date_time_new_now_utc ();
GstElementFactory *factory;
gst_element_send_event(recorder, gst_event_new_eos());
recorder = gst_pipeline_new("record_pipe");
...
src = gst_element_factory_make("autoaudiosrc", "auto_source");
conv = gst_element_factory_make("audioconvert", "convert");
enc = gst_element_factory_make("vorbisenc", "vorbis_enc");
muxer = gst_element_factory_make("oggmux", "oggmux");
sink = gst_element_factory_make("filesink", "sink");
...
tag_list = gst_tag_list_new (GST_TAG_ARTIST, gtk_entry_get_text(GTK_ENTRY(musician_entry)), NULL);
gst_stream_set_tags (GST_STREAM (recorder), tag_list);
tag_list = gst_tag_list_new (GST_TAG_ALBUM, gtk_entry_get_text(GTK_ENTRY(album_entry)), NULL);
gst_stream_set_tags (GST_STREAM (recorder), tag_list);
tag_list = gst_tag_list_new (GST_TAG_TITLE, gtk_entry_get_text(GTK_ENTRY(song_entry)), NULL);
gst_stream_set_tags (GST_STREAM (recorder), tag_list);
tag_list = gst_tag_list_new (GST_TAG_COPYRIGHT, gtk_entry_get_text(GTK_ENTRY(label_entry)), NULL);
gst_stream_set_tags (GST_STREAM (recorder), tag_list);
tag_list = gst_tag_list_new (GST_TAG_PUBLISHER, gtk_entry_get_text(GTK_ENTRY(label_entry)), NULL);
gst_stream_set_tags (GST_STREAM (recorder), tag_list);
tag_list = gst_tag_list_new (GST_TAG_DATE_TIME, datestamp, NULL);
gst_stream_set_tags (GST_STREAM (recorder), tag_list);
gst_vorbis_tag_add (tag_list, GST_TAG_ARTIST, gtk_entry_get_text(GTK_ENTRY(musician_entry)));
gst_vorbis_tag_add (tag_list, GST_TAG_ALBUM, gtk_entry_get_text(GTK_ENTRY(song_entry)));
gst_vorbis_tag_add (tag_list, GST_TAG_TITLE, gtk_entry_get_text(GTK_ENTRY(song_entry)));
gst_vorbis_tag_add (tag_list, GST_TAG_COPYRIGHT, gtk_entry_get_text(GTK_ENTRY(label_entry)));
gst_vorbis_tag_add (tag_list, GST_TAG_PUBLISHER, gtk_entry_get_text(GTK_ENTRY(label_entry)));
gst_vorbis_tag_add (tag_list, GST_TAG_DATE_TIME, datestamp);
gst_vorbis_tag_add (tag_list, GST_TAG_DATE_TIME, datestamp);
gst_stream_set_tags (GST_STREAM (recorder), tag_list);

Hope this motivates one of us to implement gst_vorbis_list_new, gst_vorbis_tag_add and gst_stream_set_tags properly!

You can use Gingerblue 6.0.1 to record audio from GNOME Radio with a built-in laptop microphone, but it remains to be implement recording in Gingerblue in patent-free, lossless HiFi recording quality (FLAC).

See http://planet.nuug.no/ and https://blogs.gnome.org/oleaamot/2022/05/28/gingerblue-6-0-1-with-immediate-ogg-vorbis-audio-encoding/ for link to the RPMS for Fedora Core 36.

You’ll find the code in https://gitlab.gnome.org/ole/gingerblue/

I urge a move of the code to https://gitlab.gnome.org/GNOME/gingerblue.

Gingerblue records immediately audio from a connected microphone and runs stable on Fedora Core 36 under GNOME 42.

GNOME Developer and User Conference 2022

The annual GNOME Developer and User Conference 2022 will be held in Mexico, where it was scheduled to take place last summer. Here are the first details to participate, as it starts July 20, 2022.

This year is special for the GNOME community in several ways.

On the one hand, GUADEC falls within the context of GNOME’s 25th anniversary. On the other, the 2022 conference marks
the return to personal events. Finally, it is the first GUADEC on the American continent.

What is GUADEC?

GUADEC is the largest conference in the GNOME community. It brings together hundreds of users, contributors, community members for a week of conferences and workshops.

When is GUADEC this year?

The GNOME Foundation has planned GUADEC 2022 this year for 20-25 July 2022.

Where will GUADEC take place in 2022?

The event takes place in Guadalajara, Mexico. However, the event will be hybrid and it is possible to participate externally.

The program

The program is not yet defined at the time of writing these lines.

How to register

You can already register for free online on the official website via https://events.gnome.org/event/77/

If the registration is free, it is possible to make a donation via the registration page.

Update DOAP description in GNOME Software for GNOME Radio 16.0.43

I have released GNOME Radio 16, new generation Radio app for GNOME 42.

https://wiki.gnome.org/Apps/Radio

However, there is no description of it in GNOME Software on Fedora Core 36.

https://download.gnome.org/sources/gnome-radio/16.0/gnome-radio-16.0.43.tar.xz

GNOME Software needs to be updated to display information about GNOME Radio 16 for this to be implemented properly.

https://gitlab.gnome.org/ole/gnome-radio/-/raw/main/gnome-radio.doap
https://gitlab.gnome.org/ole/gnome-radio/-/raw/main/data/gnome-radio.appdata.xml.in

You can use Gingerblue 6.0.1 to record audio from GNOME Radio with a built-in laptop microphone, but it remains to be implement recording from GNOME Radio in lossless quality.

See http://planet.nuug.no/ and https://blogs.gnome.org/oleaamot/2022/05/28/gnome-radio/ for link to the RPMS for Fedora Core 36.

You’ll find the code in https://gitlab.gnome.org/ole/gnome-radio/

I urged a move of the code to https://gitlab.gnome.org/GNOME/gnome-radio however it was voted down.

GNOME Radio 16.0.43 runs smoothly on Fedora Core 36 under GNOME 42.