This is the Cycling'74 Max code for a basic waveform generator in the Gen environment. It creates sine, sawtooth, and square waves that are synced with each other, as shown in the picture.
1. Some Ways to Make Sounds with Waveforms
Garnered over many years of experience:
1.1. Waveform Choice
- Square: panpipes, recorders, especially with two very slightly detuned oscillators or voices.
- Pulse: guitars, electric bass (30%), oboes, clavinets (10%).
- Triangle: flutes, clarinets, xylophones, soft pads.
- Sine: stringed bass, wind organ. Add mirror distortion, pre filter, for rich string sounds.
- Harmonic Wavesets: bright electric organs, full strings.
- Disharmonic wavesets: oriental and metallic sounds
- Add a sub-octave oscillator to wavesets for fuller sound.
- Impulse: trigger for acoustic modeling (with comb filter)
- Noise: percussion, waves, thunder, etc.
- Square+triangle: useful synth sound, rich in harmonics.
1.2. Width Modulation
For symmetry oscillators:
- Use a decaying envelope as a negative modulation source with high initial contour to give a plucked string effect.
- Use a midpoint contour and high contour modulation for wide sweeping effects.
1.3. Pitch Offset
Setting a different pitch an a second oscillator can do quite a bit by itself.
- Use a pitch offset of +7 on a second oscillator to add fifth harmonics, for example for organ zounds.
- Leads and solos can sound interesting with a quart (+5 semitones).
- Disharmonic pitch offsets of +6 or +8, for example, are useful for AM and FM bell-like tones.
- Low values of 1 cent result in slow and soft flanging effects.
- Mid range values of around +8 make fat sounds.
- High values of >15 result in detune for accordions, and orchestral effects.
- Use envelopes or shaper to modulate the pitch of one or more oscillators for changing detuning over time.
1.4. Frequency Modulation
- FM modulations at +/-12 increase sonic depth without introducing new harmonics.
- A triangle or sine wave usually sounds best for the modulated oscillator. Other oscillators contain so many different harmonics that the result is usually noise.
- Use pitch tracking of <1 for modulator, to reduce FM at higher frequencies.
- Set pitch tracking to 0 and use semitone setting to set a fixed frequency, perhaps modulated by envelope or LFO.
- A pitch tracking of 0 to 0.5 for a high-pitched modulator can create nice electric piano sounds.
- Use sine for the FM source, for clear harmonic textures.
- Use lower-pitched noise for the FM modulator. At lower FM settings the sound is light and airy, at higher settings it creates interesting colored noise sounds.
- Use the matrix to modulate FM depth dynamically
1.5. Amplitude modulation
- Slowly modulate the pitch of one oscillator with an LFO or decaying envelope for spacey ring modulation sounds.
- Use ring modulation with one oscillator having reduced pitch track (say around 0.5) for electric pianos.
- Use very low pitches (midi 20 or lower) of square or pulse waves as an input to ring modulation for rhythmic effects.
- Use slow AM modulation for vibrato effects.
- Hard sync for lead and solo sounds, with sync source at +19 semitones.
- Arpeggiate or use a slow LFO to modulate the pitch of the sync source.
Note these oscillator designs are not anti-aliased. They requires Max 6.0+ with Gen installed.
A demonstration patch is available in the Synthcore2 bundle.