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
- Go to https://www.python.org/downloads
- Download Python 3.10+ for your system
- 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!!