Build Your Own AI-Powered QSO Logger
Home » Uncategorized  »  Build Your Own AI-Powered QSO Logger

Ever wished your ham shack had a digital assistant? Something that listens during a QSO, types everything out, and maybe even talks back?

Good news: this project is for you.

In this guide, we’re going to build a super simple AI-powered QSO logger that:

  • 🎀 Records your voice
  • πŸ€– Transcribes it using real AI
  • πŸ““ Saves it to your logbook (CSV file)
  • πŸ”Š Talks back to you when done (optional)

No soldering, no rig control, no special gear. Just a microphone and your computer.

βœ… What You’ll Need

  • A computer (Windows, Mac, or Linux)
  • A microphone (USB mic, webcam mic, or built-in)
  • Python (free tool we'll install)
  • Internet connection (just to set things up)

πŸ’» Step 1: Install Python

  1. Go to https://www.python.org/downloads
  2. Download Python 3.10+ for your system
  3. Install it and check the box that says "Add Python to PATH"

πŸ“¦ Step 2: Install AI Tools

Open your Terminal or Command Prompt and run this:

pip install openai-whisper pyttsx3 sounddevice scipy

This installs:

  • Whisper (AI for voice-to-text)
  • TTS (text-to-speech, optional)
  • Audio recorder tools

πŸŽ™οΈ Step 3: Record Your Voice

Create a file called record.py and paste this code:

import sounddevice as sd
from scipy.io.wavfile import write

fs = 44100  # Sample rate
seconds = 10
print("Recording...")
recording = sd.rec(int(seconds * fs), samplerate=fs, channels=1)
sd.wait()
write("qso.wav", fs, recording)
print("Done!")

To run it:

python record.py

Speak your QSO into the mic. After 10 seconds, it saves the file as qso.wav.

🧠 Step 4: Transcribe It Using Whisper

Create a new file called transcribe.py and paste:

import whisper
model = whisper.load_model("base")
result = model.transcribe("qso.wav")
print("Transcribed Text:", result["text"])

This turns your audio into text using real AI. Try it. It’s shockingly good.

πŸ““ Step 5: Save the Log Automatically

Add this to the end of transcribe.py:

import csv
from datetime import datetime

with open("qsolog.csv", "a", newline='') as file:
    writer = csv.writer(file)
    writer.writerow([datetime.now(), result["text"]])

Each time you run it, your QSO gets saved with a timestamp.

πŸ”Š Step 6: Optional β€” Make It Talk Back

Install text-to-speech:

pip install pyttsx3

Then add this to your code:

import pyttsx3

engine = pyttsx3.init()
engine.say("QSO logged successfully!")
engine.runAndWait()

Now it’ll say β€œQSO logged successfully!” after each log.

βœ… What You Just Built


You now have a basic AI shack assistant that:



  • Listens to your QSOs

  • Logs them for you

  • Optionally speaks confirmation


This is the perfect first step into fusing AI and amateur radio.

Let me know what you think of it and how you like it!!