- Notifications
You must be signed in to change notification settings - Fork4
Pure-python library for generating audio tones, with support for polyphony, pitch-bending and vibrato
License
eriknyquist/tones
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
A pure-python module for generating simple tones as audio samples, which canoptionally be written directly to a .wav audio file. Supports pitch-bending,vibrato, polyphony, several waveform types (sine, square, triangle,sawtooth), and several other waveform-shaping options.
Install from the PyPi repository:
pip install tones
fromtonesimportSINE_WAVE,SAWTOOTH_WAVEfromtones.mixerimportMixer# Create mixer, set sample rate and amplitudemixer=Mixer(44100,0.5)# Create two monophonic tracks that will play simultaneously, and set# initial values for note attack, decay and vibrato frequency (these can# be changed again at any time, see documentation for tones.Mixermixer.create_track(0,SAWTOOTH_WAVE,vibrato_frequency=7.0,vibrato_variance=30.0,attack=0.01,decay=0.1)mixer.create_track(1,SINE_WAVE,attack=0.01,decay=0.1)# Add a 1-second tone on track 0, slide pitch from c# to f#)mixer.add_note(0,note='c#',octave=5,duration=1.0,endnote='f#')# Add a 1-second tone on track 1, slide pitch from f# to g#)mixer.add_note(1,note='f#',octave=5,duration=1.0,endnote='g#')# Mix all tracks into a single list of samples and write to .wav filemixer.write_wav('tones.wav')# Mix all tracks into a single list of samples scaled from 0.0 to 1.0, and# return the sample listsamples=mixer.mix()
Full API documention is here:https://tones.readthedocs.io
About
Pure-python library for generating audio tones, with support for polyphony, pitch-bending and vibrato
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Uh oh!
There was an error while loading.Please reload this page.
Contributors2
Uh oh!
There was an error while loading.Please reload this page.