10

GitHub - luigifreitas/CyberRadio: 📻 A SDR Based FM/AM Radio For Desktop. Acceler...

 4 years ago
source link: https://github.com/luigifreitas/CyberRadio
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

README.md

📻 CyberRadio

A SDR based FM/AM radio App for the desktop. Video Demo

Compatible with most SDRs supported by SoapySDR. Based on the radio-core module. Accelerated on the GPU with CUDA by #cuSignal and on the CPU with Numba functions.

cyberradio.png

Features

  • 📻 Listen to wideband FM and AM Stations with Stereo Support.
  • ⏩ Hot-swap SDRs without closing the app.
  • 🖱️ Programmable frequency shortcuts (Ctrl + Left Click).
  • 📦 Zero-installation pre-compiled binary packages.
  • 💻 Efficient DSP.

Compatibility

  • Linux
  • macOS Sierra
  • Windows 10
  • ARM SoC

Validated Radios

  • AirSpy HF+ Discovery
  • LimeSDR Mini/USB
  • PlutoSDR
  • RTL-SDR

Installation

Pre-compiled binary packages will be available once this app reaches beta. For now, if you want to try the pre-release version of the app, you should compile it yourself by following the instructions below.

System Dependencies

Ubuntu/Debian

After installing the base SoapySDR and its modules, install the direct dependencies with apt:

$ apt install libpulse-dev libsamplerate-dev libasound2-dev portaudio19-dev

Python Dependencies

$ git clone https://github.com/luigifreitas/CyberRadio
$ cd CyberRadio
$ pip3 install -r requirements.txt
Running
$ fbs run 
Compile Static Binary
$ fbs freeze
Generate Installer
$ fbs installer

Hacking

The DSP used in this project is also available on the PyAudio Repository. This is a better and more comprehensive way to start hacking this App. If you are interested in the core DSP, you should look for radio-core.

Roadmap

This is a list of unfinished tasks that I pretend to pursue soon. Pull requests are more than welcome!

  • Study porting the UI to QML.
  • Add AM Support.
  • Add USB/LSB Support.
  • Add TX capability.
  • Finish RDS decoder.
  • Add more settings.
  • Implement settings memory.
  • Better Stereo reliability detector.
  • Docker cross-compiler for AArch-64.
  • Docker cross-compiler for Windows.

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK