audio.py 文件源码

python
阅读 30 收藏 0 点赞 0 评论 0

项目:zignal 作者: ronnyandersson 项目源码 文件源码
def __init__(self, f0=997, fs=96000, duration=None, gaindb=0, nofsamples=0,
                 phasedeg=0, harmonics=7,):
        """Construct a square wave by adding odd harmonics with decreasing
        amplitude, i.e. Fourier Series.
        """
        Sinetone.__init__(self, f0=f0, phasedeg=phasedeg, fs=fs, nofsamples=nofsamples,
                          duration=duration, gaindb=0)

        assert harmonics >= 0

        self.harmonics = harmonics
        self._logger.debug("fundamental f0: %.1f" %f0)

        for n in range(3, 2*(self.harmonics+1), 2):
            if n <= 15:
                self._logger.debug("adding harmonic n: %2i with amplitude 1/%i" %(n, n))
            if n == 17:
                self._logger.debug("adding %i more harmonics..." %(self.harmonics-(n-3)//2))

            #self.samples[:,0] += np.sin(2*np.pi*(n*f0)*self.get_time()+np.deg2rad(phasedeg*n))/n
            self.samples[:,0] += (1/n)*self._sine_gen(n*f0, n*phasedeg)
        self.gain(gaindb)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号