class_docstr: Logarithmic scaled spectrogram (level vs. frequency vs. time).
  
  Adds pixels iteratively thanks to the adapter providing
  fixed size frame buffers.
class_docstr_tok: ["Logarithmic","scaled","spectrogram","(","level","vs.","frequency","vs.","time",")",".","Adds","pixels","iteratively","thanks","to","the","adapter","providing","fixed","size","frame","buffers","."]
code: def __init__(
      self,
      width=4096,
      height=256,
      bg_color=(0, 0, 0),
      color_scheme="default",
  ):
      super(SpectrogramLog, self).__init__(
          width, height, bg_color, color_scheme
      )
      self.lower_freq = 100
      self.colors = default_color_schemes[color_scheme]["spectrogram"]
      self.pixels = []
      self.y_to_bin = []
  
file_path: TimeSide/timeside/plugins/grapher/spectrogram_log.py
imports: from timeside.core import implements, interfacedoc
  from timeside.core.api import IGrapher
  from timeside.core.grapher import Grapher, Image
  from timeside.plugins.grapher.color_schemes import default_color_schemes
  from .utils import interpolate_colors
  import math
label_desc: Use image node_id 1 to create a new SpectrogramLog object from inherited base classes: Grapher with example: obj = SpectrogramLog(width, height, bg_color, color_scheme)