I2C SPI USB CAN eSPI Cable Testing View All Quick Start Guides User Manuals Software Downloads Knowledge Base Videos Case Studies App Notes White Papers Sales Support How to Order
Products Blog Sales Support Contact Search

Extracting Audio Data from a Data Center Software USB Trace

Using the Beagle USB 480 Protocol Analyzer or Beagle USB 480 Power Protocol Analyzer with Data Center Software and a third party digital audio editor, such as Audacity, developers can capture, isolate, and analyze USB audio data from a USB trace to measure audio signal quality. This can be accomplished by exporting USB audio data files from the Data Center Software trace between USB devices like a USB type headset/earphone and an audio player such as a mobile phone. By converting the .tdc file into to a .wav file using third party software, users can essentially extract audio files from this trace. The steps below demonstrate this process, using Audacity as an example:

Capture Setup Recommendations

For best results, start the capture before connecting the USB audio device. This ensures that USB enumeration and endpoint configuration traffic are included in the trace. After the device has been successfully enumerated, begin audio playback to capture the USB audio stream.

To simplify audio analysis and filtering, configure the Data Center Software using Sequential Capture Mode and disable data-less USB 2.0 sequences. This reduces unnecessary protocol traffic and makes the audio payload data easier to isolate during later analysis.

Step 1: Capture USB Audio Traffic

Capture the USB audio data using Data Center Software. In the example below, audio is played on the headset from a PC, so the OUT transactions contain the raw audio data.

 

For easier validation during analysis, consider using a known audio stimulus pattern such as repeated tones, pulses, or short repeating sequences. Controlled test patterns can simplify waveform verification after exporting the USB audio payload data by confirming that the captured data contains exactly what you expect it to.

Step 2: Filter Out Non-Audio Traffic

To filter our non-audio traffic, in the LiveFilter pane, uncheck SOFs/Keep-Alives and NAKs to remove unnecessary traffic and display only the OUT transactions containing the USB audio data.

 

Insufficient filtering can be a common cause of corrupted or unrecognizable data in the exported binary (.bin) file. Including unrelated endpoint traffic or protocol-management packets in the export can alter the reconstructed waveform and produce invalid audio data.

To isolate the endpoint carrying the audio data payload, right click on any OUT transaction that you see that has data. Select “Quick Filters” → “Show Only Endpoint”. This will filter out most unneeded data.

Step 3: Remove Remaining Enumeration and Disconnect Traffic 

Even after applying the “Show Only Endpoint” filter in Step 2, some non-audio transactions will still appear at the very beginning and end of the trace due to USB enumeration traffic at the start and device disconnection activity at the end.

To remove this; 

  • Right click on the top-most OUT transaction and select:
  • “Quick Filters” → “Exclude Indices Before”.
  • Next, right click on the last OUT transaction and select:
  • “Quick Filters” → “Exclude Indices After

This process isolates only the USB audio payload transactions needed for export.

 

 

Step 4: Display Only the Data Column 

Before exporting the trace as a binary (.bin) file, right click on the top-most row, and deselect all columns except "DATA" column.

 

 

After all steps applied, the trace should look like the example below:

 

 

Additional USB transaction information is not part of the raw audio payload stream, so if it is included in the export, it may corrupt the number of pulses recorded.

Step 5: Export the Audio Payload Data 

  • Select “File” → “Export”
  • Choose .bin as the file type
  • Click “Save”

When the Export Settings dialog pops up, make sure “Export Only Visible Records” and “Mirror Column Layout” are disabled.

 

 

If “Export Only Visible Records” and “Mirror Column Layout” are checked, only the rows and columns visible on the screen will be recorded in the export. This could explain why a file appears truncated or shorter than expected during exporting even if Steps 1-4 have been followed correctly. “Mirror Column Layout” should be grayed out and automatically disabled when exporting a .bin file, but “Export Only Visible Records” will need to be manually disabled.

Step 6: Import the Binary File into Audacity

In Audacity, import the .bin file as Raw Audio by selecting:

  • (File → Import → Raw Data)

The import dialog will prompt you to specify the encoding scheme, byte order, channel configuration, bit depth, and sample rate.

When importing the .bin file as raw audio data, the selected PCM format settings in Audacity must match the original USB audio stream configuration. Incorrect Audacity settings may produce distorted waveforms or incorrect amplitude scaling.

To verify the encoding settings in the file, use Audacity’s “Detect” feature, instead of manually matching each parameter.

If the ‘Detect’ feature is not showing, check to make sure that the configuration file is not corrupted, as mentioned in Step 2.

 

 

If the imported waveform looks significantly different than your source audio, incorrect encoding parameters are the most likely cause. Specific things to look for include:

  • Amplitude lower than expected (waveform appearing at half or quarter of expected scale): This typically indicates a bit-depth mismatch. Using the “Detect” feature in Audacity should identify the correct encoding settings.
  • Distortion or modulation artifacts at the beginning or end of the signal: This may indicate remaining data in the trace that wasn’t fully trimmed in Step 3, or a sample rate mismatch.

Step 7: Verify and Export the Audio

Play the imported RAW audio in Audacity to verify it matches the original source. For more precise verification, compare the waveform of the imported .bin file visually against the original .wav file in Audacity. The shape, amplitude, and timing of the two waveforms should closely match.

For the most reliable verification, use a short .wav file containing a small number of samples at specific known values before testing with complex audio. If those exact values appear correctly in the imported data, you can be confident the filtering, export, and import settings are all correct.

Once verified, select:

  • File → Export → Export as .wav, and save.

Related Products