Sorry to drag up an ancient thread. I was wondering what specific modifications were needed for the general_work function of op25_decoder_ff.cc?
Does only returning synthesized frames work or does IMBE expect for some empty results to be inserted where there is no data to smooth things out? I am trying something similar using DSD and the WAV files I record with only synthesized data do not sound as good as audio played back with empty frames returned when no data is available.
Thanks for any tips you have!
Luke
--- In op25-dev@yahoogroups.com, "Balint" <balint256@...> wrote:
>
> Dear all,
>
> I've uploaded to the Files section of the board a new 'audio_p25_rx.py',
> which is the original file modified to output IMBE audio, and read/write
> WAV/float data files (since I don't have a USRP and use a discriminator
> tap).
>
> Some notes:
>
> # wx must be set to 'nongl' mode (widgets are the older non-OpenGL type)
>
> # Make sure your ~/.gnuradio/config.conf has a '[wxgui]' section, which
> contains the line 'style=nongl'
>
> #
>
> # Voice output requires the environment variable 'IMBE' set to 'soft', AND
> modification to op25_decoder_ff.cc to prevent
>
> # excessive zero values being output (which chops up the real output
> stream and produces too much silence) - this can
>
> # be done by only producing 'general_work' output values when actual voice
> data is synthesised (i.e. return the number
>
> # of synthesised samples produced and don't pad the output buffer with
> silence)
>
> #
>
> # If you want to capture using Wireshark, don't forget to run this as root!
>
> # Use the '-w' wait option, then start Wireshark and begin capturing, then
> return to your terminal and hit any key.
>
>
>
> In addition, I've found that software_imbe_decoder dies sporadically at
> 'decoder/src/lib/software_imbe_decoder.cc:1022'. I believe this is because
> the class member variable 'OldL' is left un-initialised, and used as such on
> line 1018. Adding 'OldL = 0;' to the class constructor (line 756) appears to
> fix the problem (and causes the 'OldL == 0' check on line 1005 to kick in).
>
>
>
> Please let me know if you try the new Python code and have any problems.
>
> Balint
>
Reply via web post | Reply to sender | Reply to group | Start a New Topic | Messages in this topic (2) |