import math from ..soundnode import SoundNode class TriangleNode(SoundNode): def __init__(self, freq, room): super().__init__("trg", room) self.freq = freq self.harmonics_q = 30 self.active = False self.volume = 0.8 def calc_r_amps(self, t): if not self.active: self.r_amps[t] = dict() return if not t in self.r_amps: self.r_amps[t] = dict() for i in range(0, self.harmonics_q): freq = self.freq*(i*2 + 1) if i%2 == 0: m = 1 else: m = -1 self.r_amps[t][freq] = m * self.volume / float((i*2 + 1)**2)