audio goes away every 30 seconds and RF

389 views
Skip to first unread message

URK TV

unread,
Oct 5, 2017, 3:46:32 PM10/5/17
to mmbtools
I use a Raspberry Pi 3 CPU 20% with an Easydab V2 board (latest firmware)
Stable network 

The audio goes away every 30 sec. Also the rf goes away on the board. I think it's in the mux file. 
Log tells me ERROR inputZMQ sub-r4bDAB verify bitrate: recv'd 1932 B, need 960


Please help.

Encoder:

[program:enc-srv2]
# DAB encoding using odr-audioenc
command=/usr/local/bin/odr-audioenc -v http://streams.seven.fm:8090/ -C 200 -b 64 -o tcp://localhost:59001 -D -L --audio-resampler=samplerate -L --src-converter-type=1 -l -V -p 58 -P /home/odr/PAD/gerrit1.fifo
autostart=true
autostart=true
autorestart=true
startretries=100
priority=10
stderr_logfile=/var/log/supervisor/enc-srv2.log
stdout_logfile=/var/log/supervisor/enc-srv2.log

[program:pad-srv2]
# PAD encoding using odr-padenc
command=/usr/local/bin/odr-padenc -o /home/odr/PAD/gerrit1.fifo -t /home/odr/PAD/srv2/DLS/DLS2.txt -d /home/odr/PAD/srv2/MOT -p 58
autostart=true
autorestart=true
startretries=100
priority=10
stderr_logfile=/var/log/supervisor/pad-srv2.log
stdout_logfile=/var/log/supervisor/pad-srv2.log

Mux:

; DAB+ 4 RaspDAB Multiplex example
;

general {
    ; the DAB Transmission mode (values 1-4 accepted)
    dabmode 1

    ; the number of ETI frames to generate (set to 0 to get an unlimited number)
    nbframes 0

    ; Set to true to enable logging to syslog
    syslog false

    ; Enable timestamp definition necessary for SFN
    ; This also enables time encoding using the MNSC.
    tist true

    ; The management server is a simple TCP server that can present
    ; statistics data (buffers, overruns, underruns, etc)
    ; which can then be graphed a tool like Munin
    ; The doc/stats_dabmux_multi.py tool is a suitable
    ; plugin for that.
    ; If the port is zero, or the line commented, the server
    ; is not started.
    managementport 12720
}

remotecontrol {
    ; enable the telnet remote control server on the given port
    ; This server allows you to read and define parameters that
    ; some features export. It is only accessible from localhost.
    ; Set the port to 0 to disable the server
    telnetport 12721
    ;telnetport 0

    ; The remote control is also accessible through a ZMQ REQ/REP socket,
    ; and is useful for machine-triggered interactions. It supports the
    ; same commands as the telnet RC.
    ; The example code in doc/zmq_remote.py illustrates how to use this rc.
    ; To disable the zeromq endpoint, remove the zmqendpoint line.
    ; By specifying "lo" in the URL, we make the server only accessible
    ; from localhost. You can write tcp://*:12722 to make it accessible
    ; on all interfaces.
    zmqendpoint tcp://lo:12722

    ; the remote control server makes use of the unique identifiers
    ; for the subchannels, services and components. Make sure you
    ; chose them so that you can identify them.
}

; Some ensemble parameters
ensemble {
    id 0x8fff ; you can also use decimal if you want
    ecc 0xe3 ; Extended Country Code, 0xe3 = Netherlands
; (see RaspDAB github repository for other codes)
    local-time-offset auto  ; automatically calculate from system local time
                            ; or
    ;local-time-offset 1    ; in hours, supports half-hour offsets

    ; all labels are maximum 16 characters in length
    label "UrkDAB+ Mux"
    ; the 8 character shortlabel is a subset of the label:
    shortlabel "UrkDAB+"
}

