f4exb / dsdcc

Digital Speech Decoder (DSD) rewritten as a C++ library
286 stars 60 forks source link

No stdout from dsdcc #33

Closed pomputer closed 3 years ago

pomputer commented 4 years ago

Hi! When I run nc -l -u localhost 7355 | ./dsdccx -i - -fa -o - | play -q -t s16 -r 8k -c 1 - I get output containing multiple similar instances of Sync: +DMRd DSDDecoder::run: good sync found: 10 symbol 57442 (1524) DSDDecoder::run: before processFrameInit: symbol 57443 (-1899) when playing DMR content, but I have tested and I don't receive any stdout from dsdccx. Am I doing something wrong?

Thanks!

denisbsu commented 4 years ago

Did you build dsdcc with mbelib support?

pomputer commented 4 years ago

Yes. When I run socat stdout udp-listen:7355 | ./dsdccx -i - -fa -o - | play -q -t s16 -r 8k -c 1 - I get no audio output. Maybe something is wrong with my input? I am receiving it through my sdr on gqrx.

f4exb commented 4 years ago

Most probably dsdcc cannot decode your input stream hence no output.

marcosox commented 11 months ago

It doesn't output anything even with the provided sample:

This: sox -t s16 -r 48k -c 1 dmr_it_8.dis -t s16 -r 48k -c 1 - | dsdccx -T3 -i - -fa -o - | sox -t s16 -r8k -c1 - -twav out.wav outputs an empty wav file (44 bytes)

This: sox -t s16 -r 48k -c 1 dmr_it_8.dis -t s16 -r 48k -c 1 - | dsdccx -T3 -i - -fa -o - > out.wav produces 0 bytes

This: sox -t s16 -r 48k -c 1 dmr_it_8.dis -t s16 -r 48k -c 1 - | dsdccx -T3 -i - -fa -o - only prints the log messages from stderr

This: sox -t s16 -r 48k -c 1 dmr_it_8.dis -t s16 -r 48k -c 1 - | dsdccx -T3 -i - -fa -o - | nc -u 192.168.0.101 7355

hangs after the line

inlvl: 100% No more input
End of process

and nothing is received on the other side

This: sox -t s16 -r 48k -c 1 dmr_it_8.dis -t s16 -r 48k -c 1 - | dsdccx -T3 -i - -fa -o out.wav Produces an empty file and in the logs I still see:

Opened - for input.
Opened - for output.

(using -o /dev/stdout still prints Opened - for output)

radiusmk commented 9 months ago

It doesn't output anything even with the provided sample:

This: sox -t s16 -r 48k -c 1 dmr_it_8.dis -t s16 -r 48k -c 1 - | dsdccx -T3 -i - -fa -o - | sox -t s16 -r8k -c1 - -twav out.wav outputs an empty wav file (44 bytes)

This: sox -t s16 -r 48k -c 1 dmr_it_8.dis -t s16 -r 48k -c 1 - | dsdccx -T3 -i - -fa -o - > out.wav produces 0 bytes

This: sox -t s16 -r 48k -c 1 dmr_it_8.dis -t s16 -r 48k -c 1 - | dsdccx -T3 -i - -fa -o - only prints the log messages from stderr

This: sox -t s16 -r 48k -c 1 dmr_it_8.dis -t s16 -r 48k -c 1 - | dsdccx -T3 -i - -fa -o - | nc -u 192.168.0.101 7355

hangs after the line

inlvl: 100% No more input
End of process

and nothing is received on the other side

This: sox -t s16 -r 48k -c 1 dmr_it_8.dis -t s16 -r 48k -c 1 - | dsdccx -T3 -i - -fa -o out.wav Produces an empty file and in the logs I still see:

Opened - for input.
Opened - for output.

(using -o /dev/stdout still prints Opened - for output)

I have same problem. I tried to decode a sample and redirect to "play", and them I receive the follow error "DSDDMR::processVoiceEmbeddedSignalling: decode error".

──╼ $sox -t s16 -r 48k -c 1 dmr_it_8.dis -t s16 -r 48k -c 1 - | dsdccx -T3 -fa -i - -q -o -| play -q -t s16 -r 8k -c 1 - DSDDstar::reset_header_strings DSDDecoder::resetFrameSync: symbol 0 (0) Digital Speech Decoder DSDcc DSDDecoder::resetFrameSync: symbol 0 (0) Enabling auto frame decoding. DSDDecoder::resetFrameSync: symbol 0 (0) Opened - for input. Opened - for output. DSDDMR::processVoiceEmbeddedSignalling: decode error DSDDstar::reset_header_strings DSDDstar::reset_header_strings No more input End of process

I don't know what to do. :(