https://github.com/w2sz/HamBot

Brian Robert Callahan, AD2BA [email protected]

Hisen (Zhemin) Zhang, KD2TAI [email protected]

An AI-powered transcription bot for FM transmissions

As Amateur Radio transmissions are sent unobscured, it is possible to perform any number of transformations on these transmissions. The burgeoning fields of Artificial Intelligence (AI) and Machine Learning (ML) have the capacity to transform what can be done with all data–in Amateur Radio and far beyond. We believe it is prudent for the Amateur Radio community to embrace the potential of AI/ML while at the same time having frank conversations about its proper role in Amateur Radio and establishing best practices for the use of AI/ML in Amateur Radio.

In this article, we present a first experiment combining AI/ML and Amateur Radio. We will demonstrate an AI-powered bot that can listen to FM transmissions, transcribe the audio heard into text, and then post that text to a social media account, all without direct human intervention. We will begin with a short explanation of AI/ML to introduce the concepts to the Amateur Radio community at large. We will then document an experiment creating an AI-powered bot for FM transmissions. We will then discuss issues of accuracy. We will conclude with the opening to a much larger discussion tasking the Amateur Radio community to consider the broader applicability and role of AI/ML in Amateur Radio, ending with a call to organize for serious discussion around these AI/ML technologies.

It is our belief that AI/ML represents a new, exciting avenue of exploration for radio research and exploration, advancing the state-of-the-art in radio, a core charge for Amateur Radio. We believe in the potential contained within the intersection of AI/ML and Amateur Radio to make Amateur Radio exciting for the next generation of amateur operators, expand access to Amateur Radio, and create new opportunities for amateur operators around the world.

It is our hope that this article inspires other amateur operators to experiment with AI/ML applications in Amateur Radio.

What is AI/ML?

Here, we very quickly provide a high-level explanation of AI/ML relevant to introducing the concepts to the Amateur Radio community at large and for our purposes relevant for this article’s experiment.

Artificial Intelligence is well-described as “the science and engineering of making intelligent machines, especially intelligent computer programs” [1]. AI itself traces its roots to the early days of the discipline of computer science, with Alan Turing devising his “Imitation Game,” what we now call the Turing Test, in order to answer the question of whether or not machines can think [2]. Much more broadly speaking, we can think of AI as being divided into a few main camps: the human approach, where the goal is to produce machines that think like humans; and the ideal approach, which is interested in producing machines that act rationally [3]. In today’s world, AI powers much of our daily interactions, even if it is at times invisible. Apple’s Siri [4], Microsoft’s Cortana, Google Home, and Amazon’s Alexa [5] are examples of AI systems that you may routinely interact with. AI powers much of our decision making, from mundane questions about what to watch on Netflix to judicial scenarios [6].

Machine Learning is a branch of AI that devises methods for machines to imitate the ways in which humans learn, allowing machines to self-improve their accuracy at their assigned tasks over time. Originally coined in 1959 as a term to describe a machine designed to play checkers [7], machine learning today is perhaps most visible in its applications in self-driving cars [8]. In general, ML requires three components: a decision process that takes in data and “guesses” what the output should be; an error function that measures how good the “guess” was against known examples; and an optimization process that updates how the decision process makes it “guesses” so that future errors will not be as large [9].

For our experiment in this article, we will be using an open source off-the-shelf AI/ML software package known as VOSK [10], a speech recognition toolkit. While we will not be diving into the technical details surrounding the AI/ML that make VOSK work, we can be confident that the system does work, as our experiment will demonstrate.

An experiment: an AI-powered transcription bot for FM transmissions

To get set up with the AI bot required a number of steps to correctly set up all the hardware and software. This required identifying appropriate hardware and software, acquiring an SDR kit, testing and configuring software, and setting up a social media account to post transcribed recordings. All code and scripts that we wrote are open source and are available online at https://github.com/w2sz/HamBot.

We also set up a social media account on the website https://mastodon.radio. Mastodon is a Twitter-like social media service using 100% open source software and open source protocols for communication. It can be thought of as many small Twitter clones that can all communicate with one another. Many of these Mastodon sites are themed; Mastodon.radio is themed around Amateur Radio. With permission of the site owner, we created an account named @[email protected]. This account hosts the FM transcriptions that the bot creates and posts. The posts can be read at https://mastodon.radio/@FMbot.

Figure 1 below provides a high-level visualization of the process undertaken by the bot:

Untitled

Figure 1. System Block Diagram

Here, we outline the steps we took so that others may replicate our bot: