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 details)
Built Distribution
File details
Details for the file synthesizer-0.1.4.tar.gz
.
File metadata
- Download URL: synthesizer-0.1.4.tar.gz
- Upload date:
- Size: 4.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | fdc011702cd7a405705ff55d1698ad7cd3110dec57b64a16f2c76f4c174939c9 |
|
MD5 | 4b6280fbc04c69e74930194c07671a4b |
|
BLAKE2b-256 | 79fb01f7f30ea2f7dd8111fbe26e2ee2cdc3707a0d0714348fba7b6fb33e878a |
File details
Details for the file synthesizer-0.1.4-py2.py3-none-any.whl
.
File metadata
- Download URL: synthesizer-0.1.4-py2.py3-none-any.whl
- Upload date:
- Size: 7.0 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bdf6c7a406e4129bbf92dbf039938c3af7175c799cf5c431b6d888b66b61f548 |
|
MD5 | 144951ebc96ba621845a67163b4eff98 |
|
BLAKE2b-256 | 48a3dd4583add309c73e615649925f42058be203276ea1e5bff16c2ec480d75d |