GNU Radio in the browser
Posted by kristianpaul 3 days ago
Comments
Comment by thomashabets2 3 days ago
I've set off time to blog about getting my broadband RF scanner (connecting to USRP B200 via WebUSB) to work in WASM.
It's basically https://blog.habets.se/2026/08/Broadband-RF-scanner-revisite..., but in the browser.
I also have an AX.25 decoder (https://thomashabets.github.io/ruwasm/) and plain old FM receiver (https://cement.retrofitta.se/tmp/rtlsdr-fm/) already. The latter two work with RTL-SDR, also via WebUSB, so no software installs or setup required.
I've been meaning to make a "GNU Radio in the Browser" (well, gnuradio-companion-like) for my RustRadio project to build flowgraphs without coding, but not gotten to it yet.
Comment by alightsoul 3 days ago
Comment by thomashabets2 3 days ago
Quake can run in the browser, so in my opinion so can the likes of Photoshop. Maybe the latest AAA game is a different beast, but that's a tiny edge case.
Websites instead of apps on mobile is something that basically always sucks, but I don't see the same on desktop.
Just build your UIs in WASM already. :-)
> It would be cursed to see a browser running within a browser
It's been done.
Comment by necovek 3 days ago
I find it's the opposite: on my computer, I want native apps, but on the phone, it is very hard to manage a large collection of single use apps because I do not have a keyboard to quickly navigate between them.
Comment by pipe2devnull 3 days ago
Comment by not2b 2 days ago
Comment by necovek 2 days ago
So I am not sure how making a web page into an app actually helps me?
When they are a web page I frequent, typing a few letters in the browser URL bar gives me the URL to click on and get there.
Comment by pipe2devnull 1 day ago
Comment by necovek 1 day ago
Comment by WorldPeas 3 days ago
Comment by password4321 2 days ago
> open source solutions … centering on browsers
https://hn.algolia.com/?query=Igalia%20comments%3E5&sort=byD...
Comment by kruffalon 3 days ago
retrofitta
Definition
Add (a component or accessory) to something that did not have it when manufactured.
What did you think it meant?
[EoF]
Strålande! Well done :)
"Fitta" is sort of like "cunt" in Swedish & .se is the TLD of Sweden.
Comment by jjgreen 2 days ago
Comment by iscarelli 2 days ago
Comment by ghostly_s 3 days ago
The "Help"->"Help" menu item is notably unhelpful:
> For questions, comments, or suggestions, you can email support@gnuradioworld.com, join the Discord server, or post a GitHub issue.
"Help"->"About" at least starts to clarify some things:
> GNU Radio, entirely in your browser — explore the open-source SDR ecosystem with zero install!
> GNU Radio World is a browser-based GNU Radio Companion flowgraph editor and WebAssembly runtime. You can place, connect, and configure blocks, then run the resulting flowgraph directly in your browser.
> It is designed to download only the WebAssembly modules corresponding to the blocks you use. This on-demand architecture keeps the initial download small and can support a limitless collection of out-of-tree modules (OOTs) in the future.
> GNU Radio World also includes a collection of real RF recordings that are downloaded only when you use them. You can inspect the recordings in the built-in recording view, adapted from IQEngine, and use them in the included flowgraph examples, allowing OOTs to be shown off with real recordings of the corresponding signals
Comment by pysdr 2 days ago
Comment by jcims 3 days ago
I had no background in dsp or signal processing and found it so opaque as to be unusuable, even though I saw more skilled folks do amazing things with it.
*scratches head*
Might give it another go.
Comment by vmilner 3 days ago
Comment by perrygeo 3 days ago
Comment by keeda 3 days ago
I understand that they were trying to make a pretty complicated topic more approachable, but I always felt the push to GUI was misguided. Maybe they would have had more luck embracing the “S” in “SDR” and making programming languages the primary development paradigm.
Comment by stackghost 3 days ago
Comment by Enginerrrd 3 days ago
Comment by jcims 2 days ago
Comment by sigbottle 3 days ago
If you have a certain DSP goal in mind (say, RF comms), and you want to do stuff but not absolutely balls-to-the-walls processing (at that point, presumably you'd move to hardware), you can design your stack in fairly modular and composable ways. The field is pretty mature and the techniques just work.
In a software context, you can decompose the abstractions fairly cleanly. You won't get 5G high performance networking but you can get good enough results.
Comment by pysdr 2 days ago
-Marc
Comment by baileynoack 3 days ago
Comment by pysdr 2 days ago
Comment by mikewarot 2 days ago
First it takes the audio from your microphone. It then feeds it through a Hilbert transform to convert incoming audio into an IQ (complex) format. The advantage of an IQ signal format is that when you multiply it by another signal, the frequencies add or subtract, without getting extra image frequencies. This is why it's worth doing twice the computation in DSP work.
Then your audio is multiplied by a cosine wave with a frequency determined by a GUI slider, from -2000 to 2000 Hz.
This has the net effect of raising or lowering the pitch of your voice, like tuning in a single sideband transmission on ham radio.
To get the results out to the speakers, it samples only the real component to send to the audio output.
The net effect is it can raise or lower the frequency of your voice.
[1] https://gnuradioworld.com/#fg=H4sIAAAAAAAACsVXS2_bOBC--1fMTR...
Comment by pysdr 2 days ago
Comment by tamimio 3 days ago
Comment by pysdr 2 days ago
Comment by codingjoe 2 days ago
Comment by miki_tyler 3 days ago
Comment by gvieri 3 days ago
Comment by ghostly_s 3 days ago
Comment by gvieri 6 hours ago
Comment by jsLavaGoat 2 days ago