


For example if the target vector falls off sharply at high frequencies (say a LPF at 3500 Hz), the VQ will try to select a vector that matches that fall off, and ignore smaller, more perceptually important features like formants. I have been uncomfortable with MSE matching for a while, as I have observed poor choices in matching vectors to speech. My VQ work to date has used minimum Mean Square Error (MSE) to train and match vectors. I vaguely remember snoring my way through eigen-thingies at math lectures in University! Then (thirty year old!) paper how the DCT relates to vector quantisation and the eigenvector/value rotations described in. For Candidate D I extended this to K=40 dimensions, the number of samples I am using for the spectral magnitudes. helped me understand the relationship between covariance and VQ, using 2D vectors. This would take 4 bits in total, and be wasteful as it would represent points that would never occur, such as (60,0). Consider representing the same data with two 1D (scalar) quantisers over the same 2 bit range (0,20,30,40). An example of a 2-bit, 2D vector quantiser for this data might be the points (0,0) (20,20) (30,30) (40,40). The data is highly correlated, almost a straight line relationship. Here are 2D and 3D scatter plots of adjacent samples in the vector: Forty dimensions is a bit much to handle, so I started out by plotting smaller slices. To get a feel for the data I started out by looking at smaller 2 and 3 dimensional vectors. So I have these vectors of K=40 spectral magnitude samples, that I want to quantise. It’s a special feeling when the theory clicks into place with the practical. I really enjoy learning, especially in areas I have been fooling around for a while but never really understood. I feel my VQ skills are weak, so did a bit of reading. This time, I explored Vector Quantisation (VQ) of spectral magnitude samples. That also evolved from a “quick effort” to develop a reference codec to explore my deep learning ideas. The previous Copost described candidate C.
#DSA815 PRACTICE PROJECTS SERIES#
For lack of a better name it’s called candidate D, as that’s where I am up to in a series of codec prototypes. He has also implemented Estrella, a DExtra Open client, that allows direct communication through xlxd reflectors (macOS and iOS versions are available now, with more platforms to follow).Įstrella for iOS Posted on FebruApAuthor david Categories Radio, Telephony CoCandidate DĮvery time I start working on Deep Learning and Codec 2 I get side tracked! This time, I started developing a reference codec that could be used to explore machine learning, however the reference codec was sounding pretty good early in it’s development so I have pushed it through to a fully quantised state. He holds a PhD in Computer Science and is currently employed by a Toronto-based tech startup implementing bleeding-edge storage solutions.Ībout two months later, and Antony has introduced a protocol variant based on Codec 2’s 2400 mode with added FEC. Recently, he has been working on enabling D-STAR communications with Codec 2. He is the author of PocketPacket, an APRS client application for macOS and iOS. Antony enjoys DXing and exploring what makes digital modes tick. Since 2017, he has been serving as the Association Manager for the SOTA award program in Greece. He is a member of RAAG, RASC, ARRL, and the volunteer group HARES (Hellenic Amateur Radio Emergency Service).
#DSA815 PRACTICE PROJECTS MAC#
I am thinking about software-based implementations at the moment: Android, iOS, Mac OS, Linux, etc.Īnother direction would be to figure out a FEC implementation and do real over-the-air experiments with MMDVM based devices, assuming a microphone input and a speaker output.Īntony Chazapis, SV9OAN, is licensed since 2009. Actually, the only clients available now are my Python-based dv-player and dv-recorder which connect to xlxd, play and record dvtool files respectively. In theory you could do transmissions with the new protocol, but the problem is that there are no real clients that implement it – yet. I then modified xlxd to add a new listener for the D-STAR protocol variant (named “DExtra Open”) and ambed to transcode from 1 codec to 2 (eg. There are many Codec 2 variants, so I started by using the highest bitrate one (3200 mode) without FEC which is fine for over-the-Internet communication. Instead of designing a new protocol, I propose a D-STAR protocol extension that allows to use Codec 2 in frames instead of AMBE. Below is a brief explanation of the project, please also see his Github page. Sox play Desktop Application for Ubuntu File ManagerĪntony Chazapis, SV9OAN, has been extending the D-STAR protocol to use Codec 2.LPCNet Quantiser – wideband speech at 1700 bits/s.Fixed Point Scaling – Low Pass Filter example.AMBE+2 and MELPe 600 Compared to Codec 2.
