The whole idea of Codec2 was to REDUCE bit rate and redundancy.
So, do what you can with structure first before adding extra stuff.
I think what you need to deal with packet loss depends on the loss
mechanism and the communications grade.
If you randomly lose a packet (7 bytes over 40mS), then maybe that is
tolerable, your brain can figure it out. Perhaps a maximum likelihood
algorthm might be able to better guess what ws missed and reconstruct
Also, if a shorter minimum time-slice of 10mS compared to 40 mS was
used, this might provide better voice performance in marginal conditions
as less was lost. But this will be at a higher bit rate ! (the higher
rate codec2 modes use shorter time slice) .
If you lose a whole word (say 30 packets) ,that may affect the ability
to communicate
- if it is emergency communication, that lost word may be very
important, so you must provide for the delivery
- if it is coversational, this may be acceptable.
Losing a whole word (sat 1.2 seconds) is a big ask for the communication
system because if there is a repeat, there will need to be overhead
aside to catch up.
I have experimented with 'fast catchup' with codec2 by increasing the
output sampleĀ rate by 10% in order to catchup for a delay in getting
all the data, and catching back up to real time.
This is the problem with digital codec communications.
If a whole word is lost, if the output of the decoder is silent, then it
is not possible to know if a word was missed, or if the word was never
voiced ! In analog, you might hear a noise burst and you would be aware
that some of the communication was lost.
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Freetel-codec2 mailing list
Freetel-codec2@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freetel-codec2