From 8403cabff20e2a3b94367ec674587f331539daad Mon Sep 17 00:00:00 2001 From: yomguy Date: Tue, 23 Feb 2010 16:31:41 +0000 Subject: [PATCH] - adapt graph core to the new api - WARNING, at the moment, the waveform peaks don't scale to the image width. Will be fixed later. - add a test : tests/api/test_pipe_waveform.py - rm tests/api/test_pipe2.py --- graph/core.py | 262 +++++++++++++++++--------------- tests/api/examples.py | 47 +++--- tests/api/test_pipe.py | 2 +- tests/api/test_pipe2.py | 39 ----- tests/api/test_pipe_waveform.py | 35 +++++ tests/samples/sweep_source.wav | Bin 638526 -> 638526 bytes 6 files changed, 201 insertions(+), 184 deletions(-) delete mode 100644 tests/api/test_pipe2.py create mode 100644 tests/api/test_pipe_waveform.py diff --git a/graph/core.py b/graph/core.py index 75976d8..44b4c3b 100644 --- a/graph/core.py +++ b/graph/core.py @@ -20,7 +20,7 @@ # # Authors: # Bram de Jong -# Guillaume Pellerin +# Guillaume Pellerin import optparse, math, sys @@ -50,7 +50,8 @@ color_schemes = { class AudioProcessor(object): - def __init__(self, fft_size, channels, window_function=numpy.ones): + def __init__(self, buffer_size, fft_size, channels, nframes, samplerate, window_function=numpy.ones): + self.buffer_size = buffer_size self.fft_size = fft_size self.channels = channels self.window = window_function(self.fft_size) @@ -61,115 +62,107 @@ class AudioProcessor(object): self.higher_log = math.log10(self.higher) self.clip = lambda val, low, high: min(high, max(low, val)) self.q = Queue.Queue() + self.nframes = nframes + self.samplerate = samplerate + + def read(self, samples, start, size, resize_if_less=False): + """ read size samples starting at start, if resize_if_less is True and less than size + samples are read, resize the array to size and fill with zeros """ + + # number of zeros to add to start and end of the buffer + add_to_start = 0 + add_to_end = 0 + + if start < 0: + # the first FFT window starts centered around zero + if size + start <= 0: + if resize_if_less: + return numpy.zeros(size) + else: + return numpy.array([]) + else: + add_to_start = -start # remember: start is negative! + to_read = size + start + + if to_read > self.buffer_size: + add_to_end = to_read - self.buffer_size + to_read = self.buffer_size + else: + to_read = size + if start + to_read >= self.buffer_size: + to_read = self.buffer_size - start + add_to_end = size - to_read - def put(self, samples, eod): - """ Put frames of the first channel in the queue""" - - # convert to mono by selecting left channel only - if self.channels > 1: - samples = samples[:,0] + if resize_if_less and (add_to_start > 0 or add_to_end > 0): + if add_to_start > 0: + samples = numpy.concatenate((numpy.zeros(add_to_start), samples), axis=1) - if eod: - samples = numpy.concatenate((numpy.zeros(add_to_start), samples), axis=1) - if add_to_end > 0: samples = numpy.resize(samples, size) samples[size - add_to_end:] = 0 - - return samples + return samples - def spectral_centroid(self, samples, spec_range=120.0): + def spectral_centroid(self, samples, cursor, spec_range=120.0): """ starting at seek_point read fft_size samples, and calculate the spectral centroid """ - + + #print 'Buffer size = ', len(samples) + #samples = self.read(samples, cursor - self.fft_size/2, self.fft_size, True) + #print 'FFT Buffer size = ', len(samples) samples *= self.window fft = numpy.fft.fft(samples) spectrum = numpy.abs(fft[:fft.shape[0] / 2 + 1]) / float(self.fft_size) # normalized abs(FFT) between 0 and 1 length = numpy.float64(spectrum.shape[0]) - + # scale the db spectrum from [- spec_range db ... 0 db] > [0..1] db_spectrum = ((20*(numpy.log10(spectrum + 1e-30))).clip(-spec_range, 0.0) + spec_range)/spec_range - + energy = spectrum.sum() spectral_centroid = 0 - + if energy > 1e-20: # calculate the spectral centroid - - if not self.spectrum_range: + + if self.spectrum_range == None: self.spectrum_range = numpy.arange(length) - + spectral_centroid = (spectrum * self.spectrum_range).sum() / (energy * (length - 1)) * self.samplerate * 0.5 - + # clip > log10 > scale between 0 and 1 spectral_centroid = (math.log10(self.clip(spectral_centroid, self.lower, self.higher)) - self.lower_log) / (self.higher_log - self.lower_log) - + return (spectral_centroid, db_spectrum) - def peaks(self, start_seek, end_seek): + def peaks(self, samples): """ read all samples between start_seek and end_seek, then find the minimum and maximum peak in that range. Returns that pair in the order they were found. So if min was found first, it returns (min, max) else the other way around. """ - - # larger blocksizes are faster but take more mem... - # Aha, Watson, a clue, a tradeof! - block_size = 4096 - - max_index = -1 - max_value = -1 - min_index = -1 - min_value = 1 - - if end_seek > self.frames: - end_seek = self.frames - - if block_size > end_seek - start_seek: - block_size = end_seek - start_seek - - if block_size <= 1: - samples = self.read(start_seek, 1) - return samples[0], samples[0] - elif block_size == 2: - samples = self.read(start_seek, True) - return samples[0], samples[1] - - for i in range(start_seek, end_seek, block_size): - samples = self.read(i, block_size) - - local_max_index = numpy.argmax(samples) - local_max_value = samples[local_max_index] - - if local_max_value > max_value: - max_value = local_max_value - max_index = local_max_index - - local_min_index = numpy.argmin(samples) - local_min_value = samples[local_min_index] - - if local_min_value < min_value: - min_value = local_min_value - min_index = local_min_index + + max_index = numpy.argmax(samples) + max_value = samples[max_index] + + min_index = numpy.argmin(samples) + min_value = samples[min_index] if min_index < max_index: return (min_value, max_value) else: return (max_value, min_value) - def interpolate_colors(colors, flat=False, num_colors=256): """ given a list of colors, create a larger list of colors interpolating the first one. If flatten is True a list of numers will be returned. If False, a list of (r,g,b) tuples. num_colors is the number of colors wanted in the final list """ - + palette = [] - + for i in range(num_colors): index = (i * (len(colors) - 1))/(num_colors - 1.0) index_int = int(index) alpha = index - float(index_int) - + if alpha > 0: r = (1.0 - alpha) * colors[index_int][0] + alpha * colors[index_int + 1][0] g = (1.0 - alpha) * colors[index_int][1] + alpha * colors[index_int + 1][1] @@ -178,98 +171,129 @@ def interpolate_colors(colors, flat=False, num_colors=256): r = (1.0 - alpha) * colors[index_int][0] g = (1.0 - alpha) * colors[index_int][1] b = (1.0 - alpha) * colors[index_int][2] - + if flat: palette.extend((int(r), int(g), int(b))) else: palette.append((int(r), int(g), int(b))) - + return palette - + class WaveformImage(object): - - def __init__(self, image_width, image_height, nframes, bg_color=None, color_scheme=None, filename=None): + + def __init__(self, image_width, image_height, buffer_size, fft_size, nframes, nframes_adapter, + samplerate, channels, bg_color=None, color_scheme=None, filename=None): self.image_width = image_width self.image_height = image_height + self.fft_size = fft_size + self.buffer_size = buffer_size self.nframes = nframes + self.nframes_adapter = nframes_adapter + self.samplerate = samplerate + self.channels = channels + self.filename = filename + self.samples_per_pixel = self.nframes / float(self.image_width) + self.nbuffers = self.nframes / self.buffer_size + self.pixel_per_buffer = self.buffer_size / self.samples_per_pixel + #print 'pixels per buffer = ', self.pixel_per_buffer + #print 'nframes (orig) = ', self.nframes + #print 'nframes (adapter) = ', self.nframes_adapter + #print 'frames per pixel = ', self.samples_per_pixel + #print 'nbuffers = ', self.nbuffers + self.bg_color = bg_color if not bg_color: self.bg_color = (0,0,0) self.color_scheme = color_scheme - if not color_scheme: + if not color_scheme: self.color_scheme = 'default' - self.filename = filename - self.image = Image.new("RGB", (self.image_width, self.image_height), self.bg_color) - self.samples_per_pixel = self.nframes / float(self.image_width) - self.processor = AudioProcessor(self.fft_size, numpy.hanning) - self.draw = ImageDraw.Draw(self.image) - self.previous_x, self.previous_y = None, None colors = color_schemes[self.color_scheme]['waveform'] # this line gets the old "screaming" colors back... # colors = [self.color_from_value(value/29.0) for value in range(0,30)] self.color_lookup = interpolate_colors(colors) + self.image = Image.new("RGB", (self.image_width, self.image_height), self.bg_color) + self.processor = AudioProcessor(self.buffer_size, self.fft_size, self.channels, self.nframes, self.samplerate, numpy.hanning) + self.draw = ImageDraw.Draw(self.image) + self.previous_x, self.previous_y = None, None self.pixel = self.image.load() + self.frame_cursor = 0 + self.pixel_cursor = 0 def color_from_value(self, value): """ given a value between 0 and 1, return an (r,g,b) tuple """ - + return ImageColor.getrgb("hsl(%d,%d%%,%d%%)" % (int( (1.0 - value) * 360 ), 80, 50)) - + def draw_peaks(self, x, peaks, spectral_centroid): """ draw 2 peaks at x using the spectral_centroid for color """ y1 = self.image_height * 0.5 - peaks[0] * (self.image_height - 4) * 0.5 y2 = self.image_height * 0.5 - peaks[1] * (self.image_height - 4) * 0.5 - + line_color = self.color_lookup[int(spectral_centroid*255.0)] - + if self.previous_y != None: self.draw.line([self.previous_x, self.previous_y, x, y1, x, y2], line_color) else: self.draw.line([x, y1, x, y2], line_color) - + self.previous_x, self.previous_y = x, y2 - + self.draw_anti_aliased_pixels(x, y1, y2, line_color) - + def draw_anti_aliased_pixels(self, x, y1, y2, color): """ vertical anti-aliasing at y1 and y2 """ y_max = max(y1, y2) y_max_int = int(y_max) alpha = y_max - y_max_int - + if alpha > 0.0 and alpha < 1.0 and y_max_int + 1 < self.image_height: current_pix = self.pixel[x, y_max_int + 1] - + r = int((1-alpha)*current_pix[0] + alpha*color[0]) g = int((1-alpha)*current_pix[1] + alpha*color[1]) b = int((1-alpha)*current_pix[2] + alpha*color[2]) - + self.pixel[x, y_max_int + 1] = (r,g,b) - + y_min = min(y1, y2) y_min_int = int(y_min) alpha = 1.0 - (y_min - y_min_int) - + if alpha > 0.0 and alpha < 1.0 and y_min_int - 1 >= 0: current_pix = self.pixel[x, y_min_int - 1] - + r = int((1-alpha)*current_pix[0] + alpha*color[0]) g = int((1-alpha)*current_pix[1] + alpha*color[1]) b = int((1-alpha)*current_pix[2] + alpha*color[2]) - + self.pixel[x, y_min_int - 1] = (r,g,b) - - def process(self, frames): - #for x in range(self.image_width): - seek_point = int(x * self.samples_per_pixel) - next_seek_point = int((x + 1) * self.samples_per_pixel) - (spectral_centroid, db_spectrum) = self.processor.spectral_centroid(seek_point) - peaks = self.processor.peaks(seek_point, next_seek_point) - self.draw_peaks(x, peaks, spectral_centroid) + def process(self, frames, eod): + buffer = numpy.transpose(frames)[0].copy() + buffer_copy = buffer.copy() + + #if eod: + #buffer_size = self.nframes_adapter - self.nframes + #print buffer_size + #self.pixel_per_buffer = buffer_size / self.samples_per_pixel + #print self.pixel_per_buffer + ##buffer = buffer[0:buffer_size].copy() + + for x in range(int(self.pixel_per_buffer)): + # FIXME : the peaks don't scale to the image width beacause self.pixel_per_buffer is not an integer + # Will be fixed later... + frame_cursor = int(x * self.samples_per_pixel) + frame_next_cursor = int((x + 1) * self.samples_per_pixel) + buffer_copy_trim = buffer[frame_cursor:frame_next_cursor].copy() + peaks = self.processor.peaks(buffer_copy_trim) + (spectral_centroid, db_spectrum) = self.processor.spectral_centroid(buffer_copy, frame_cursor) + self.draw_peaks(self.pixel_cursor, peaks, spectral_centroid) + self.pixel_cursor += 1 + + #print self.pixel_cursor def save(self): a = 25 @@ -277,23 +301,23 @@ class WaveformImage(object): self.pixel[x, self.image_height/2] = tuple(map(lambda p: p+a, self.pixel[x, self.image_height/2])) self.image.save(self.filename) - + class SpectrogramImage(object): def __init__(self, image_width, image_height, fft_size, bg_color = None, color_scheme = None): #FIXME: bg_color is ignored - if not color_scheme: + if not color_scheme: color_scheme = 'default' self.image = Image.new("P", (image_height, image_width)) - + self.image_width = image_width self.image_height = image_height self.fft_size = fft_size - + colors = color_schemes[color_scheme]['spectrogram'] - + self.image.putpalette(interpolate_colors(colors, True)) # generate the lookup which translates y-coordinate to fft-bin @@ -308,18 +332,18 @@ class SpectrogramImage(object): if bin < self.fft_size/2: alpha = bin - int(bin) - + self.y_to_bin.append((int(bin), alpha * 255)) - + # this is a bit strange, but using image.load()[x,y] = ... is # a lot slower than using image.putadata and then rotating the image # so we store all the pixels in an array and then create the image when saving self.pixels = [] - + def draw_spectrum(self, x, spectrum): for (index, alpha) in self.y_to_bin: self.pixels.append( int( ((255.0-alpha) * spectrum[index] + alpha * spectrum[index + 1] )) ) - + for y in range(len(self.y_to_bin), self.image_height): self.pixels.append(0) @@ -334,22 +358,22 @@ def create_spectrogram_png(input_filename, output_filename_s, image_width, image samples_per_pixel = audio_file.get_nframes() / float(image_width) processor = AudioProcessor(audio_file, fft_size, numpy.hanning) - + spectrogram = SpectrogramImage(image_width, image_height, fft_size, bg_color, color_scheme) - + for x in range(image_width): - + if x % (image_width/10) == 0: sys.stdout.write('.') sys.stdout.flush() - + seek_point = int(x * samples_per_pixel) - next_seek_point = int((x + 1) * samples_per_pixel) - (spectral_centroid, db_spectrum) = processor.spectral_centroid(seek_point) + next_seek_point = int((x + 1) * samples_per_pixel) + (spectral_centroid, db_spectrum) = processor.spectral_centroid(seek_point) spectrogram.draw_spectrum(x, db_spectrum) - + spectrogram.save(output_filename_s) - + print " done" @@ -385,5 +409,5 @@ class Noise(object): else: will_read = frames_to_read self.seekpoint += will_read - return numpy.random.random(will_read)*2 - 1 + return numpy.random.random(will_read)*2 - 1 diff --git a/tests/api/examples.py b/tests/api/examples.py index 06accf0..8b63ec9 100644 --- a/tests/api/examples.py +++ b/tests/api/examples.py @@ -92,7 +92,7 @@ class FileDecoder(Processor): eod = (toread < buffersize) self.position += toread - # audiolab returns a 1D array for 1 channel, need to reshape to 2D: + # audiolab returns a 1D array for 1 channel, need to reshape to 2D: if frames.ndim == 1: frames = frames.reshape(len(frames), 1) @@ -210,11 +210,11 @@ class WavEncoder(Processor): class Waveform(Processor): implements(IGrapher) + BUFFER_SIZE = 1024 + FFT_SIZE = 1024 + @interfacedoc - def __init__(self, width, height, nframes, output=None): - self.nframes = nframes - self.filename = output - self.image = None + def __init__(self, width=None, height=None, output=None): if width: self.width = width else: @@ -223,12 +223,10 @@ class Waveform(Processor): self.height = height else: self.height = 200 - #if isinstance(output, basestring): - #self.filename = output - #else: - #raise Exception("Streaming not supported") self.bg_color = None self.color_scheme = None + self.filename = output + self.graph = None @staticmethod @interfacedoc @@ -248,26 +246,25 @@ class Waveform(Processor): @interfacedoc def setup(self, channels=None, samplerate=None, nframes=None): super(Waveform, self).setup(channels, samplerate, nframes) - if self.image: - self.image.close() - self.image = WaveformImage(self.width, self.height, self.nframes) + if self.graph: + self.graph = None + self.adapter = FixedSizeInputAdapter(self.BUFFER_SIZE, channels, pad=True) + self.graph = WaveformImage(self.width, self.height, self.BUFFER_SIZE, self.FFT_SIZE, + self.nframes(), self.adapter.nframes(self.input_nframes), + self.samplerate(), self.channels(), filename=self.filename) @interfacedoc def process(self, frames, eod=False): - pass - #self.image.process(frames) - #if eod: - #self.image.close() - #self.image = None - #return frames, eod + for buffer, end in self.adapter.process(frames, eod): + self.graph.process(buffer, end) + return frames, eod @interfacedoc def render(self): - pass - #self.image.process() - #if self.filename: - #self.image.save() - #return self.image + if self.filename: + self.graph.save() + return self.graph.image + class Duration(Processor): """A rather useless duration analyzer. Its only purpose is to test the @@ -323,9 +320,9 @@ class FixedInputProcessor(Processor): if len(buffer) != self.BUFFER_SIZE: raise Exception("Bad buffer size from adapter") - return frames, eod + return frames, eod + - diff --git a/tests/api/test_pipe.py b/tests/api/test_pipe.py index 588485f..2d07fe4 100644 --- a/tests/api/test_pipe.py +++ b/tests/api/test_pipe.py @@ -4,7 +4,7 @@ from timeside.core import * from timeside.api import * from sys import stdout -use_gst = 0 +use_gst = 1 if use_gst: from timeside.tests.api.gstreamer import FileDecoder, WavEncoder else: diff --git a/tests/api/test_pipe2.py b/tests/api/test_pipe2.py deleted file mode 100644 index 277d6b8..0000000 --- a/tests/api/test_pipe2.py +++ /dev/null @@ -1,39 +0,0 @@ -from timeside.tests.api import examples -from timeside.core import * -from timeside.api import * -from sys import stdout - -use_gst = 0 -if use_gst: - from timeside.tests.api.gstreamer import FileDecoder, WavEncoder -else: - from timeside.tests.api.examples import FileDecoder, WavEncoder - -import os.path -source = os.path.join (os.path.dirname(__file__), "../samples/guitar.wav") - -print "Normalizing %s" % source -decoder = FileDecoder(source) -maxlevel = examples.MaxLevel() -waveform = examples.Waveform(1024, 256, 'waveform.png') -#waveform.set_colors((0xFF, 0xFF, 0xFF), 'iso') - -(decoder | maxlevel | waveform).run() - -gain = 1 -if maxlevel.result() > 0: - gain = 0.9 / maxlevel.result() - -print "input maxlevel: %f" % maxlevel.result() -print "gain: %f" % gain - -gain = examples.Gain(gain) -encoder = WavEncoder("normalized.wav") - -subpipe = gain | maxlevel - -(decoder | subpipe | encoder).run() - -print "output maxlevel: %f" % maxlevel.result() - - diff --git a/tests/api/test_pipe_waveform.py b/tests/api/test_pipe_waveform.py new file mode 100644 index 0000000..a07c4a8 --- /dev/null +++ b/tests/api/test_pipe_waveform.py @@ -0,0 +1,35 @@ +# -*- coding: utf-8 -*- +from timeside.tests.api import examples +from timeside.core import * +from timeside.api import * +from sys import stdout + +import os.path +source = os.path.join(os.path.dirname(__file__), "../samples/sweep_source.wav") +waveform_image = './waveform.png' + +print "Normalizing %s" % source +decoder = examples.FileDecoder(source) +maxlevel = examples.MaxLevel() +waveform = examples.Waveform(width=936, height=200, output=waveform_image) + +(decoder | maxlevel).run() + +gain = 1 +if maxlevel.result() > 0: + gain = 0.99 / maxlevel.result() + +print "input maxlevel: %f" % maxlevel.result() +print "gain: %f" % gain + +gain = examples.Gain(gain) +subpipe = gain | maxlevel + +(decoder | subpipe | waveform).run() + +print "render waveform to: %s" % waveform_image +waveform.render() + +print "output maxlevel: %f" % maxlevel.result() + + diff --git a/tests/samples/sweep_source.wav b/tests/samples/sweep_source.wav index 9c2febe600c2a5bdb3304c5616804e906452301a..53130c6a210759b4aeffe3702d174f169c251597 100644 GIT binary patch delta 52962 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 sIy=k+o7a(s8q7RaI5hTD4YHt*TX3P1Uwm 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 -- 2.39.5