f4exb / dsdcc

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

Problems decoding on Raspberry Pi4 #46

Closed thomz0r closed 2 years ago

thomz0r commented 2 years ago

Hi team , just started to use my Pi4 as portable SDR few days ago , and times comes to decode digital voice . i compiled and installed mbelib and DSDcc with following Cmake options DUSE_MBELIB=ON -DLIBMBE_INCLUDE_DIR=/usr/local/include/ -DLIBMBE_LIBRARY=/usr/local/lib/arm-linux-gnueabihf/libmbe.so

I can decode prefectly Dstar sample , and none of other sample are working , ie : pi@raspberrypi:~/dsdcc $ sox -t s16 -r 48k -c 1 samples/dmr_it_8.dis -t s16 -r 48k -c 1 - | dsdccx -i - -fa -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. Sync: +DMRd DSDDecoder::run: good sync found: 10 symbol 298 (12851) DSDDecoder::run: before processFrameInit: symbol 299 (1717) inlvl: 90% DSDDecoder::resetFrameSync: symbol 352 (3106) play WARN alsa: can't encode 0-bit Unknown or not applicable Sync: +DMRd DSDDecoder::run: good sync found: 10 symbol 586 (12809) DSDDecoder::run: before processFrameInit: symbol 587 (1737) inlvl: 101% DSDDecoder::resetFrameSync: symbol 640 (3183) Sync: +DMRd DSDDecoder::run: good sync found: 10 symbol 874 (12496) DSDDecoder::run: before processFrameInit: symbol 875 (1637) inlvl: 100% DSDDecoder::resetFrameSync: symbol 928 (2896)

.. ... (tons of similar line) ... sometimes : DSTAR HEADER: RPT 2: څ?[.tH RPT 1: ?S?T??? YOUR: ?????? MY: }$????/?q(? .. ... inlvl: 98% DSDDecoder::resetFrameSync: symbol 94816 (2617) Sync: +DMRv DSDDecoder::run: good sync found: 12 symbol 94906 (-12818) DSDDecoder::run: before processFrameInit: symbol 94907 (-5292) inlvl: 100% ==No more input End of process pi@raspberrypi:~/dsdcc $

also tried with DSD and i have issue to ( no audio ) .

any clue to help me moving forward ?

thx, 73' Tom

f1ixx commented 2 years ago

Hello I've same problem on my laptop under Fedora 36. Compiler : C++17.

When compile, i've warring with unuse variable. I'm make modification in source to have no error and/or warrning. I'm sur is dirty solution but that work for me. Correct work with samples files.

`diff --git a/dsd_mbe.cpp b/dsd_mbe.cpp index 84b58f3..fb53fe4 100644 --- a/dsd_mbe.cpp +++ b/dsd_mbe.cpp @@ -123,9 +123,18 @@ void DSDMBEDecoder::processFrame(char imbe_fr[8][23], char ambe_fr[4][24], char }

 processAudio();

+// F1IXX : add to remove warring compilation +#else

diff --git a/pn.cpp b/pn.cpp index f9fd15b..d961794 100644 --- a/pn.cpp +++ b/pn.cpp @@ -33,6 +33,8 @@ void PN_9_5::init() unsigned char byte; unsigned int sr = m_seed;

I hope little help and resolve problem.

Best regards

Boris, F1IXX

thomz0r commented 2 years ago

will check it next week , thanks !

Le dim. 17 avr. 2022 à 08:29, Boris, f1ixx @.***> a écrit :

Hello I've same problem on my laptop under Fedora 36. Compiler : C++17.

When compile, i've warring with unuse variable. I'm make modification in source to have no error and/or warrning. I'm sur is dirty solution but that work for me. Correct work with samples files.

`diff --git a/dsd_mbe.cpp b/dsd_mbe.cpp index 84b58f3..fb53fe4 100644 --- a/dsd_mbe.cpp +++ b/dsd_mbe.cpp @@ -123,9 +123,18 @@ void DSDMBEDecoder::processFrame(char imbe_fr[8][23], char ambe_fr[4][24], char }

processAudio();

+// F1IXX : add to remove warring compilation +#else

-

char trash;

-

trash = sizeof(imbe_fr[0]); trash += 1;

trash = sizeof(ambe_fr[0]); trash += 1;

trash = sizeof(imbe7100_fr[0]); trash += 1 +// F1IXX : add to remove warring compilation

endif

}

void DSDMBEDecoder::processData(char imbe_data[88], char ambe_data[49]) { if (!m_dsdDecoder->m_mbelibEnable) { @@ -161,6 +170,13 @@ void DSDMBEDecoder::processData(char imbe_data[88], char ambe_data[49]) }

processAudio();

+// F1IXX : add to remove warring compilation +#else

  • char trash;
  • trash = sizeof(imbe_data[0]); trash += 1;
  • trash = sizeof(ambe_data[0]); trash += 1; +// F1IXX : add to remove warring compilation

    endif

    }

diff --git a/pn.cpp b/pn.cpp index f9fd15b..d961794 100644 --- a/pn.cpp +++ b/pn.cpp @@ -33,6 +33,8 @@ void PN_9_5::init() unsigned char byte; unsigned int sr = m_seed;

  • byte = 0; // F1IXX : add to remove warring compilation
  • for (int i = 0; i < 512; i++) { if (i%8 == `0)``

I hope little help and resolve problem.

Best regards

Boris, F1IXX

— Reply to this email directly, view it on GitHub https://github.com/f4exb/dsdcc/issues/46#issuecomment-1100814455, or unsubscribe https://github.com/notifications/unsubscribe-auth/AKKQT3EDNVIEVRPGUSNOTHLVFOVULANCNFSM5QMJ7FLQ . You are receiving this because you authored the thread.Message ID: @.***>

github-actions[bot] commented 2 years ago

This issue is going to be closed due to inactivity