SPMA084 December   2021 TM4C1230C3PM , TM4C1230C3PM , TM4C1230D5PM , TM4C1230D5PM , TM4C1230E6PM , TM4C1230E6PM , TM4C1230H6PM , TM4C1230H6PM , TM4C1231C3PM , TM4C1231C3PM , TM4C1231D5PM , TM4C1231D5PM , TM4C1231D5PZ , TM4C1231D5PZ , TM4C1231E6PM , TM4C1231E6PM , TM4C1231E6PZ , TM4C1231E6PZ , TM4C1231H6PGE , TM4C1231H6PGE , TM4C1231H6PM , TM4C1231H6PM , TM4C1231H6PZ , TM4C1231H6PZ , TM4C1232C3PM , TM4C1232C3PM , TM4C1232D5PM , TM4C1232D5PM , TM4C1232E6PM , TM4C1232E6PM , TM4C1232H6PM , TM4C1232H6PM , TM4C1233C3PM , TM4C1233C3PM , TM4C1233D5PM , TM4C1233D5PM , TM4C1233D5PZ , TM4C1233D5PZ , TM4C1233E6PM , TM4C1233E6PM , TM4C1233E6PZ , TM4C1233E6PZ , TM4C1233H6PGE , TM4C1233H6PGE , TM4C1233H6PM , TM4C1233H6PM , TM4C1233H6PZ , TM4C1233H6PZ , TM4C1236D5PM , TM4C1236D5PM , TM4C1236E6PM , TM4C1236E6PM , TM4C1236H6PM , TM4C1236H6PM , TM4C1237D5PM , TM4C1237D5PM , TM4C1237D5PZ , TM4C1237D5PZ , TM4C1237E6PM , TM4C1237E6PM , TM4C1237E6PZ , TM4C1237E6PZ , TM4C1237H6PGE , TM4C1237H6PGE , TM4C1237H6PM , TM4C1237H6PM , TM4C1237H6PZ , TM4C1237H6PZ , TM4C123AE6PM , TM4C123AE6PM , TM4C123AH6PM , TM4C123AH6PM , TM4C123BE6PM , TM4C123BE6PM , TM4C123BE6PZ , TM4C123BE6PZ , TM4C123BH6PGE , TM4C123BH6PGE , TM4C123BH6PM , TM4C123BH6PM , TM4C123BH6PZ , TM4C123BH6PZ , TM4C123FE6PM , TM4C123FE6PM , TM4C123FH6PM , TM4C123FH6PM , TM4C123GE6PM , TM4C123GE6PM , TM4C123GE6PZ , TM4C123GE6PZ , TM4C123GH6PGE , TM4C123GH6PGE , TM4C123GH6PM , TM4C123GH6PM , TM4C123GH6PZ , TM4C123GH6PZ , TM4C1290NCPDT , TM4C1290NCPDT , TM4C1290NCZAD , TM4C1290NCZAD , TM4C1292NCPDT , TM4C1292NCPDT , TM4C1292NCZAD , TM4C1292NCZAD , TM4C1294KCPDT , TM4C1294KCPDT , TM4C1294NCPDT , TM4C1294NCPDT , TM4C1294NCZAD , TM4C1294NCZAD , TM4C1297NCZAD , TM4C1297NCZAD , TM4C1299KCZAD , TM4C1299KCZAD , TM4C1299NCZAD , TM4C1299NCZAD , TM4C129CNCPDT , TM4C129CNCPDT , TM4C129CNCZAD , TM4C129CNCZAD , TM4C129DNCPDT , TM4C129DNCPDT , TM4C129DNCZAD , TM4C129DNCZAD , TM4C129EKCPDT , TM4C129EKCPDT , TM4C129ENCPDT , TM4C129ENCPDT , TM4C129ENCZAD , TM4C129ENCZAD , TM4C129LNCZAD , TM4C129LNCZAD , TM4C129XKCZAD , TM4C129XKCZAD , TM4C129XNCZAD , TM4C129XNCZAD

 

  1.   Trademarks
  2. 1Introduction
  3. 2Pulse Width Modulation (PWM) emulation of a DAC
  4. 3Audio Sampling Rate and Resolution Analysis
    1. 3.1 Using the PWM DAC Method
    2. 3.2 Using Off-Chip DAC
  5. 4Audio File Data Format
    1. 4.1 WAV File Size Calculation
    2. 4.2 Storing WAV Audio on Internal Flash
  6. 5Hardware Setup
    1. 5.1 BOOSTXL-AUDIO BoosterPack Overview
    2. 5.2 Hardware Setup for EK-TM4C1294XL
    3. 5.3 Hardware Setup for EK-TM4C123GXL
    4. 5.4 Hardware Setup for DK-TM4C129x Development Board
  7. 6Application Examples
    1. 6.1 Examples: audio_playback_internal_wavefile_by_PWM_EKTM4C129 and audio_playback_internal_wavefile_by_SPIDAC_EKTM4C129
    2. 6.2 Examples: audio_playback_internal_wavefile_by_PWM_EKTM4C123 and audio_playback_internal_wavefile_by_SPIDAC_EKTM4C123
    3. 6.3 Examples: audio_playback_internal_wavefile_by_PWM and audio_playback_internal_wavefile_by_SPIDAC
    4. 6.4 Examples: audio_playback_with_sdcard_by_PWM and audio_playback_with_sdcard_by_SPIDAC
  8. 7Download and Import the Examples
  9. 8References

Storing WAV Audio on Internal Flash

For short audio clips, the WAV data can be stored on the internal flash memory. This is actually the fastest way with least amount of latency to play the audio. In order to store digital audio on the internal flash memory, what is needed is a tool that can convert a WAV file into a C array in the header file that can be included during compile time. Bin2c is a open source, command line PC tool to create C files from binary files. To bin2c, WAV is nothing but some binary data. Therefore, bin2c does not need to understand or decode the WAV data. After the conversion, the contents of external files can be embedded to a C or C++ program. From there, the application running on the MCU is responsible for decoding the WAV format.