- DABstar
Latest AppImage versions see Linux Release Page.
old-dab provides also Windows versions, see Windows Release Page. The feature-set could be different between Linux and Windows, even with same version number.
DABstar was originally forked from Jan van Katwijk's great work of Qt-DAB from commit (tree) from 2023-05-30. Some fixes and adaptions afterwards to Qt-DAB are included.
As there are huge changes and additions (but also reductions) made and there will be bigger changes in the future, I decided to give it the new name DABstar.
I saw that with starting of Qt-DAB 6.x, it uses also new code parts and ideas from here. I am very appreciated about this 😃. This is of course very acknowledged that my work can give something back.
I will try to maintain always a working state on main
branch, so use this for building the software for yourself.
Please do not try any other branch besides main
branch.
They are indented for development, backups and tests and will not always work in their current state.
Recommended is to checkout a tag of a released version, these are better tested.
As this README got meanwhile quite long, I cut off the description regarding versions until 1.7.1, but you can still read it here: README.md of V1.7.1
I and old-dab made big changes on the mainline, including the upgrade from Qt 5 to Qt 6. So, I decided to raise the major version to 3.
Beginning with this version, please look to the Release Page for a more detailed description of the changes.
- A bigger fix replaying files regarding my new service list. There is still the small issue that the channel name does not (necessarily) fit to the file content.
- There is only one file-reading dialog now. The file type selection happens in the file dialog field. It is selectable whether the QT or native file dialog should be shown.
- Improve error checking for file handling.
- Refine the setting management.
This causes that the setting file (in
~/.config/dabstar/
) got a new filename. So, the settings has to be put-in new.
Same happens to the service-list database file, so possibly already made favorites got lost. Sorry for that circumstance. - Small UI refinements.
- Many small refinements under the hood.
- Some minor fixes and refinings made.
- Add status information to the main Widget, see below the MOT picture:
- Show the ACC decoder input bit rate.
- Show whether Stereo mode is active.
- Show whether EPG (Electronic Program Guide) data are available
- Show whether SBR (Spectrum Band Replication) mode is active
- Show whether PS (Parameter Stereo) mode is active
- Show whether an announcement is currently made.
(move over the status elements like SBR or PS to get tooltip information)
I replaced all buttons on the main window to quadratic ones with icons on it. Some have animations or change colors or the icon itself after clicking. See the tooltips for further information what each button does.
The major new thing is the complete new written service selector on the left side of the main window:
The list is stored as a SQlite database in the folder ~/.config/dabstar
.
The list will be filled when selecting a new channel (with eg. the combobox on the right bottom corner in the picture)
or click the "Scan" button to scan all typical DAB channels.
While the scan is running the button is animated.
The current selected service is shown with an orange background. With the brown colored entries, you will find other services from the same channel (here 11C). When you click on such services the switching time is quite short.
The services with a gray background are from another channel. Selecting this will take a bit longer time (about 3 seconds) till audio comes up. Note: Not each service entry has audio, especially that with SPI and EPG in its name.
You can select a current running service as a favorite by clicking . Click the same button again to deselect the favorite state. On the left side of the service list you will see an active favorite state. The favorites are stored separately with the service list, so a re-scan would not delete them.
When you click on the header description you can change the sorting of the columns. Selecting the "Fav" column behaves that way that the favorites always located on the top but the service column will be sorted (ascending oder descending).
With the up/down-buttons you can step one service up or down in the list (with wrap-around). Change the sorting of the list if you only want mainly to step within the favorites or within the same channel.
If you "lose" the orange current service selection you can click this button . The current service will be shown in the list center (if possible).
For a successful reception a good leveling of the device is necessary. Click to open the device widget (it differs for the different devices). The best feedback regarding signal quality can be seen on the Spectrum Scope with . There, many explanations would be necessary for the details. Look at the tool tips for further help there.
For a faster signal check you would see the yellow bar
below the picture on the main window. This bar must reach 100% if the signal is good enough.
Also, the clock on the top of the service list can be used as indicator. Its time is only shown (and the background light up) if the DAB time information can be received.
That the location, distance and direction to the transmitter can be shown, do following:
- Provide your home coordinates with button Coordinates on the "Configuraton and Control" windows.
- Copy libtii-lib.so from project sub folder /tii-library to /usr/local/lib/ (you will need sudo rights).
- Click one time Load Table on the "Configuraton and Control" window.
- If 3) should fail you can unzip the content of /tii-library/tiiFile.zip to your home folder. Restart DABstar. Here you will maybe not have the newest in 3) downloaded version of the data base.
This is what I needed to install DABstar on a fresh Ubuntu 24.04:
sudo apt-get update
sudo apt-get install git
sudo apt-get install cmake
sudo apt-get install build-essential
sudo apt-get install g++
sudo apt-get install libsndfile1-dev
sudo apt-get install libfftw3-dev
sudo apt-get install portaudio19-dev
sudo apt-get install zlib1g-dev
sudo apt-get install libsamplerate0-dev
sudo apt-get install libusb-1.0-0-dev
sudo apt-get install qt6-base-dev
If you want to build with qmake:
sudo apt-get install qmake6
As libfaad had made issues with low rate services I switched over to FDK-AAC. But also the repository version in Ubuntu 24.04 has still flaws with PS (Parametric Stereo) services. So I recommend to build it for your own. I used the latest main version which is v2.0.3.
git clone https://github.com/mstorsjo/fdk-aac.git
cd fdk-aac
git checkout v2.0.3
mkdir build
cd build
cmake ..
make
sudo make install
It is recommended to build Qwt 6.3.0 (Qwt 6.2.0 will also work) for yourself. The library delivered with Ubuntu is quite old.
https://qwt.sourceforge.io/qwtinstall.html
- Download QWT 6.3.0: Link.
- Unzip downloaded file and go into unzipped folder.
- comment out line "
QWT_CONFIG += QwtSvg
" with a "#" in fileqwtconfig.pri
if you have problems finding a SVG QT header file.
qmake6 qwt.pro
make
sudo make install`
sudo ldconfig
The install process installed a cmake package file to /usr/local/qwt-6.3.0/lib/pkgconfig/Qt6Qwt6.pc
.
The path variable PKG_CONFIG_PATH in CMakeLists.txt
refers to this path to find the Qwt-Package.
Strangely, this error can still happen:
...
Could not find a package configuration file provided by "Qt6Qwt6" with any
of the following names:
Qt6Qwt6Config.cmake
qt6qwt6-config.cmake
...
The package description /usr/local/qwt-6.3.0/lib/pkgconfig/Qt6Qwt6.pc
contains this (last) line:
Requires: Qt5Widgets Qt5Concurrent Qt5PrintSupport Qt5Svg Qt5OpenGL
, what is strange as this Qwt build was built on the base on Qt 6.
As the requirements of Qt 6 are already fulfilled, I could solve the issue with simply commenting out this (last) line with a hash #. So, the last part of the File should look like this:
...
Name: Qwt6
Description: Qt Widgets for Technical Applications
Version: 6.3.0
Libs: -L${libdir} -lqwt
Cflags: -I${includedir}
# Requires: Qt5Widgets Qt5Concurrent Qt5PrintSupport Qt5Svg Qt5OpenGL
git clone https://github.com/tomneda/DABstar.git
cd DABstar
mkdir build
cd build
cmake .. -DAIRSPY=ON -DSDRPLAY_V2=ON -DSDRPLAY_V3=ON -DHACKRF=ON -DLIMESDR=ON -DRTL_TCP=ON -DPLUTO=ON -DUHD=ON -DRTLSDR_LINUX=ON -DUSE_HBF=OFF -DDATA_STREAMER=OFF -DVITERBI_SSE=ON -DVITERBI_NEON=OFF -DFDK_AAC=ON
make
Reduce resp. adapt the cmake
command line for the devices/features you need.
E.G.: If you have an RTL-SDR stick and work on a desktop PC (I have only tested this on an Intel-PC), this should be the minimum recommendation:
cmake .. -DRTLSDR_LINUX=ON -DVITERBI_SSE=ON
To speed up compilation you can provide -j<n>
as argument with <n>
number of threads after the make
command. E.G. make -j4
.
Do not choose a too high number (or at my side only providing a -j
) the system can hang due to running out memory and needed swapping!
Finally, in the build folder you can find the program file which you can start with
./dabstar
You could try to install the software within your system with
sudo make install
sudo ldconfig
To uninstall DABstar again, do this:
sudo make uninstall
Best worked for me was building UHD from the repository of Ettus Research.
sudo add-apt-repository ppa:ettusresearch/uhd
sudo apt-get update
sudo apt-get install libuhd-dev uhd-host
Rights of Qt-DAB, AbracaDABra, Qt, Qwt, FFTW, portaudio, FDK-AAC, libfaad, libsamplerate and libsndfile gratefully acknowledged.
Rights of developers of RTLSDR library, SDRplay libraries, AIRspy library and others gratefully acknowledged.
Rights of other contributors gratefully acknowledged.
As I use some icons, I get them from FlatIcon. The work of the icon authors is very acknowledged: