{"id":13419856,"url":"https://github.com/Opendigitalradio/dab-scripts","last_synced_at":"2025-03-15T05:33:25.843Z","repository":{"id":19510653,"uuid":"22757375","full_name":"Opendigitalradio/dab-scripts","owner":"Opendigitalradio","description":"Setup and configuration for dab radio transmissions with odr-mmbTools","archived":false,"fork":false,"pushed_at":"2023-04-29T08:18:06.000Z","size":123,"stargazers_count":18,"open_issues_count":1,"forks_count":8,"subscribers_count":18,"default_branch":"master","last_synced_at":"2024-07-31T22:52:05.106Z","etag":null,"topics":["bladerf","dab-broadcasting","ettus","hackrf-one","limesdr","odr-mmbtools","opendigitalradio","soapysdr"],"latest_commit_sha":null,"homepage":"http://opendigitalradio.org","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Opendigitalradio.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2014-08-08T12:42:14.000Z","updated_at":"2024-07-20T10:33:19.000Z","dependencies_parsed_at":"2024-10-26T16:53:36.165Z","dependency_job_id":"c646750d-c4c7-4fc7-8cd3-ff814fe2f507","html_url":"https://github.com/Opendigitalradio/dab-scripts","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Opendigitalradio%2Fdab-scripts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Opendigitalradio%2Fdab-scripts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Opendigitalradio%2Fdab-scripts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Opendigitalradio%2Fdab-scripts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Opendigitalradio","download_url":"https://codeload.github.com/Opendigitalradio/dab-scripts/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243690112,"owners_count":20331726,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bladerf","dab-broadcasting","ettus","hackrf-one","limesdr","odr-mmbtools","opendigitalradio","soapysdr"],"created_at":"2024-07-30T22:01:21.970Z","updated_at":"2025-03-15T05:33:25.837Z","avatar_url":"https://github.com/Opendigitalradio.png","language":"Shell","funding_links":[],"categories":["Shell"],"sub_categories":[],"readme":"# Table of contents\n- [Introduction](#introduction)\n- [ODR-mmbTools components](#odr-mmbtools-components)\n- [Repository structure](#repository-structure)\n- [Operations](#operations)\n- [Configuration](#configuration)\n\n# Introduction\nThe goal of this repository is to provide a:\n- Debian shell script that installs or removes the:\n    - Main components of the odr-mmbTools suite used in a transmission chain\n    - [Supervisor](http://supervisord.org/) package\n- Simple yet functional dab configuration sample that you can adapt to your needs\n\n# ODR-mmbTools components\n- Encoder-manager: provides a web interface to manage audio streams and their related PAD data\n- PAD encoder: one per radio station being broadcasted. Gathers radio-related data (ex: artist, song, slogan, logo) and shares it with the related audio encoder\n- Audio encoder: one per radio station being broadcasted. Receives the radio web stream, combines it with the data from the PAD encoder and shares it with the multiplexer\n- Multiplexer: packs the data from audio encoders into a DAB/DAB+ ensemble and shares it with a modulator\n- Multiplex-manager: provides a web interface to view and modify some multiplex parameters\n- Modulator: creates a modulation with the multiplexer data and sends it to a transmitter\n\n# Repository structure\n## install\nThis folder contains the installation/removal shell script. Please check the **README.md** file inside this directory to run the installation shell script\n## config\nThis folder contains the sample configuration files. If you use the provided installation script, it will be copied on your system:\n- config/odr-dabmod.ini: ODR-DabMod configuration\n- config/odr-dabmux.info: ODR-DabMux configuration\n- config/supervisor/ODR-encoders.conf: supervisor configuration file for all encoders (audio + PAD)\n- config/supervisor/ODR-encoders.conf: supervisor configuration file for all other odr-mmbTools excluding the encoders\n- config/mot/: folder with the dls and slide files\n\n# Operations\nIn this section:\n- **server** relates to the host where you installed the odr-mmbTools and the configuration files\n- **client** relates to any computer (including the server)\n\nAfter you ran the installation script on the server, point the web browser on the client to the **Supervisor web interface** on the host (http://server_address:8001). The default user name is **odr** and the default password is **odr**. Please note that this user name is not a system user profile.\n\nThe supervisor web interface provides a graphical interface to start or stop each components of the DAB/DAB+ transmission chain: modulator, multiplexer, encoders (audio \u0026 data), encoder-manager and multiplex-manager.\n\n# Configuration\n## User access\n### Supervisor web interface\nIf you want to change the default user name and/or user password authorized to access the Supervisor web interface, then apply the following commands:\n```\n# Change the user name\nsudo sed -e 's/^username = odr/^username = whatever_user/' -i /etc/supervisor/supervisord.conf\n\n# Change the user password\nsudo sed -e 's/^password = odr/^password = whatever_password/' -i /etc/supervisor/supervisord.conf\n```\nPlease note that *whatever_user* is not related to any linux profiles\n\n### Encoder-manager web interface\nIf you want to change the default user profile and/or user password authorized to access the Encoder-manager web interface, then apply the following commands:\n```\n# Change the user name\nsed -e 's/\"username\": \"odr\"/\"username\": \"whatever_user\"/' -i $HOME/config/encodermanager.json\n\n# Change the user password\nsed -e 's/\"password\": \"odr\"/\"password\": \"whatever_password\"/' -i $HOME/config/encodermanager.json\n```\nPlease note that *whatever_user* is not related to any linux profiles\n\n## RF Transmission\n### Improve the transmitted RF spectrum\nIf your hardware/virtual host is not powerful enough, then you should set the following 2 parameters in the $HOME/config/odr-dabmod.ini file to less stringent value:\n- modulator rate=2048000\n- firfilter enabled=0\n\n### Change the transmission channel\nIf channel 5A is being used in your area, you can easily switch to a [new transmission channel](http://www.wohnort.org/config/freqs.html) by applying the following command:\n```\nsed -e 's/^channel=5A/^channel=a_free_channel_in_your_area/' -i $HOME/config/odr-dabmod.ini\n```\n\n### Change the SOAPYSDR-compatible device\nThe modulator sample configuration file is setup for a [HackRF One](https://greatscottgadgets.com/hackrf/one/) using the [SoapySDR](https://github.com/pothosware/SoapySDR/wiki) interface.\n\nIf you need to transmit with another SoapySDR-compatible transceiver card, then apply one of the following commands:\n```\n# LimeSDR\nsed -e 's/^device=driver=hackrf/^device=driver=lime/' -i $HOME/config/odr-dabmod.ini\n\n# PlutoSDR\nsed -e 's/^device=driver=hackrf/^device=driver=plutosdr/' -i $HOME/config/odr-dabmod.ini\n\n# Blade RF\nsed -e 's/^device=driver=hackrf/^device=driver=bladerf/' -i $HOME/config/odr-dabmod.ini\n```\n\n### Change the transmission power setting\nWe recommend that you check the documentation of the SoapySDR module for your device for the field **txgain** in file $HOME/config/odr-dabmod.ini\n\n## Broadcast programs\n### Change the name of the multiplex\nIf you want to change the name of the multiplex, then change the label and shortlabel values within the **ensemble** block in file $HOME/config/odr-dabmux.info\n\n### Change and/or add new programs\nIf your server is powerful enough, then you can add more services/sub-channels/components\n1. Start job **10-EncoderManager** from the Supervisor web access\n1. Point the web browser of the client to the **Encoder Manager web interface** on the host (http://server_address:8003). You can use the excellent [radio browser directory](https://www.radio-browser.info) to identify the url of the radio audio stream\n1. Modify file $HOME/config/odr-dabmux.info and adapt the services, subchannels and components in relation with the changes you made with the Encoder-Manager. You should use the values mentionned in the [official ETSI TS 101 756 document](https://www.etsi.org/deliver/etsi_ts/101700_101799/101756/02.02.01_60/ts_101756v020201p.pdf).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FOpendigitalradio%2Fdab-scripts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FOpendigitalradio%2Fdab-scripts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FOpendigitalradio%2Fdab-scripts/lists"}