class_docstr: Creates an audio component that can be used to upload/record audio (as an input) or display audio (as an output).
  Preprocessing: passes the uploaded audio as a {Tuple(int, numpy.array)} corresponding to (sample rate in Hz, audio data as a 16-bit int array whose values range from -32768 to 32767), or as a {str} filepath, depending on `type`.
  Postprocessing: expects a {Tuple(int, numpy.array)} corresponding to (sample rate in Hz, audio data as a float or int numpy array) or as a {str} or {pathlib.Path} filepath or URL to an audio file, or bytes for binary content (recommended for streaming). Note: When converting audio data from float format to WAV, the audio is normalized by its peak value to avoid distortion or clipping in the resulting audio.
  Examples-format: a {str} filepath to a local file that contains audio.
  Demos: main_note, generate_tone, reverse_audio
  Guides: real-time-speech-recognition
code: def stream_output(
      self, value, output_id: str, first_chunk: bool
  ) -> tuple[bytes | None, Any]:
      output_file = {
          "path": output_id,
          "is_stream": True,
      }
      if value is None:
          return None, output_file
      if isinstance(value, bytes):
          return value, output_file
      if client_utils.is_http_url_like(value["path"]):
          response = httpx.get(value["path"])
          binary_data = response.content
      else:
          output_file["orig_name"] = value["orig_name"]
          file_path = value["path"]
          is_wav = file_path.endswith(".wav")
          with open(file_path, "rb") as f:
              binary_data = f.read()
          if is_wav:
              # strip length information from first chunk header, remove headers entirely from subsequent chunks
              if first_chunk:
                  binary_data = (
                      binary_data[:4]
                      + b"\xFF\xFF\xFF\xFF"
                      + binary_data[8:]
                  )
                  binary_data = (
                      binary_data[:40]
                      + b"\xFF\xFF\xFF\xFF"
                      + binary_data[44:]
                  )
              else:
                  binary_data = binary_data[44:]
      return binary_data, output_file
  
imports: from __future__ import annotations
  import dataclasses
  from pathlib import Path
  from typing import Any, Callable, Literal
  import httpx
  import numpy
  from gradio_client import utils
  from gradio_client.documentation import document, set_documentation_group
  from gradio import processing_utils, utils
  from gradio.components.base import Component, StreamingInput, StreamingOutput
  from gradio.data_classes import FileData
  from gradio.events import Events
  from gradio.exceptions import Error
label_desc: Use image node_id 5 for calling the Audio obj's underlying member method code with example usage: obj.stream_output(value, output_id, first_chunk) and returns: binary_data,  output_file, None,  output_file, value,  output_file