; Definition of DAB services
services {
    ; Each service has it's own unique identifier, that is
    ; used throughout the configuration file and for the RC.
    srv-R4B {
        id 0x8b01
        label "Urk FM"
shortlabel "Urk"
pty 10 ; pop music
language 0x1D ; dutch
    }
; Uncomment (remove the ; in front of) the next lines for a second DAB audio program
   srv-r4bDAB {
        id 0x8b02
        label "Urk DAB"
shortlabel "UrkD"
pty 10 ; pop music
language 0x1D ; dutch
    }
srv-r4b3 {
        id 0x8b03
        label "Urk test"
shortlabel "Urkt"
pty 10 ; pop music
language 0x1D ; dutch
    }
}

subchannels {
    sub-R4B {
        ; This is our DAB+ programme, using a ZeroMQ 
        type dabplus
        ; Accepts connections to port 59000 from any interface.
        ; Use ODR-AudioEnc as encoder
        inputfile "tcp://*:59000"
        bitrate 128
        id 1
        protection 3

        ; ZMQ specific options, mandatory:

        ; Maximum size of input buffer, in AAC frames (24ms)
        ; when this buffer size is reached, some frames will be
        ; discarded to get the size again below this value.
        ; As the present implementation discards entire AAC superframes,
        ; (5 frames = 120ms) the effect will clearly be audible.
        zmq-buffer 120

        ; At startup or after an underrun, the buffer is filled to this
        ; amount of AAC frames before streaming starts.
        zmq-prebuffering 20

        ; In an ideal scenario, where the input rate exactly corresponds
        ; to the rate at which the frames are consumed by dabmux, you
        ; see the buffer level staying around the zmq-prebuffering value.
        ; Network latency jitter can make it temporarily go lower or higher.
        ; Encoder clock drift will make the buffer either slowly fill or
        ; empty, which will create intermittent glitches.
    }

; Uncomment (remove the ; in front of) the next lines for a second DAB audio program
    sub-r4bDAB {
        ; This is our DAB programme, using a ZeroMQ
        type dabplus
        ; Accepts connections to port 59001 from any interface.
        ; Use ODR-AudioEnc as encoder
        inputfile "tcp://*:59001"
        bitrate 64
        id 2
        protection 3

       zmq-buffer 120
        zmq-prebuffering 20

    }
sub-r4b3 {
        ; This is our DAB programme, using a ZeroMQ
        type dabplus
        ; Accepts connections to port 59001 from any interface.
        ; Use ODR-AudioEnc as encoder
        inputfile "tcp://*:59002"
        bitrate 128
        id 3
        protection 3

       zmq-buffer 120
        zmq-prebuffering 20

    }
}

; In our simple example, each component links one service to one subchannel
components {
    ; the component unique identifiers are used for the RC.
    comp-R4B {
        service srv-R4B
        subchannel sub-R4B
        figtype 0x2
    }

; Uncomment (remove the ; in front of) the next lines for a second DAB audio program
    comp-r4bDAB {
        service srv-r4bDAB
       subchannel sub-r4bDAB
figtype 0x2
    }
comp-r4bDAB {
        service srv-r4b3
       subchannel sub-r4b3
figtype 0x2
    }
}

; A list of outputs
outputs {
    ; The unique-id can be used by the remote control or the statistics server
    ; to identify the output

    ; Output RAW ETI NI to standard output
    ;stdout "fifo:///dev/stdout?type=raw"

    ; ZeroMQ output example 
    ; This output does not back-pressure the multiplexer.
    ; Listen on all interfaces, on port 9100
    zmq  "zmq+tcp://*:9100"

    ; Output ETI-over-TCP. This is like piping a RAW ETI NI data stream
    ; into a TCP socket, except that the output can handle simultaneous
    ; connections.
    ; 0.0.0.0 means "listen on all interfaces"
    ; This output does not back-pressure the multiplexer.
    ;tcp "tcp://*:9200"

    ; Throttle output to real-time (one ETI frame every 24ms)
    throttle "simul://"

    ; Important! For real-time operation, you need to have exactly one
    ; output that applies back-pressure to ODR-DabMux, otherwise it will run
    ; at the highest possible rate on your system!
    ;
    ; For an output to a pipe, the data consumer at the other end of the pipe
    ; will dictate the multiplexing rate to ODR-DabMux.
    ;
    ; If you use the zmq+tcp:// or the tcp:// output,
    ; you must also enable a simul:// output!
}


