class_docstr: An AudioAdapter implementation that use FFMPEG binary through
  subprocess in order to perform I/O operation for audio processing.
  
  When created, FFMPEG binary path will be checked and expended,
  raising exception if not found. Such path could be infered using
  `FFMPEG_PATH` environment variable.
class_docstr_tok: ["An","AudioAdapter","implementation","that","use","FFMPEG","binary","through","subprocess","in","order","to","perform","I\/O","operation","for","audio","processing",".","When","created",",","FFMPEG","binary","path","will","be","checked","and","expended",",","raising","exception","if","not","found",".","Such","path","could","be","infered","using","`","FFMPEG_PATH","`","environment","variable","."]
docstr: Default constructor, ensure FFMPEG binaries are available.
  
  Raises:
      SpleeterError:
          If ffmpeg or ffprobe is not found.
docstr_tok: ["Default","constructor",",","ensure","FFMPEG","binaries","are","available",".","Raises",":","SpleeterError",":","If","ffmpeg","or","ffprobe","is","not","found","."]
code: def __init__(_) -> None:
      """
      Default constructor, ensure FFMPEG binaries are available.
  
      Raises:
          SpleeterError:
              If ffmpeg or ffprobe is not found.
      """
      for binary in ("ffmpeg", "ffprobe"):
          if shutil.which(binary) is None:
              raise SpleeterError("{} binary not found".format(binary))
  
file_path: spleeter/spleeter/audio/ffmpeg.py
imports: import datetime
  import os
  import shutil
  from pathlib import Path
  from typing import Dict, Optional, Union
  import ffmpeg
  import numpy
  from ..None import SpleeterError
  from ..types import Signal
  from ..utils.logging import logger
  from .None import Codec
  from .adapter import AudioAdapter
label_desc: Use image node_id 1 to create a new FFMPEGProcessAudioAdapter object from inherited base classes: AudioAdapter with example: obj = FFMPEGProcessAudioAdapter(_)