SDR GUI
I created this GUI for my various SDR devices. It requires yad and redsea which can be installed via your favorite package manager. It also requires nrsc5 which has to be built.

Installation
yad
Debian/Ubuntu install with sudo apt install -y yad.
redsea
Debian/Ubuntu install with sudo apt install -y redsea.
sdr.sh
Create a bash script and put it somewhere in your path. I use ~/.local/bin. And yes, make it executable. chmod 775 ~/.local/bin/sdr.sh.
#!/usr/bin/env bash
filename=$(basename -- "$0")
extension="${filename##*.}"
filename="${filename%.*}"
response=$(~/.local/bin/yad-${filename}.${extension})
IFS="|"
i=0
for j in $response
do
    cmd[$i]=$j
    ((i++))
done
tuner=${cmd[0]}
mode=${cmd[1]}
freq=${cmd[2]}
channel=${cmd[3]}
if [ "$tuner" = "HamItUp" ]; then
    units=${freq:0-1}
    freq=${freq::-1}
    case $units in
        "k")    echo "mult k"; freq=$(( $freq*1000 ));;
        "m")    echo "mult m"; freq=$(( $freq*1000*1000 ));;
        "K")    echo "mult k"; freq=$(( $freq*1000 ));;
        "M")    echo "mult m"; freq=$(( $freq*1000*1000 ));;
        "*") freq=$freq;;
    esac
    freq=$(( freq + 125000000 ))
    tuner="RTL2838"
fi
case $mode in
    "AM")   in_params="-E offset -g 49 -M am -s 24k"
        out_params="-r 24k -t raw -e s -b 16 -c 1 -V1 -"
    ;;
    "FM")   in_params="-E offset -g 49 -M fm -s 24k"
        out_params="-r 24k -t raw -e s -b 16 -c 1 -V1 -"
    ;;
    "WBFM") in_params="-A fast -E offset -g 49 -l 0 -M fm -r 32k -s 170k"
        out_params="-r 32k -t raw -e s -b 16 -c 1 -V1 -"
    ;;
    "RDS")  in_params="-A fast -E offset -g 49 -l 0 -M fm -r 32k -s 171k"
        out_params="redsea -r 171k"
    ;;
    "*")    in_params="-E offset -g 49 -M fm -s 24k"
        out_params="-r 24k -t raw -e s -b 16 -c 1 -V1 -"
    ;;
esac
if [ "$mode" = "NRSC5" ]; then
    case $tuner in
        "RTL2838") nrsc5 $freq $channel
            ;;
        "*") exit
            ;;
    esac
else
    case $tuner in
        "RTL2838")
            if [ "$mode" = "AM" ]; then
                rtl_fm -f $freq -E offset -g 49 -M am -s 24k | play -r 24k -t raw -e s -b 16 -c 1 -V1 -
            fi
            if [ "$mode" = "FM" ]; then
                rtl_fm -f $freq -E offset -g 49 -M fm -s 24k | play -r 24k -t raw -e s -b 16 -c 1 -V1 -
            fi
            if [ "$mode" = "WBFM" ]; then
                rtl_fm -f $freq -E offset -g 49 -l 0 -M fm -r 32k -s 170k | play -r 32k -t raw -e s -b 16 -c 1 -V1 -
            fi
            if [ "$mode" = "RDS" ]; then
                rtl_fm -f $freq -E offset -g 49 -l 0 -M fm -r 32k -s 171k | redsea -r 171k
            fi
            ;;
        "HACKRF")
            if [ "$mode" = "AM" ]; then
                /opt/rx_tools/rx_fm -d driver=hackrf -f $freq -E offset -g 49 -M am -s 24k | play -r 24k -t raw -e s -b 16 -c 1 -V1 -
            fi
            if [ "$mode" = "FM" ]; then
                /opt/rx_tools/rx_fm -d driver=hackrf -f $freq -E offset -g 49 -M fm -s 24k | play -r 24k -t raw -e s -b 16 -c 1 -V1 -
            fi
            if [ "$mode" = "WBFM" ]; then
                /opt/rx_tools/rx_fm -d driver=hackrf -f $freq -E offset -g 49 -l 0 -M fm -r 32k -s 170k | play -r 32k -t raw -e s -b 16 -c 1 -V1 -
            fi
            ;;
        "*") exit
            ;;
    esac
fi
Desktop entry
Lastly create a desktop entry ~/.local/share/applications/desktop/SDR.desktop
[Desktop Entry]
Type=Application
Name=SDR
Comment=My SDR GUI
Exec=/home/jcm/.local/bin/sdr.sh 
Terminal=true
Icon=/home/jcm/.local/share/icons/sdr.png
Usage
The GUI is fairly straightforward. The frequency field is in Hertz and accepts standard prefixes. 162400000 is the same as 162.4M which is NOAA Weather Radio in certain cities.
Channel is for NRSC5, HD Radio here in North America. A frequency of 90.5M and channel 0 in Austin is KUT-HD. 90.5M and channel 1 is BBC World Service.