Abstract: A method for compressing and decompressing voice data enables efficient voice storage on small computers. Analog voice data is converted to digital voice data and the difference jumps between adjacent numbers in the digital voice data are measured. In the preferred embodiment, if the value of the jump is within the range +2 to -2, then a code value is assigned to that jump from zero to four where the code value equals the jump value plus two. If the jump value is outside the range, a jump is normally assigned a code value of five. Three adjacent codes are compressed to one code using the formula:Compression number=6.times.[6.times.(code 3)+ code 2] +code 1and at least this compression number is stored. If one or two of the code values in a group of three code values has a value of five, the actual jump value is stored after the compression number.