[op25-dev] Re: New 'audio_p25_rx.py' in Files section, and software_imbe_decoder bugfix

trinmole lukekb at gmail.com
Sat Aug 31 15:57:22 UTC 2013


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 at yahoogroups.com, "Balint" <balint256 at ...> 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
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/op25-dev/attachments/20130831/cb996ec8/attachment.html>


More information about the op25-dev mailing list