NoraSector is a web application that allows users to listen to real-time public safety radio activity on their phone, tablet, or PC. It uses software-defined radio technology to capture and stream audio in near-real-time and provides recordings for instant playback.
NoraSector's aim is to bring an incredible public safety radio listening experience to everyone and make that information more accessible.
Traditional trunking radio scanners cost hundreds of dollars. For the average person mostly interested in listening to what's going on in their community, NoraSector provides a much better experience on any device with minimal latency and at significantly lower cost.
NoraSector's SDR and backend codebase, save for C bindings for getting samples from the SDR hardware and the Opus audio codec, is completely bespoke and written in native Go. NoraSector drew inspiration from other projects but every component was purpose-built for NoraSector's use-cases and to be deployed in modern cloud environments.
NoraSector's streaming infrastructure is hosted in DigitalOcean*. The link between the radio machine and the DigitalOcean infrastructure is secured using a WireGuard tunnel. All of the infrastructure is containerized and most is deployed in Kubernetes, and uses WebRTC to transmit audio and control data.
The UI is built with Svelte and uses IBM's Carbon Component libary for Svelte.
Radio data is sourced from RadioReference. Geospatial data is sourced from various government ArcGIS servers. Fire incident data is sourced from Seattle's Open Data portal.
* affiliate link
NoraSector uses standard web technologies and is compatible with most browsers. This is a non-exhausive list pulled from Wikipedia.
- Google Chrome 28+
- Mozilla Firefox 22+
- Safari 11+
- Opera 18+
- Vivaldi 1.9+
- iOS 11+
- Google Chrome 28+
- Mozilla Firefox 24+
- Opera Mobile 12+
Any device capable of running these browsers should be able to run NoraSector.
Yes. NoraSector records all transmissions it captures and uploads them to the cloud. Archives are limited as recording has only just recently begun. If you are in need of a larger archive of recordings, Broadcastify Calls has an excellent archive.
No. Encrypted channels do come in on the same system, but NoraSector makes no attempt to decrypt them (nor does it have the capability to). Everything NoraSector broadcasts is available unencrypted over the air.
I am following the lead of other streaming sites with respect to what channels they will and will not broadcast. Many regions have gone to entirely encrypted systems because of Internet-based scanning apps and websites, and I don't want to further push governments towards encryption. I want to make public safety radio more accessible in the era of smartphones. I have tried to mimic what other sites do with respect to restricting access to certain classes of channels. This includes police tactical channels (which are quite often not nearly as interesting as they sound), police "data" (which often includes PII for things like warrant checks), courthouse and jail security and operations, youth services and schools, and transit tunnel security. I do display that these channels are active, but they cannot be tuned.
That being said, I want to be clear that anyone can receive all of the restricted channels with their own devices, as they are transmitted through the air unencrypted. I do not enjoy being a gatekeeper, especially for something I want to make more accessible. Even with certain channels restricted, I believe that NoraSector achieves its goal of increasing accessibility.
Currently, from my bank account.
NoraSector's SDR software, Turbine, was built to extract and stream as much information from a SDR as possible, and was built with the expectation that it would be run on ample hardware. It can decode any number of channels in the slice of spectrum it captures. It's limited only by how many CPU cores can be thrown at it. It can even capture multiple systems at once using the same radio if they fall within the same frequency range. It runs on a dedicated Core i7-11700k 8c/16t CPU and uses a HackRF One with an upgraded TCXO module.
NoraSector was built from the ground up to provide the lowest latency possible. Data is routed extremely efficiently in the system while still scaling horizontally. With other online scanners, if you hear a siren go by, it may be 15-30 seconds before you hear anything on your app compared to a real scanner. NoraSector was built using the same technology used for video conferencing and VoIP calls and is delayed generally by less than one second, even on a cell connection. This brings a very close approximation of the experience of a real scanner down to a price point that's affordable, with a much better listening experience.
There is always going to be some delay when digitizing an analog signal. With an analog radio, the signal enters through the antenna, which produces voltage and current that flows through the components at the speed of light and vibrates the speaker to produce sound. With a digital system, the voltage and current produced by the antenna are sampled millions of times a second and converted into numeric representations (i.e., 1s and 0s, but more specifically, IQ samples, which are represented as complex numbers) by the SDR, which periodically are received from the device and into memory as small chunks, and those chunks are then piped through a series of digital signal processing (DSP) algorithms. Using these algorithms with powerful, commodity multi-core CPUs, one is able to extract many channels of voice and data, concurrently and in near-real-time. NoraSector transmits audio packets to the cloud streaming infrastructure over a low-latency fiber link (i.e., my home fiber connection). You can see a demonstration of the latency here.
With this said, NoraSector also has the ability to introduce an artificial delay into the data stream, while still creating an identical listening experience. As of right now, this capability is not in use.
NoraSector was built with scalability in mind. Adding listener capacity is as simple as adding more machines. Expanding into other regions may necessitate additional sharding of resources.
Maybe. From an accessibility standpoint, web is the most important delivery mechanism. Apps can add richer features but expend more resources to maintain. Because NoraSector utilizes open technologies like WebRTC, modest devices with modern browsers have good support without having to install a native app. On iOS, NoraSector runs in the background as a Safari tab and maintains the audio connection while in other apps.
A mobile app would almost certainly give a better experience, especially when dealing with connection hiccups and background tabs, and make monetization simpler via in-app purchases. However, right now my focus is on ironing out the user experience and working on more advanced features like transcriptions.
Police departments use a different phonetic alphabet than the standard NATO alphabet. NoraSector was developed in the Nora sector of Seattle. When I hear a dispatcher say "Nora Sector" my ears perk up, as I know something close to me is happening.
Me too! If you have the ability to run a radio in your area and have a stable, low-latency Internet connection, email me and let's discuss what some of the possibilities are.
Yes. King County is transitioning from its legacy Motorola system to a new P25 system sometime in the near future. You can learn more about it here. Depending on how agencies implement encryption on this new system, it may force NoraSector to shut down.