Hi Jeroen, Wow that's great work - thank you so much. So wonderful for me to see someone diving into the code and making things happen at this level. Also the results are pretty good - that guy vk5dgr sounded the worst :-)
Here is the same source processed by Codec 2 1300: http://rowetel.com/downloads/codec2/all.1300.wav What does everyone else on the list think of the two modes compared to each other? There is an obvious level difference - an artifact of the post filtering. When listening, compare one sentence at a time, e.g. the first 3 seconds of both, then the 2nd 3 seconds etc. Think about which sample you prefer. Couple of questions/comments: 1/ How did you train the VQ - using the Octave code? 2/ The squared error can be directly related to spectral distortion, if the difference (in dB) between the original and quantised spectrum, so the extra VQ stages have reduced the RMS distortion by sqrt(147/20) = 2.7 dB to sqrt(44/20) = 1.5dB. 3/ Given more bits are available, might be interesting to expand the bandwidth the VQ works over. The 1300 samples do sound a bit more "wideband" to me, compared to 1300C. 4/ The post filter may not be so important now, and could be "relaxed". 5/ Yes I'm sure the pitch estimator loses it occasionally. To test objectively pitch contours could be compared with different filtering. 6/ I have some other training material you could try, to compare results. But sounds like you are on the right track. Well done! Cheers, David On 10/03/17 21:42, Jeroen Vreeken wrote: > Hi all, > > I have been experimenting for a while to extend the 700C codec2 mode > into a 1300C mode. Mostly by just trying out different things like > adding more bits for pitch or energy and trying to create better codebooks. > It is a fun way to get to know the different parts of the source and get > an understanding of the codec. > I finally settled on a frame format that adds a 3th, 4th and 5th stage > to the vector quantization of 8bits each. > The first entry of the three codebooks contain all zeros, this is to > ensure that the additional stages will always have a result that is at > least as good as 700c. Also transcoding from 700c to 1300c is simply a > matter of zero padding. > For the training I used over an hour of material that could be heard > over a typical repeater. (It started with some recorded QSOs, but ended > up with mostly bulletin samples). > > A patch for this new mode is attached to this mail. Personally I think > it might be a good candidate to use for the 2400A/B/T FreeDV mode. > > At http://video.vreeken.net/~dml/patches/all.1300c.wav you can find an > example of the output. > > One of the things that I noticed while testing was that the current > pitch estimation sometimes makes a mistake and ends up with twice the > real pitch. I also got the feeling (but no proof yet) it was worse with > samples with heavy filtering under 300Hz (e.g. to get rid of CTCSS tones). > So there might be some room for improvement there... > > Regards, > JEroen > > > > ------------------------------------------------------------------------------ > Announcing the Oxford Dictionaries API! The API offers world-renowned > dictionary content that is easy and intuitive to access. Sign up for an > account today to start using our lexical data to power your apps and > projects. Get started today and enter our developer competition. > http://sdm.link/oxford > > > > _______________________________________________ > Freetel-codec2 mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/freetel-codec2 > ------------------------------------------------------------------------------ Announcing the Oxford Dictionaries API! The API offers world-renowned dictionary content that is easy and intuitive to access. Sign up for an account today to start using our lexical data to power your apps and projects. Get started today and enter our developer competition. http://sdm.link/oxford _______________________________________________ Freetel-codec2 mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/freetel-codec2