Hans van Eijsden

unread,
Oct 5, 2017, 5:06:04 PM10/5/17
to mmbtools
Hi there, hoi buurman,

That "need 960" reminds me of something. The AAC+ codec needed for DAB+ is a modified (patched) version of the normal fdk-faac codec, with a AACENC_GRANULE_LENGTH of 960 (AAC audio frame length in samples).
Did you build ODR-AudioEnc with the codec from https://github.com/Opendigitalradio/fdk-aac - the patched version?

Groetjes uit Zwolle

Op donderdag 5 oktober 2017 21:46:32 UTC+2 schreef URK TV:

Jan de Vries

unread,
Oct 5, 2017, 5:38:33 PM10/5/17
to mmbtools
  comp-r4bDAB {
        service srv-r4bDAB
       subchannel sub-r4bDAB
figtype 0x2
    }
comp-r4bDAB {
        service srv-r4b3
       subchannel sub-r4b3
figtype 0x2
    }

Dubbel !

Gerrit Kramer

unread,
Oct 6, 2017, 5:23:43 AM10/6/17
to mmbtools
Hi neighbour,


But to be certain I will check it this evening.

Thanks.

Gerrit

Op donderdag 5 oktober 2017 23:06:04 UTC+2 schreef Hans van Eijsden:

Gerrit Kramer

unread,
Oct 6, 2017, 5:25:14 AM10/6/17
to mmbtools
Hi Jan,

indeed glad to hear from you. I will change this (stream 3 Urk Test is not running at the moment)

Regards,

Gerrit

Op donderdag 5 oktober 2017 23:38:33 UTC+2 schreef Jan de Vries:

URK TV

unread,
Oct 7, 2017, 4:00:43 AM10/7/17
to mmbtools
I build it wit Fdk-AAC

The clock is running Ntp

So any idea?

Gerard Lokhoff

unread,
Oct 8, 2017, 3:13:16 AM10/8/17
to mmbtools
Hi ! Nice to see others are experimenting with a Raspberry Pi setup as well ;o) !

Has the problem been solved yet, with the suggestion from Jan de Vries ?

Don't forget it can be a problem with the EasyDab board as well, especially if the RF goes away.
What version of software do you have in the EasyDab ? (Check the web interface, it should show the version on top).
Do you see the red LED next to the green one flickering with every DAB frame ? 
Does this interrupt the flickering when the audio/RF goes away ?
Do you lose connection between the EasyDAB and the mux when this happens ? 
 
To isolate problems you can also first try to get a stable working mux with EasyDAB using a pre-recorded audio file, so you don't need to worry about the audio encoder. You can find the file I use at the link below, it has been working for months here in Eindhoven already:


For instance use a mux configuration like:

; Ensemble parameters
ensemble {
    id 0x8d4b ; 8 - Netherlands, d4b - DAB+ 4 Brainport
    ecc 0xe3 ; Extended Country Code, 0xe3 = Netherlands

    local-time-offset auto  ; automatically calculate from system local time
                            ; or
    ;local-time-offset 1    ; in hours, supports half-hour offsets

    ; all labels are maximum 16 characters in length
    label "DAB+ 4 Brainport"
    shortlabel "Brainprt"
}

; Definition of DAB services
services {
    ; Each service has it's own unique identifier, that is
    ; used throughout the configuration file and for the RC.

    srv-test {
        id 0x8d4b
        label "D4B Test Uitleg"
        shortlabel "D4B Test"
pty 3 ; info
language 0x1D ; dutch
    }
}

