A simple virtual analog synthesizer.
Project description
Virtual analog synthesizer.
Installation
$ pip install synthesizer
Install dependencies
Ubuntu
$ apt install portaudio19-dev
$ pip install pyaudio
macOS
$ brew install portaudio
$ pip install pyaudio
Basic usage
Play 440Hz sine wave
>>> from synthesizer import Player, Synthesizer, Waveform
>>> player = Player()
>>> player.open_stream()
>>> synthesizer = Synthesizer(osc1_waveform=Waveform.sine, osc1_volume=1.0, use_osc2=False)
# Play A4
>>> player.play_wave(synthesizer.generate_constant_wave(440.0, 3.0))
Play chord
# Play C major
>>> chord = [261.626, 329.628, 391.996]
>>> player.play_wave(synthesizer.generate_chord(chord, 3.0))
Specify audio device
>>> player.enumerate_device()
# index: 00, name: "Built-in Microphone", rate: 44100
# index: 01, name: "Built-in Output", rate: 44100
# index: 02, name: "UA-25EX 44.1kHz", rate: 44100
>>> player.open_stream(device_name="UA-25EX")
Write wav file
>>> from synthesizer import Writer
>>> writer = Writer()
>>> chord = [261.626, 329.628, 391.996]
>>> wave = synthesizer.generate_chord(chord, 3.0)
>>> writer.write_wave("path/to/your.wav", wave)
Supported OS
macOS Sierra
Ubuntu 16.04
Supported versions
Python 2.7
Python 3.4 and above
License
GPL v3 License
Links
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
synthesizer-0.1.4.tar.gz
(4.6 kB
view hashes)
Built Distribution
Close
Hashes for synthesizer-0.1.4-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bdf6c7a406e4129bbf92dbf039938c3af7175c799cf5c431b6d888b66b61f548 |
|
MD5 | 144951ebc96ba621845a67163b4eff98 |
|
BLAKE2b-256 | 48a3dd4583add309c73e615649925f42058be203276ea1e5bff16c2ec480d75d |