Skip to content

Instantly share code, notes, and snippets.

@yrtimiD
Created February 27, 2025 23:51
Show Gist options
  • Select an option

  • Save yrtimiD/5af1608161901fbc83e8fcc5b6acfed8 to your computer and use it in GitHub Desktop.

Select an option

Save yrtimiD/5af1608161901fbc83e8fcc5b6acfed8 to your computer and use it in GitHub Desktop.
GQRX bookmarks
// converts chirp csv channels export to GQRX bookmark csv
const fs = require("fs");
let csv = fs.readFileSync(process.argv[2], "utf-8");
let lines = csv.split(/[\r\n]+/);
let H = lines.shift().split(",")
.reduce((prev, curr, i) => { prev[curr] = i; return prev; }, {});
let MODES = {
"FM": "WFM (stereo)",
"NFM": "Narrow FM",
};
for (let line of lines) {
if (line.length === 0) continue;
let C = line.split(",");
let freq = new Number(C[H["Frequency"]]) * 1000000;
let name = C[H["Name"]];
let modulation = MODES[C[H["Mode"]]];
let bandwidth = 10000;
let tags = name.startsWith("LPD") ? "LPD"
: name.startsWith("PMR") ? "PMR"
: name.startsWith("GMRS") ? "GMRS"
: name.startsWith("FRS") ? "FRS"
: name.startsWith("FRS") ? "FRS"
: name.startsWith("EMS") ? "EMS"
: name.startsWith("EMS") ? "EMS"
: name.startsWith("FD") ? "FD"
: name.startsWith("NOAA") ? "NOAA"
: "Untagged"
console.log(`${freq}; ${name}; ${modulation}; ${bandwidth}; ${tags}`);
}
We can make this file beautiful and searchable if this error is corrected: No commas found in this CSV file in line 0.
# Tag name ; color
FRS ; #c0c0c0
GMRS ; #c0c0c0
LPD ; #c0c0c0
NOAA ; #c0c0c0
PMR ; #c0c0c0
Untagged ; #c0c0c0
# Frequency ; Name ; Modulation ; Bandwidth; Tags
161650000; NOAA8 ; WFM (stereo) ; 10000; NOAA
161775000; NOAA9 ; WFM (stereo) ; 10000; NOAA
162400000; NOAA2 ; WFM (stereo) ; 10000; NOAA
162425000; NOAA4 ; WFM (stereo) ; 10000; NOAA
162450000; NOAA5 ; WFM (stereo) ; 10000; NOAA
162475000; NOAA3 ; WFM (stereo) ; 10000; NOAA
162500000; NOAA6 ; WFM (stereo) ; 10000; NOAA
162525000; NOAA7 ; WFM (stereo) ; 10000; NOAA
162550000; NOAA1 ; WFM (stereo) ; 10000; NOAA
163275000; NOAA10 ; WFM (stereo) ; 10000; NOAA
164485000; NFC-EME ; WFM (stereo) ; 10000; Untagged
164510000; NFC-EME ; WFM (stereo) ; 10000; Untagged
433075000; LPD 01 ; WFM (stereo) ; 10000; LPD
433100000; LPD 02 ; WFM (stereo) ; 10000; LPD
433125000; LPD 03 ; WFM (stereo) ; 10000; LPD
433150000; LPD 04 ; WFM (stereo) ; 10000; LPD
433175000; LPD 05 ; WFM (stereo) ; 10000; LPD
433200000; LPD 06 ; WFM (stereo) ; 10000; LPD
433225000; LPD 07 ; WFM (stereo) ; 10000; LPD
433250000; LPD 08 ; WFM (stereo) ; 10000; LPD
433275000; LPD 09 ; WFM (stereo) ; 10000; LPD
433300000; LPD 10 ; WFM (stereo) ; 10000; LPD
433325000; LPD 11 ; WFM (stereo) ; 10000; LPD
433350000; LPD 12 ; WFM (stereo) ; 10000; LPD
433375000; LPD 13 ; WFM (stereo) ; 10000; LPD
433400000; LPD 14 ; WFM (stereo) ; 10000; LPD
433425000; LPD 15 ; WFM (stereo) ; 10000; LPD
433450000; LPD 16 ; WFM (stereo) ; 10000; LPD
433475000; LPD 17 ; WFM (stereo) ; 10000; LPD
433500000; LPD 18 ; WFM (stereo) ; 10000; LPD
433525000; LPD 19 ; WFM (stereo) ; 10000; LPD
433550000; LPD 20 ; WFM (stereo) ; 10000; LPD
433575000; LPD 21 ; WFM (stereo) ; 10000; LPD
433600000; LPD 22 ; WFM (stereo) ; 10000; LPD
433625000; LPD 23 ; WFM (stereo) ; 10000; LPD
433650000; LPD 24 ; WFM (stereo) ; 10000; LPD
433675000; LPD 25 ; WFM (stereo) ; 10000; LPD
433700000; LPD 26 ; WFM (stereo) ; 10000; LPD
433725000; LPD 27 ; WFM (stereo) ; 10000; LPD
433750000; LPD 28 ; WFM (stereo) ; 10000; LPD
433775000; LPD 29 ; WFM (stereo) ; 10000; LPD
433800000; LPD 30 ; WFM (stereo) ; 10000; LPD
433825000; LPD 31 ; WFM (stereo) ; 10000; LPD
433850000; LPD 32 ; WFM (stereo) ; 10000; LPD
433875000; LPD 33 ; WFM (stereo) ; 10000; LPD
433900000; LPD 34 ; WFM (stereo) ; 10000; LPD
433920000; 433.92 ; Narrow FM ; 5000; Untagged
433925000; LPD 35 ; WFM (stereo) ; 10000; LPD
433950000; LPD 36 ; WFM (stereo) ; 10000; LPD
433975000; LPD 37 ; WFM (stereo) ; 10000; LPD
434000000; LPD 38 ; WFM (stereo) ; 10000; LPD
434025000; LPD 39 ; WFM (stereo) ; 10000; LPD
434050000; LPD 40 ; WFM (stereo) ; 10000; LPD
434075000; LPD 41 ; WFM (stereo) ; 10000; LPD
434100000; LPD 42 ; WFM (stereo) ; 10000; LPD
434125000; LPD 43 ; WFM (stereo) ; 10000; LPD
434150000; LPD 44 ; WFM (stereo) ; 10000; LPD
434175000; LPD 45 ; WFM (stereo) ; 10000; LPD
434200000; LPD 46 ; WFM (stereo) ; 10000; LPD
446006250; PMR 1 ; Narrow FM ; 10000; PMR
446018750; PMR 2 ; Narrow FM ; 10000; PMR
446031250; PMR 3 ; Narrow FM ; 10000; PMR
446043750; PMR 4 ; Narrow FM ; 10000; PMR
446056250; PMR 5 ; Narrow FM ; 10000; PMR
446068750; PMR 6 ; Narrow FM ; 10000; PMR
446081250; PMR 7 ; Narrow FM ; 10000; PMR
446093750; PMR 8 ; Narrow FM ; 10000; PMR
462550000; GMRS1 ; WFM (stereo) ; 10000; GMRS
462562500; FRS1 ; Narrow FM ; 10000; FRS
462575000; GMRS2 ; WFM (stereo) ; 10000; GMRS
462587500; FRS2 ; Narrow FM ; 10000; FRS
462600000; GMRS3 ; WFM (stereo) ; 10000; GMRS
462612500; FRS3 ; Narrow FM ; 10000; FRS
462625000; GMRS4 ; WFM (stereo) ; 10000; GMRS
462637500; FRS4 ; Narrow FM ; 10000; FRS
462650000; GMRS5 ; WFM (stereo) ; 10000; GMRS
462662500; FRS5 ; Narrow FM ; 10000; FRS
462675000; GMRS6 ; WFM (stereo) ; 10000; GMRS
462687500; FRS6 ; Narrow FM ; 10000; FRS
462700000; GMRS7 ; WFM (stereo) ; 10000; GMRS
462712500; FRS7 ; Narrow FM ; 10000; FRS
462725000; GMRS8 ; WFM (stereo) ; 10000; GMRS
467562500; FRS8 ; Narrow FM ; 10000; FRS
467587500; FRS9 ; Narrow FM ; 10000; FRS
467612500; FRS10 ; Narrow FM ; 10000; FRS
467637500; FRS11 ; Narrow FM ; 10000; FRS
467662500; FRS12 ; Narrow FM ; 10000; FRS
467687500; FRS13 ; Narrow FM ; 10000; FRS
467712500; FRS14 ; Narrow FM ; 10000; FRS
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment