>>> grapher = timeside.grapher.Waveform('image.png')
>>> encoder = timeside.encoder.WavEncoder('normalized.wav')
>>> (decoder | grapher | encoder).run()
+>>> grapher.render()
See the website for more examples and information about the TimeSide API:
Adds pixels iteratively thanks to the adapter providing fixed size frame buffers.
Peaks are colored relative to the spectral centroids of each frame packet. """
- def __init__(self, image_width, image_height, nframes, samplerate, fft_size, bg_color=(0,0,0), color_scheme=None, filename=None):
+ def __init__(self, image_width, image_height, nframes, samplerate, fft_size, bg_color, color_scheme, filename=None):
self.image_width = image_width
self.image_height = image_height
self.nframes = nframes
if isinstance(color_scheme, dict):
colors = color_scheme['waveform']
- elif color_scheme:
- colors = default_color_schemes[self.color_scheme]['waveform']
else:
- colors = default_color_schemes['default']['waveform']
+ colors = default_color_schemes[color_scheme]['waveform']
self.color_lookup = interpolate_colors(colors)
from timeside.core import Processor, implements, interfacedoc, FixedSizeInputAdapter
from timeside.api import IGrapher
-from timeside.grapher import *
+from timeside.grapher.core import *
class Waveform(Processor):
FFT_SIZE = 0x400
@interfacedoc
- def __init__(self, width=None, height=None, output=None, bg_color=None, color_scheme=None):
- if width:
- self.width = width
- else:
- self.width = 1024
- if height:
- self.height = height
- else:
- self.height = 256
+ def __init__(self, width=1024, height=256, output=None, bg_color=(0,0,0), color_scheme='default'):
+ self.width = width
+ self.height = height
self.bg_color = bg_color
self.color_scheme = color_scheme
self.filename = output