1** SpiralSynth ** 2 3Last changed Saturday 2 December 2000. 4 5SpiralSynth is open source software, distributed under the General 6Public License (GPL). See the file COPYING. 7 8SpiralSynth is a polyphonic analogue softsynth. It should work on i386 or 9big-endian hardware running Linux or FreeBSD. 10It is currently in a sort of pre beta state (and probably always will be ;). 11 12It uses the OSS /dev/dsp driver, (although this is configurable) and the GUI 13it uses is FLTK (www.fltk.org). 14 15The (PC) Keyboard can be used to play the synth, "q" & "z" are C, and the keys 16progess from there, ie "2" is C#, "w" is D etc. These are just the defaults, 17and can be changed from the .Spiralrc file. 18The F keys change the octave. 19More functionality comes from the midi interface, such as velocities, pitchbend 20and other parameters. 21 22To build the source type: 23 24./configure 25make 26 27Copy the file .SpiralPatches.bank to your home directory, if you want some 28example patches to play with. 29 30The GUI requires FLTK to be installed (www.fltk.org), Which may in turn 31require Mesa or OpenGL to link correctly. 32 33If you have SpiralLoops, you can build SpiralSynth as a plugin. Uncomment the 34#define PLUGIN at the top of the Synth.cpp file, and link with the -shared 35option. 36 37Specs: 38 39You don't have to understand any of this to play SpiralSynth, you can tweak it 40purely based on the sounds you make - but if your interested in techy synth 41specs: 42 433 ocillators. Capable of Pulse/Square, Tri/Sawtooth and Noise (with sample & 44hold) waveforms. 45Each oscillator has it's own envelope generator. 462 mixers connect the oscillators together, with a ring or cross modulation 47option. 481 resonant low pass filter. 491 delay effect. 50 51An Envelope and LFO can modulate oscillator 1 or 2's pitch or pulsewidth, or 52the filter's cutoff or resonance each. 53 54MIDI interface, (works on my Roland PC-160A Keyboard - I can't vouch for 55anything else). Note velocity and pitchbend is catered for. The filter's cutoff 56can be controlled with midi via the general midi "reverb send level" or control 57code 91 (effect 1). The idea is to make all the controls midi, at some point. 58 59The oscillators have independant portmento, for super wierd effects. Move the 60PM slider up to make the response slide with the keyboard presses. Move the 61slider to the bottom to turn it off completely. 62Portmento will also effect any frequency modulation on the oscillator. Using 63this with sample and hold is quite fun. 64 65Cross modulation is really frequency modulation, or FM. It modulates one 66source's frequency with the other source. When enabled on mixer 1, 67oscillator 2's frequency is changed using oscillator 1. On mixer 2, oscillator 3 68is modulated by the output of mixer 1. (phew) 69It can be used to create a whole different set of sounds. Ths kind of thing is 70really additive synthesis, and shouldn't really be on an analogue synth, but I 71don't care! 72 73Unlimited polyphony. You can play as many notes at once as your CPU will allow. 74 75Meaning of Oscillator sliders: 76PW = PulseWidth 77SH = Sample and hold 78PM = Portmento depth 79 80Wav file output is availible, click on the Record button in the output window 81to choose a filename to save to. All the synth's output will be written directly 82to disk until record is turned off. 83 84You can also save your sounds as patch information, so you don't have to lose 85sounds as you tweak the synth. There are 100 save slots, selected by the buttons 86and dial at the bottom of the Spiral Synth window. 87There is also a randomise button, which scrambles all the settings on the 88control panel. 89 90Changing the config settings: 91 92You can edit .Sprialrc (in your home directory), to change the settings of the 93synth. 94 95SpiralSynth resource file 96 97BufferSize = 512 - Size of the buffer in samples, lower no. - lower latency 98Samplerate = 44100 - Sample rate 99WantMidi = 1 - Set this to 0 to disable midi input checking 100FilterGranularity = 50 - Updates the filter dynamics every 50 samples 101Output = /dev/dsp - The output device file 102Midi = /dev/midi - The Midi input device file 103WantRealtimeOut = 1 - Use this to disable the soundcard output 104KeyMap = zsxdcvgbhnjmq2w3er5t6y7ui9o0p[ 105Polyphony = 3 - The number of voices the synth can play at once 106 107The keymap defines the keys to note mapping. Two and a half octaves are 108availible, starting from a C. 109 110For example, the keymap for a French keyboard goes as follows: 111 112KeyMap = wsxdcvgbhnjma2z3er5t6y7ui9o0p] 113 114Todos: 115 116* More realtime midi controllers. 117* Wav file input, so you can load your own oscillator waveforms. 118 119Disclaimer: 120No representations are made about the suitability of this software 121for any purpose. This software is provided "as is" without express 122or implied warranty. 123(Damage to ears, speakers or buildings are not my fault :)) 124 125Dave Griffiths - dave@pawfal.org 126www.pawfal.org 127