synthesizer package¶
Submodules¶
synthesizer.player module¶
-
class
synthesizer.player.
Player
(rate=44100)¶ Bases:
object
-
enumerate_device
()¶
-
open_stream
(device_name=None, device_index=-1)¶ open audio output stream
if neither device_name nor device_index is specified, default output device will be opened.
Parameters: - device_name (str) – part of device name (ex: hw:0,0)
- device_index (int) – index of device
-
play_wave
(wave)¶ play normalized wave
Parameters: wave (numpy.array) – normalized wave
-
synthesizer.synthesizer module¶
-
class
synthesizer.synthesizer.
Oscillator
(waveform, volume, freq_transpose=1.0)¶ Bases:
object
Virtual oscillator object
Parameters: - _waveform (Waveform) – waveform of oscillator
- _volume (float) – amplitude of generated wave (0.1 - 1.0)
- _freq_transpose (float) – transpose of frequency (for sub oscillator)
-
static
gen_triang
(t, width=0.5)¶
-
generate_wave
(phases)¶
-
volume
¶
-
class
synthesizer.synthesizer.
Synthesizer
(osc1_waveform=<Waveform.sine: 'sine'>, osc1_volume=1.0, use_osc2=False, osc2_waveform=<Waveform.sine: 'sine'>, osc2_volume=0.3, osc2_freq_transpose=2.0, rate=44100)¶ Bases:
object
Virtual analog synthesizer object
Parameters: - _osc1 (Oscillator) – main virtual oscillator
- _osc2 ((Oscillator|None)) – sub virtual oscillator
-
generate_chord
(freqs, length)¶ generate wave consists of multiple frequencies
Parameters: - freqs (list[float]) – list of frequencies or scales
- length – legnth of wave (seconds)
Return type: numpy.array
Returns: normalized wave
-
generate_constant_wave
(frequency, length)¶ generate wave with constant frequency
Parameters: - frequency ((float|str)) – frequency or scale of wave
- length (float) – length of wave (seconds)
Return type: numpy.array
Returns: normalized wave
synthesizer.writer module¶
-
class
synthesizer.writer.
Writer
(rate=44100)¶ Bases:
object
-
write_wave
(file_path, wave)¶ write wave to a wav file
Parameters: - file_path (str) – relative / absolute path of wave file
- wave (numpy.array) – normalized wave
-
write_waves
(file_path, *waves)¶ write waves to a wav file
Parameters: - file_path (str) – relative / absolute path of wave file
- waves (list[numpy.array]) – list of normalized waves
-