As I was preparing to teach my winter 2024 course, IPT515 Artificial Intelligence for Instructional Designers (at Brigham Young University), I started thinking, “surely by now someone is applying AI to amateur radio.” It didn’t take a lot of Googling to find a very interesting new program called RM Noise. (Trivia: “rm” is the Unix command used to delete files at the command line.)
Listen to the clip below to see why there’s a lot to be excited about with AI and amateur radio! If you watch the far left side of the middle white window, you’ll see me sliding the noise cancellation control up and down as the noise disappears and reappears like magic.
Installation and Setup
Setup with my Flex 6400 was a breeze, and it should be equally simple with other radios (as always, YouTube has several tutorials). You can read the full documentation, or you can just download and run the installer. When you launch the program, you’ll see the main window. The first time you start the program, you’ll need to click on the Options button indicated by the blue arrow:
Once the Options window appears, use the Input selector to choose which audio source to send to RM Noise. In my case, that was the DAX IQ 1 channel. Then use the Output selector to choose the speakers / headphones / etc. you want to hear the sound played back through. Here’s what that looks like for me:
Check your input level to make sure it’s not too high, and you’re good to go! Now just choose an AI filter that meets your current needs (you can change this setting at any time). There are AI filters for both phone and CW:
Once you’ve selected your filter, you can adjust the amount of filtering using the vertical slider on the left. You can temporarily stop all filtering by hitting the Bypass button at the bottom right.
Training a neural network to pull voice and CW signals out of the specific kinds of noise we hear in amateur radio is a great idea, and this program produces some amazingly clean audio. You can even contribute your own recording of the noise you hear on your radio to help train the model and make the noise cancellation better for everyone (and you should!).
There’s only one aspect of the implementation that concerns me. RM Noise sends your noisy audio to a central server, processes it there, and sends you back clean audio in near real time. That seems to be working fine for now, but obviously isn’t a long-term solution. If thousands of people started using the service it would quickly overwhelm their server(s). I hope this centralization is only temporary while the developer is doing the initial model training, and that we’ll eventually have a model that runs locally on our PCs. And if this developer doesn’t do develop a locally running solution, someone else will. Research appears to be active in this area. And Flex users should expect to see this functionality in a future version of SmartSDR.