SBAU474 December   2024

 

  1.   1
  2. 1 Description
  3. 2 Features
  4.   4
  5. 3 Trademarks
  6. 4 Evaluation Module Overview
    1. 4.1 Introduction
    2. 4.2 Kit Contents
    3. 4.3 Specifications
    4. 4.4 Device Information
  7. 5 Hardware Overview
    1. 5.1 AC-MB Settings
      1. 5.1.1 Audio Serial Interface Settings
        1. 5.1.1.1 USB
        2. 5.1.1.2 AC-MB USB Audio Setting
        3. 5.1.1.3 Optical or Auxilary Analog Audio Input
        4. 5.1.1.4 External
      2. 5.1.2 AC-MB Power Supply
    2. 5.2 TAA3040EVM-PDK Hardware Settings
      1. 5.2.1 Line Inputs
      2. 5.2.2 Onboard Microphone Input
  8. 6 Software Overview
    1. 6.1 PurePath Console 3 Installation
    2. 6.2 TAA3040EVM GUI Installation
      1. 6.2.1 Software Setup
  9. 7 Quick Start
    1. 7.1 Configuring the Audio Serial Bus for the I2S Output
    2. 7.2 Ready for Use
    3. 7.3 Saving a Configuration
  10. 8 System Overview
  11. 9 Schematic and Bill of Materials
    1. 9.1 TAA3040EVM-K Schematic and Bill of Materials
      1. 9.1.1 ADCx140EVM-PDK Schematic
      2. 9.1.2 TAA3040EVM-K Bill of Materials
    2. 9.2 AC-MB Schematic and Bill of Materials
      1. 9.2.1 AC-MB Schematic
      2. 9.2.2 AC-MB Bill of Materials
  12. 10Matlab Audio Capture Example

Matlab Audio Capture Example

The driver for the AC-MB may be controlled with Matlab, allowing for some automated testing. The following code demonstrates capturing audio from the AC-MB with Matlab. This example requires the Audio Toolbox™.

         if ismac % macOS driver 
 deviceReader = audioDeviceReader( 'Device', 'TI USB Audio 2.0',… 
 'SampleRate', 48000, … 
 'NumChannels', 8 ,…
'BitDepth', '32-bit float',… 
'OutputDataType','double'); 
 elseif ispc % windows driver
 devoiceReader = audioDeviceReader( 'Driver','ASIO', 'Device', 'Texas Instruments USB Audio ...',…
 'SampleRate', 48000, … 
 'NumChannels', 8 ,… 
 'BitDepth', '32-bit float',… 
 'OutputDataType','double’);
end
setup(deviceReader);% Setup the device reader
% Play out a file through PC and capture in the EVM
info = audioinfo( infile_name );% Read audiophile infile_name
fileReader = dsp.AudioFileReader( infile_name );% Create fileReader object
fileInfo   = audioinfo(infile_name);% Copy info from infile_name
fileWriter = dsp.AudioFileWriter( outfile_name, 'SampleRate', deviceReader.SampleRate, 'DataType', 'int32’);% Create fileWriter object
audioOut = audioDeviceWriter('SampleRate', fileInfo.SampleRate);% Setup audio playback
setup( audioOut, zeros(deviceReader.SamplesPerFrame, fileInfo.NumChannels) );
while ~isDone(fileReader)% For each block played out, record the block from EVM
audioToPlay = fileReader();% Read a chunk of audio from infile_name
audioOut(audioToPlay);% Play a chance of audio
[audioRead, numOverrun] = deviceReader();% Grab a chunk of audio from EVM
fileWriter(audioRead);% Write the chunk of audio from EVM to a file
end
release(audioOut);% Close all objects
release(fileReader);
release(fileWriter);
release(deviceReader);