music/signal/domain.py

31 lines
712 B
Python
Raw Normal View History

2018-03-26 21:32:38 -04:00
import numpy as np
__default_time = 2.0
__default_steps = 200
class Time:
__DefaultTime = 2.0
__DefaultSteps = 200
def __init__(self, sec=Time.__DefaultTime, samples=Time.__DefaultSteps):
self.sec = sec
self.samples = samples
self._domain = None
@property
def domain(self):
if self._domain == None:
self._domain = np.linspace(0, self.sec, num=self.samples + 1)
return self._domain
@property
def rate(self):
'''Number of samples per second.'''
return self.samples / self.sec
@property
def interval(self):
'''Amount of time between samples, in seconds.'''
return self.sec / self.samples