• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

GUI/H03-May-2022-2,8251,995

SpiralSound/H03-May-2022-3,3402,134

.SpiralPatches.bankH A D01-Sep-200019.9 KiB101101

.SpiralrcH A D10-Sep-2000276 1210

CHANGESH A D26-Nov-20002.1 KiB6348

COPYINGH A D20-Jul-200017.6 KiB340281

Makefile.inH A D03-May-20227.1 KiB320259

PluginLink.shH A D03-May-2022596 21

READMEH A D26-Nov-20004.8 KiB12794

SpiralInfo.CH A D03-May-20222.8 KiB10975

SpiralSynth.proH A D03-Oct-20001.5 KiB5855

Synth.CH A D26-Nov-200015.5 KiB732570

Synth.hH A D03-May-20223.5 KiB157102

configureH A D26-Nov-200040.9 KiB1,3511,103

configure.inH A D26-Nov-2000367 2013

README

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