class Oscillator: def __init__(self, sample_rate, frequency): self.sample_rate = sample_rate self.frequency = frequency
class Wavetable: def __init__(self, sample_rate, wave_type): self.sample_rate = sample_rate self.wave_type = wave_type self.table = self.generate_wavetable() xfer serum r2r free
def generate_wavetable(self): # Generate a simple sine wave t = np.linspace(0, 1, self.sample_rate, False) if self.wave_type == 'sine': wave = np.sin(2 * np.pi * t) elif self.wave_type == 'sawtooth': wave = 2 * (t - 0.5) return wave class Oscillator: def __init__(self
import numpy as np
wave = wavetable.table signal = oscillator.generate_signal(wave) wave_type) oscillator = Oscillator(sample_rate
If you'd like to contribute to the R2R project or create your own synthesizer, I encourage you to explore the open-source code and documentation available online.
wavetable = Wavetable(sample_rate, wave_type) oscillator = Oscillator(sample_rate, frequency)