Source code for AccelBrainBeat.waveform.sine_wave

#!/user/bin/env python
# -*- coding: utf-8 -*-
import numpy
import math
from AccelBrainBeat.waveform.interface.wave_form_interface import WaveFormInterface


[docs]class SineWave(WaveFormInterface): ''' インターフェイスの実現 バイノーラルビートやモノラルビートで処理する対象となる 正弦波の波形を計算する 参考: http://milkandtang.com/blog/2013/02/16/making-noise-in-python/ '''
[docs] def create(self, frequency, play_time, sample_rate): ''' 音の波形を生成する Args: frequency: 周波数 play_time: 再生時間 sample_rate: サンプルレート Returns: 波形要素を格納した配列 ''' length = int(play_time * sample_rate) factor = float(frequency) * (math.pi * 2) / sample_rate return numpy.sin(numpy.arange(length) * factor)