Beispiel #1
0
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
Beispiel #2
0
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)
Beispiel #3
0
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
Beispiel #4
0
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