Script Library: 1222 scripts
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 
View scriptLicenseDownload documentation as: HTML or editable
Download scriptHistoryOther scripts by: rebolek

Documentation for: pm-101.r


REBOL

Sintezar PM-101

version 0.4.0/23-6-2006
Boleslav Brezovsky (REBolek)

Contents:

1. Introduction
1.1 What is Phase Manipulation?
1.2 Getting started
2. Architecture of PM-101
2.1 DCO1/DCO2 - Oscillator
2.2 DPS - Phase Shaper
2.3 DCF - Filter
2.4 DCA - Amplifier
2.5 FinalCrusher
3. Conclusion

1. Introduction

Sintezar PM-101 is Phase Manipulation synthesizer based on Sintezar modular engine.

1.1 What is Phase Manipulation?

Phase manipulation is based on Casio's Phase Modulation used in CZ-synth in 1980's. Phase modulation distorts the speed of reading sinewave and produces different timbres. Phase manipulation adds Phase stretching.

1.2 Getting started

Run the script and press on the intro screen to continue to main program. In the left bottom corner, there's a small toolbar. This is good place to start. Let's look at all the icons in toolbar.

1.2.1 New sound

Sets current parameters to their initial values.

1.2.2 Open sound

Open saved preset.

1.2.3 Save sound (RPS)

Save preset in internal format.

1.2.4 Save sample (WAV)

Save compiuted sound as WAVE file.

1.2.5 Compute sound

Compute sound from given parameters.

1.2.6 Play sound

Play computed sound.

So open sound, compute it (takes cca 10-20sec on 1-2GHz machine) and play it.

2. Architecture of PM-101

2.1 DCO1/DCO2 - Oscillator

There are two Oscillator (OSC) lines in PM-101 that can be combined together to produce sound. Each OSC line consist of Oscillator with 7 different waves. These waves can be combined together in so called Octave Modulation. Waves go to Window function, it's a sort of Amplitude Modulator that can be used together with SineSync wave to produce resonance-like sounds. ou can even shape waves with Window function (try square wave + triangle window).

2.1 Sintezar waves

What waves can be used in Sintezar PM-101? Here's the list:

  1. Saw
  2. Square
  3. Pulse
  4. Double sine (this wave is not ready, and squarewave is used instead)
  5. Saw-square
  6. Triangle
  7. Sinesync (use this for resonant waves in combination with window function)

Last 'wave' turns off octave modulation.

Window function uses this waves:

  1. No wave (Signal is left intact)
  2. Saw
  3. Triangle
  4. Trapezoid
  5. Saw-square

Resulting sound goes to Phase Modulator (DCW). DCW controls shape of wave. With DCW set to zero, wave is sine (cosine) wave, At DCW = 1 wave's got it's original shape. Remeber that window function is applied AFTER DCW, so wave's shape is always affected by window function! (Try to set some window function and set DCW to 0. Result is NOT sine!!!)

2.2 DPS - Phase Shaper

Next to DCW is Phase Shaper (DPS). DPS shortens wave, but cycle length is left intact, so it works like a kind of a Pulse Wave Modulator for all waves (it adds higher harmonics, when the pitch remains).

2.3 DCF - Filter

DCF is Digital Controlled Filter. It's simple 2-pole State-Variable filter with cutoff and resonance. You can use basic filter types, or turn filter off

2.3 Filter types
  • Low pass filter
  • High pass filter
  • Band pass filter
  • Notch filter

2.4 DCA - Amplifier

Last module in each line is DCA - Digital Controlled Amplitude. This is normal amplitude envelope.

This module is combined together with main filter. This is same filter as in each osc. line. PM-101 has three 12dB filters together, so by cascading two LP fiters it's possible to create fatter 24dB/oct filter, or you can use any other combination of filters.

2.5 FinalCrusher

This module can reduce bit- and sampling- resolution and also implements simple waveshaper which can be used to enhance harmonic spectrum of sound (or to create distortion). You can set waveshaper's treshold using dedicated knob.

3. Conclusion

This document is unfinished.

Overview of all GUI elements is still missing.

MakeDoc2 by REBOL- 23-Jun-2006