Skip to content

Commit 32e22d2

Browse files
authored
Merge pull request #3 from AntiMatterAMA/master
added triangle waveform support
2 parents 64dcef6 + ab494e8 commit 32e22d2

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

synthesizer/synthesizer.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ class Waveform(Enum):
99
sine = "sine"
1010
sawtooth = "sawtooth"
1111
square = "square"
12+
triangle = "triangle"
1213

1314

1415
class Oscillator(object):
@@ -36,12 +37,16 @@ def _wave_func(self):
3637
return scipy.signal.sawtooth
3738
elif self._waveform is Waveform.square:
3839
return scipy.signal.square
40+
elif self._waveform is Waveform.triangle:
41+
return self.gen_triang
3942
raise TypeError("unknown waveform: {}".format(self._waveform))
4043

4144
def generate_wave(self, phases):
4245
phases = np.copy(phases) * self._freq_transpose
4346
return self._volume * self._wave_func(phases)
44-
47+
48+
def gen_triang(self,t,width=0.5):
49+
return scipy.signal.sawtooth(t,width)
4550

4651
class Synthesizer(object):
4752
u""" Virtual analog synthesizer object

0 commit comments

Comments
 (0)