This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Please recommend a practical audio compression algorithm



Hi,


The raw data for I2S format is very large. If uncompressed, 16 bit single channel 44.1KHz occupies 88.2KB storage and would be impractically to store even just a minute of raw audio in flash storage.


We don’t have much knowledge with audio compression/decompression. If just using the na?ve Huffman coding which is easy to implement, how large a compression ratio could be achieved?


If using MP3 on end products, is it possible (easy, practical in regard to effort) to implement decoding algorithm from scratch? And would any of the MP3 owner’s intellectual property be violated?


In the midway between simplest Huffman encoding and MP3, could TI experts recommend popular encoding/decoding algorithms for audio data? How do users of TI converters typically handle them?

 

 

Paul

  • Hi, Paul,

    Our converters don't do compression/decompression. You need a more powerful DSP than the miniDSP included with some of our TLV320AICxxxx family.

    You might want to surf around some of the DSP forums to see what you can scope out there.

    -d2

  • Don,

    Does TI offer any audio compression/decompression software packages for using on its DSP platforms?

  • Paul Singh said:

    Hi,


    The raw data for I2S format is very large. If uncompressed, 16 bit single channel 44.1KHz occupies 88.2KB storage and would be impractically to store even just a minute of raw audio in flash storage.


    We don’t have much knowledge with audio compression/decompression. If just using the na?ve Huffman coding which is easy to implement, how large a compression ratio could be achieved?


    If using MP3 on end products, is it possible (easy, practical in regard to effort) to implement decoding algorithm from scratch? And would any of the MP3 owner’s intellectual property be violated?


    In the midway between simplest Huffman encoding and MP3, could TI experts recommend popular encoding/decoding algorithms for audio data? How do users of TI converters typically handle them?

     

     

    Paul

    Hi Paul,
    You will need to look at how much storage space you can afford, and how many seconds/minutes recording you need ? Also what is the quality you require, is it for voice or music,  as most audio compression is not lossless. For starters ADPCM will give you a 4:1 compression with reasonably good to very good quality (I have also heard of an ADPCM 8:1 that was implemented on a PIC ! but am not sure if the quality is good enough for you). MP3 is also not loss-less with great quality but mainly for music, but there you will need to look at licensing fees etc. as it is not free !! ADPCM is also not very MIPS hungry so a low-end DSP will do the job very well with lots to spare. I believe TI does provide some codec libraries that includes G.722. Otherwise you may check out some other public domain compression algorithms that do over 4:1 (maybe 8:1 or more), but then you will trade off quality and also ease of implementation on a DSP as they are more complex and require more DSP power.
    See if ADPCM  with 4:1 will solve you storage vs quality requirements, as its is easy to implement and there is one for 32kb/s rate and 64kb/s rate, then if not, you will need to look at others. I suggest you do a search on wikipedia for "Comparison of audio formats" for what is free and not free and what uses etc.

    good luck, martin

  • Martin,

    Sorry for my being late in replying this. The answer is very helpful especially for the "comparison of audio formats" and I am still reading on the different formats. Thanks very much for all the info.

    Paul