class_docstr: Audio segment abstraction.
  :param samples: Audio samples [num_samples x num_channels].
  :type samples: ndarray.float32
  :param sample_rate: Audio sample rate.
  :type sample_rate: int
  :raises TypeError: If the sample data type is not float or int.
docstr: Function wrapper for `from_file` method. Load a list of files from `audio_file_list`.
  The length of each audio file is unified with the duration item in the input manifest file.
  See `from_file` method for arguments.
  
  If a list of files is provided, load samples from individual single-channel files and
  concatenate them along the channel dimension.
docstr_tok: ["Function","wrapper","for","`","from_file","`","method",".","Load","a","list","of","files","from","`","audio_file_list","`",".","The","length","of","each","audio","file","is","unified","with","the","duration","item","in","the","input","manifest","file",".","See","`","from_file","`","method","for","arguments",".","If","a","list","of","files","is","provided",",","load","samples","from","individual","single-channel","files","and","concatenate","them","along","the","channel","dimension","."]
code: def from_file_list(
      cls,
      audio_file_list,
      target_sr=None,
      int_values=False,
      offset=0,
      duration=0,
      trim=False,
      channel_selector=None,
      *args,
      **kwargs,
  ):
      """
      Function wrapper for `from_file` method. Load a list of files from `audio_file_list`.
      The length of each audio file is unified with the duration item in the input manifest file.
      See `from_file` method for arguments.
  
      If a list of files is provided, load samples from individual single-channel files and
      concatenate them along the channel dimension.
      """
      if isinstance(channel_selector, int):
          # Shortcut when selecting a single channel
          if channel_selector >= len(audio_file_list):
              raise RuntimeError(
                  f"Channel cannot be selected: channel_selector={channel_selector}, num_audio_files={len(audio_file_list)}"
              )
          # Select only a single file
          audio_file_list = [audio_file_list[channel_selector]]
          # Reset the channel selector since we applied it here
          channel_selector = None
  
      samples = None
  
      for a_file in audio_file_list:
          # Load audio from the current file
          a_segment = cls.from_file(
              a_file,
              target_sr=target_sr,
              int_values=int_values,
              offset=offset,
              duration=duration,
              channel_selector=None,
              trim=False,  # Do not apply trim to individual files, it will be applied to the concatenated signal
              *args,
              **kwargs,
          )
  
          # Only single-channel individual files are supported for now
          if a_segment.num_channels != 1:
              raise RuntimeError(
                  f"Expecting a single-channel audio signal, but loaded {a_segment.num_channels} channels from file {a_file}"
              )
  
          if target_sr is None:
              # All files need to be loaded with the same sample rate
              target_sr = a_segment.sample_rate
  
          # Concatenate samples
          a_samples = a_segment.samples[:, None]
  
          if samples is None:
              samples = a_samples
          else:
              # Check the dimensions match
              if len(a_samples) != len(samples):
                  raise RuntimeError(
                      f"Loaded samples need to have identical length: {a_samples.shape} != {samples.shape}"
                  )
  
              # Concatenate along channel dimension
              samples = np.concatenate([samples, a_samples], axis=1)
  
      # Final setup for class initialization
      samples = np.squeeze(samples)
      sample_rate = target_sr
  
      return cls(
          samples,
          sample_rate,
          target_sr=target_sr,
          trim=trim,
          channel_selector=channel_selector,
          *args,
          **kwargs,
      )
  
imports: import math
  import os
  import random
  from typing import Optional
  import librosa
  import numpy
  import soundfile
  from nemo.collections.asr.parts.utils.audio_utils import select_channels
  from nemo.utils import logging
label_desc: Use image node_id 7 for calling the AudioSegment obj's underlying member method code with example usage: obj.from_file_list(cls, audio_file_list, target_sr, int_values, offset, duration, trim, channel_selector) and returns: cls