1. A codevector trainer comprising: a spectral vector memory that stores spectral vectors in parallel, each spectral vector being divided into spectral components and stored as a plurality of spectral components, each spectral component being stored in parallel with other spectral components from a same spectral vector; a codevector memory that stores codevectors in parallel, each codevector being divided into codevector components and stored as a plurality of codevector components, each codevector component being stored in parallel with other codevector components from a same codevector; a vector distance calculator comprising a plurality of SOAD/SOSD (sum of absolute distance/sum of scalar distance) units, each SOAD/SOSD unit calculating a scalar distance between a spectral vector component and a corresponding codevector component, each SOAD/SOSD being coupled to the spectral vector memory and the codevector memory to receive a specific spectral vector component and a corresponding codevector component to calculate said scalar distance, said vector distance calculator having a plurality of parallel outputs, each output being a scalar distance between a spectral vector component and a corresponding codevector component; a scalar distance block that sums said plurality of outputs of said vector distance calculator, said scalar distance block receiving said plurality of outputs of said vector distance calculator and outputting a scalar distance between a specific spectral vector and a corresponding codevector; a distance memory area that stores scalar distances between a specific spectral vector and all codevectors, said distance memory area receiving an output of said scalar distance block; a minimal distance selector block that determines which codevector has a minimal distance with a specific spectral vector and that generates a codevector index for said spectral vector; wherein said codevector memory provides all codevector components of a single codevector to said vector distance calculator; said spectral vector memory provides all bands of a single spectral vector to said vector distance calculator.