ZHCU994A May 2019 – June 2021
可以使用由 Matlab 控制的 AC-MB 驱动器,同时允许进行一些自动测试。下面的代码演示了如何使用 Matlab 从 AC-MB 捕获音频。此示例需要使用 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);