Nope.
But I don't think it will be identical because, as I was casting a glance at the C++ source code, I noticed that it was question of RLE compressing the sample which was not the case in the Matlab script I started from.
Perhaps they felt on the issue of the size in memory and then decided to use RLE to ligthen the weight of sample in memory.
Not exactly but my position on the topic is mitigated:
- I find that the viterbi encoded Welcome message is more "accurate" regarding the original sample than the one in your demo (accurate in the sens of "fidèle" and "ressemblant" in french)
- With the current implementation of the replayer, the quantity of memory used to store the sample makes that the benefit/cost balance is not interesting. The quality seems better but far too memory greedy.
- When I look at the shape of writings in PSG'registers, I'm almost sure that there may exist a smart way to compress the encoded sample in memory .. but for now I've failed to find the courage to look for and implement it.
- With technologies such as Oricart (from IssRax) or TwilightBoard (from jede) it becomes possible to read huge amount of data from SdCard and then to relax the memory size constraint.
We do have a mean to test the sound quality offered by sample encoded with the viterbi algorithm.
We do not have yet (and perhaps we will never have) the mean to use it in a software production.
Well technically speaking, we have a Viterbi decoder that works and that was used in some demos.
But honnestly, I would not recommand to build upon it as it is.
My secret hope was that someone like you would find interesting to implement a smart compression/decompression system that feed the buffer used by the reader .. but well .. let's be realistic .. "je n'ai jamais réussi à te refiler du boulot et ce n'est pas demain la veille que je vais y parvenir".
As for ADPCM .. I love the idea ..