subchannels {

    sub-test {
        type dabplus
        inputfile "/home/odr/encoded/test.dabp"
        bitrate 32
        id 8
nonblock false
protection-profile EEP_A
        protection 3
    }
}

; In our simple example, each component links one service to one subchannel
components {
    ; the component unique identifiers are used for the RC.

    comp-test {
        service srv-test
        subchannel sub-test
  ; signal MOT Slideshow
figtype 0x2
    }
}

; A list of outputs
outputs {
    ; The unique-id can be used by the remote control or the statistics server
    ; to identify the output

    ; Output RAW ETI NI to standard output
    ;stdout "fifo:///dev/stdout?type=raw"

    ; ZeroMQ output example 
    ; This output does not back-pressure the multiplexer.
    ; Listen on all interfaces, on port 59100
    zmq  "zmq+tcp://*:59100"

    ; Output ETI-over-TCP. This is like piping a RAW ETI NI data stream
    ; into a TCP socket, except that the output can handle simultaneous
    ; connections.
    ; 0.0.0.0 means "listen on all interfaces"
    ; This output does not back-pressure the multiplexer.
    tcp "tcp://*:59200"
Message has been deleted

Federico Allegretti

unread,
Oct 9, 2017, 6:57:12 AM10/9/17
to mmbtools
have you check the encoder side is working properly?

URK TV

unread,
Oct 9, 2017, 3:55:40 PM10/9/17
to mmbtools
Hi Gerard,

thanks for your reply. I have the new Easydab firmware. So led 1 is flickering very fast (old firmware led was out)
I contacted Sergiy from Easydab and he says it is good. He only talks about more memory for the board...... But with only one 
stream testing and perfect networking I think not.

So I tested your mux and test file. It's working perfect!
The only thing different in your mux file is>>>>  
 ; Output ETI-over-TCP. This is like piping a RAW ETI NI data stream
    ; into a TCP socket, except that the output can handle simultaneous
    ; connections.
    ; 0.0.0.0 means "listen on all interfaces"
    ; This output does not back-pressure the multiplexer.
    tcp "tcp://*:59200"

When I change this in my mux file the audio still goes away every 30sec - 1minute.
So I think indeed it is something in the encoding. But strange thing is that I use Fdk-aac
and did everything exactly  told on https://github.com/glokhoff/RaspDAB/wiki

How can I re-install Fdk-Aac? Or check if Vlc uses it...


Thanks very much.

Regards,

Gerrit


Op zondag 8 oktober 2017 09:13:16 UTC+2 schreef Gerard Lokhoff:

URK TV

unread,
Oct 9, 2017, 3:56:34 PM10/9/17
to mmbtools
How can I check if the encoder is working fine. I have no fault in logs from my encoder

Op maandag 9 oktober 2017 12:57:12 UTC+2 schreef Federico Allegretti:
Message has been deleted
Message has been deleted

URK TV

unread,
Oct 10, 2017, 1:43:34 AM10/10/17
to mmbtools
After one night I have hicking audio with the test file of Gerard (without encoding).....

I see that the network led's don't flicker fast on the Raspberry when it happens. When the audio is back the network is flickering fast again.
Also I can't reach the config site of the Easydab when there is no audio. Led 1 (eti) on the Easydab is out when it happens. Rf is gone
and comes back .

So I have an network problem. Buffering or..... 

Op donderdag 5 oktober 2017 21:46:32 UTC+2 schreef URK TV:
I use a Raspberry Pi 3 CPU 20% with an Easydab V2 board (latest firmware)
Message has been deleted

URK TV

unread,
Oct 10, 2017, 3:16:38 PM10/10/17
to mmbtools
Dear Gerard,

thank you for your mail. I run the version easydabv2.6144-05.08.2017_sfn.tar.gz with good config (no gps or extra memory)
I changed this in easydabv2_18.03.2016.tar.gz but the probem gets worse.

Even with a cross cable utp (no switch or anything) I have the problem (with mux and a simple audio file no encoding). I also tried different ports no result.

I will contact Sergiy and sent him the broken Easydab V2. I think it's the best.

Thanks.

Gerrit

Op donderdag 5 oktober 2017 21:46:32 UTC+2 schreef URK TV:
I use a Raspberry Pi 3 CPU 20% with an Easydab V2 board (latest firmware)

Rashid Mustapha

unread,
Oct 10, 2017, 3:58:08 PM10/10/17
to crc-mm...@googlegroups.com
Hello Gerrit,

It seems to me that the board probably isn't broken. Have you tried pushing a known good ETI file to it?

Regards,

Rash.

--
You received this message because you are subscribed to the Google Groups "mmbtools" group.
To unsubscribe from this group and stop receiving emails from it, send an email to crc-mmbtools+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Gerrit Kramer

unread,
Oct 12, 2017, 2:46:29 AM10/12/17
to mmbtools
I will try it tonight.

Op dinsdag 10 oktober 2017 21:58:08 UTC+2 schreef Rash:
To unsubscribe from this group and stop receiving emails from it, send an email to crc-mmbtools...@googlegroups.com.

URK TV

unread,
Oct 12, 2017, 4:07:08 PM10/12/17
to mmbtools
Dear Rash,

I tried the eti file on the site http://tipok.org.ua/node/46. It sounds nice for know. I doesn't loop so testing is not easy. I will listen some time.
Strange thing with  http://tipok.org.ua/downloads/hardware/DAB-TX/Spartan6-FPGA/EasyDABv2/SFN/easydabv2.6144-23.05.2017_sfn.tar.gz  (recommended by Gerard) firmware I can't reach it by MUX......

I keep you informed.

Thx.

Gerrit



Op dinsdag 10 oktober 2017 21:58:08 UTC+2 schreef Rash:
Hello Gerrit,
To unsubscribe from this group and stop receiving emails from it, send an email to crc-mmbtools...@googlegroups.com.

Rene Stevens

unread,
Oct 13, 2017, 6:58:51 AM10/13/17
to mmbtools
gerrit,  heb je al eens gekeken of het werkt als je een externe ETI stream van internet plukt


Op donderdag 12 oktober 2017 22:07:08 UTC+2 schreef URK TV:

URK TV

unread,
Oct 13, 2017, 1:25:34 PM10/13/17
to mmbtools
Hoi Rene,

heb jij een url van een Eti stream?

Groet,

Gerrit

Op vrijdag 13 oktober 2017 12:58:51 UTC+2 schreef Rene Stevens:

Rene Stevens

unread,
Oct 20, 2017, 3:52:56 PM10/20/17
to mmbtools
probeer dit eens:

Dance / ZFM      85.17.3.165         / 9110




Op vrijdag 13 oktober 2017 19:25:34 UTC+2 schreef URK TV:

URK TV

unread,
Oct 28, 2017, 12:02:33 PM10/28/17
to mmbtools
Thanks! I tested the stream from Gerard >>> Brainport Radio (sent by mail). Also some hicking audio (less than stream)
So Sergiy contacted me. The best thing is to get some memory. So I sent the board to him.

Rene do you use memory?



Op vrijdag 20 oktober 2017 21:52:56 UTC+2 schreef Rene Stevens:

Rene Stevens

unread,
Oct 29, 2017, 2:39:27 PM10/29/17
to mmbtools
Ik gebruik extra geheugen (ic kost een eurootje of zo) in combinatie met GPS en rond de 70% buffer (iets van 1 a 2 seconde)
Via internet kan zonder extra geheugen hikken, maar met de PC direct moet het hik vrij zijn.

Ik ben nu 50 van die printen aan het opbouwen

Op zaterdag 28 oktober 2017 18:02:33 UTC+2 schreef URK TV:
Reply all
Reply to author
Forward
0 new messages