class Demo(Animation): def __init__(self): self.scenes = [ [1700, None], [1400, self.ending], [820, self.main], [320, self.pitched], [0, self.intro], ] super().__init__(yaml.load(p)) def setAudio(self, audio): self.audio = audio self.spectre = SpectroGram(audio.audio_frame_size) self.low_mod = AudioMod((15, 100), "avg", decay=5) self.mid_mod = AudioMod((0, 240), "avg") self.hgh_mod = AudioMod((250, 418), "max") def updateAudio(self, audio_buf): self.spectre.transform(audio_buf) self.low = self.low_mod.update(self.spectre) self.mid = self.mid_mod.update(self.spectre) self.hgh = self.hgh_mod.update(self.spectre) def ending(self, frame): if self.scene_init: self.log_mod = self.logspace(1, 0.1) self.params["radius"] -= self.params["radius"] / 23 * \ self.log_mod[self.scene_pos] self.params["c_imag"] += 0.05 * self.log_mod[self.scene_pos] def main(self, frame): self.params["c_real"] -= 1e-2 * self.hgh self.params["c_imag"] -= 1e-1 * self.mid self.params["grad_freq"] += 1e-3 * self.low self.params["radius"] += self.params["radius"] / 20 * self.mid def pitched(self, frame): self.params["c_imag"] -= 5e-2 * self.hgh self.params["radius"] += self.params["radius"] / 20 * self.mid self.params["grad_freq"] += 1e-3 * self.low def intro(self, frame): self.params["c_imag"] -= 1e-1 * self.hgh self.params["c_real"] += 1e-2 * self.mid self.params["grad_freq"] += 1e-3 * self.low
class Demo(Animation): def __init__(self): self.scenes = [ [1500, None], [1263, self.ending], [0, self.main], ] super().__init__(yaml.load(p)) def setAudio(self, audio): self.audio = audio self.spectre = SpectroGram(audio.audio_frame_size) self.hgh_mod = AudioMod((400, audio.audio_frame_size // 2), "max") self.mid_mod = AudioMod((134, 365), "avg") self.low_mod = AudioMod((4, 16), "mean") def updateAudio(self, audio_buf): self.spectre.transform(audio_buf) self.hgh = self.mid_mod.update(self.spectre) self.mid = self.mid_mod.update(self.spectre) self.low = self.low_mod.update(self.spectre) def ending(self, frame): self.params["grad_freq"] -= 0.01 self.params["max_iter"] += 0.5 self.params["c_real"] -= 0.1 self.params["c_imag"] -= 0.1 self.params["radius"] += 0.04 def main(self, frame): if self.scene_init: self.center_c = self.get_c() self.angle = 0 self.radius = 1 self.params["radius"] = 0.1 self.base_freq = self.params["grad_freq"] self.params["grad_freq"] = self.base_freq + 100 * self.mid self.params["radius"] += 0.001 self.angle = self.angle + 8 * self.hgh self.radius = 6 * self.low m = cmath.rect(self.radius, math.radians(self.angle)) new_c = self.center_c + m self.set_c(new_c)
class Demo(Animation): def __init__(self): self.scenes = [ [3000, None], [2790, self.ending], [320, self.main], [0, self.intro], ] super().__init__(yaml.load(p)) def setAudio(self, audio): self.audio = audio self.spectre = SpectroGram(audio.audio_frame_size) self.low_mod = AudioMod((0, 98), "max") self.mid_mod = AudioMod((100, 240), "max") self.hgh_mod = AudioMod((495, 560), "max") def updateAudio(self, audio_buf): self.spectre.transform(audio_buf) self.low = self.low_mod.update(self.spectre) self.mid = self.mid_mod.update(self.spectre) self.hgh = self.hgh_mod.update(self.spectre) def ending(self, frame): if self.scene_init: self.rad_mod = self.logspace(self.params["radius"], 169) self.creal_mod = self.linspace(self.params["center_real"] + 40, 0 + 40) self.cimag_mod = self.linspace(self.params["center_imag"] + 40, 0 + 40) self.params["center_real"] = self.creal_mod[self.scene_pos] - 40 self.params["center_imag"] = self.cimag_mod[self.scene_pos] - 40 self.params["radius"] = self.rad_mod[self.scene_pos] # self.params["mod"] -= 6e-4 self.params["grad_freq"] += grad_mod / 6 # self.params["c_real"] += 1e-4 def main(self, frame): if self.scene_init: self.creal_mod = self.linspace(self.params["center_real"] + 40, 17.276334090196123 + 40) self.cimag_mod = self.linspace(self.params["center_imag"] + 40, -2 + 40) self.rad_mod = self.logspace(self.params["radius"], 12) self.params["radius"] = self.rad_mod[self.scene_pos] self.params["center_real"] = self.creal_mod[self.scene_pos] - 40 self.params["center_imag"] = self.cimag_mod[self.scene_pos] - 40 self.params["c_imag"] -= 1e-4 * self.low if frame > 720: self.params["mod"] -= 2e-4 * self.mid if frame > 2400: self.params["c_real"] += 1e-4 * self.mid self.params["grad_freq"] += grad_mod * self.hgh def intro(self, frame): if self.scene_init: self.rad_mod = self.logspace(self.params["radius"], 7.42) self.params["radius"] = self.rad_mod[frame] self.params["c_imag"] -= 3e-4 * self.low self.params["grad_freq"] += grad_mod * self.hgh
class Demo(Animation): def __init__(self): self.scenes = [ [5600, None], [4350, self.ending], [2550, self.main], [2025, self.tr], [1125, self.low_change], [0, self.intro], ] super().__init__(yaml.load(p)) def setAudio(self, audio): self.audio = audio self.spectre = SpectroGram(audio.audio_frame_size) self.hgh_mod = AudioMod((150, audio.audio_frame_size // 2), "avg") self.mid_mod = AudioMod((151, 530), "max", threshold=0.4) self.low_mod = AudioMod((4, 10), "mean") def updateAudio(self, audio_buf): self.spectre.transform(audio_buf) self.hgh = self.hgh_mod.update(self.spectre) self.mid = self.mid_mod.update(self.spectre) self.low = self.low_mod.update(self.spectre) self.params["grad_freq"] -= 0.002 # self.params["grad_freq"] = max(23, 32 - 100 * self.hgh) # self.params["max_iter"] = 600 + 1000 * self.hgh def ending(self, frame): if self.scene_init: self.rad_mod = self.linspace(self.params["radius"], 1.59) self.params["radius"] = self.rad_mod[self.scene_pos] self.params["c_imag"] += 0.5 * self.mid self.params["c_real"] += 0.1 * self.low def main(self, frame): if self.scene_init: self.rad_mod = self.linspace(self.params["radius"], 7.17) self.center_c = self.get_c() self.angle = 0 self.radius = 2 self.idir = 1 self.params["radius"] = self.rad_mod[self.scene_pos] self.angle = self.angle + 4 * self.low self.center_c += 0.25j * self.mid * self.idir if self.center_c.imag > 10: self.idir = -1 if self.center_c.imag < -10: self.idir = 1 self.radius = 2 * 10 * self.hgh m = cmath.rect(self.radius, math.radians(self.angle)) new_c = self.center_c + m self.set_c(new_c) def tr(self, frame): if self.scene_init: self.rad_mod = self.linspace(self.params["radius"], 4.59) self.params["radius"] = self.rad_mod[self.scene_pos] self.params["c_real"] += 0.2 * self.mid self.params["c_imag"] -= 0.3 * self.low def low_change(self, frame): if self.scene_init: self.rad_mod = self.linspace(self.params["radius"], 4.59 * 2) self.params["radius"] = self.rad_mod[self.scene_pos] self.params["c_real"] -= 0.2 * self.mid self.params["c_imag"] -= 0.3 * self.low ... def intro(self, frame): if self.scene_init: self.rad_mod = self.linspace(self.params["radius"], 4.59) self.params["radius"] = self.rad_mod[self.scene_pos] self.params["c_imag"] += 0.5 * self.mid self.params["c_real"] += 0.1 * self.low