You are on page 1of 54

SonicBirth Manual

SonicBirth Manual

CONTENTS

Contents
1 2 3 License Introduction Installation 3.1 The framework . . . . . . . . . . . . . . 3.2 The plugins . . . . . . . . . . . . . . . . 3.3 The application . . . . . . . . . . . . . . 3.3.1 Entering the registration number Quick tips Overview 5.1 Terms . . . . . . . . . . . . . . . . . . . . . . 5.1.1 Wire . . . . . . . . . . . . . . . . . . 5.1.2 Element . . . . . . . . . . . . . . . . . 5.1.3 Argument . . . . . . . . . . . . . . . . 5.1.4 Circuit . . . . . . . . . . . . . . . . . 5.1.5 Root circuit . . . . . . . . . . . . . . 5.1.6 Model vs plugin . . . . . . . . . . . . 5.2 Workflow . . . . . . . . . . . . . . . . . . . . . 5.2.1 Loading a sound . . . . . . . . . . . . 5.2.2 Setting up inputs and outputs . . . . 5.2.3 Inserting elements and patching them 5.2.4 Feedback . . . . . . . . . . . . . . . . 5.2.5 Inserting arguments . . . . . . . . . . 5.2.6 Setting up the plugin attributes . . . 5.2.7 Exporting the plugin . . . . . . . . . 5.2.8 Sharing your creation . . . . . . . . . Basic windows 6.1 Document . . 6.1.1 Level 6.1.2 Size . 6.1.3 Mini . 6.2 Sound . . . . 6.3 MIDI . . . . . 6.4 Settings . . . 6.5 Information . 1 2 3 3 3 3 3 4 5 5 5 5 5 6 6 7 7 7 7 7 7 8 8 9 9 10 10 10 10 11 11 11 12 12 13 13 13 14 14 ii

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

4 5

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

6

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

7

Important elements 7.1 Circuits . . . . . . . . . . 7.1.1 Root circuit . . 7.1.2 Subcircuit . . . 7.1.3 Piecewise circuit

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

Antoine Missout c

SonicBirth Manual

CONTENTS

7.2

7.3

7.4

7.5 8

Internal arguments . . . . . . . 7.2.1 Bit precision . . . . . . 7.2.2 Interpolation precision . 7.2.3 Midi settings . . . . . . Arguments . . . . . . . . . . . . 7.3.1 Boolean . . . . . . . . . 7.3.2 Indexed . . . . . . . . . 7.3.3 Slider . . . . . . . . . . 7.3.4 Points . . . . . . . . . . 7.3.5 Points Envelope . . . . 7.3.6 Points Frequency . . . . 7.3.7 XY Pad . . . . . . . . . 7.3.8 Audiofile argument . . Midi arguments . . . . . . . . . 7.4.1 Midi slider . . . . . . . 7.4.2 Midi mono note . . . . 7.4.3 Midi multi note . . . . 7.4.4 Midi multi note env . . FFT elements . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

15 15 15 15 15 16 16 16 17 17 17 17 17 18 18 18 18 18 18 19 19 19 20 21 24 24 24 24 24 25 26 26 26 26 26 26 26 26 26 27 27 27 27

Circuit examples 8.0.1 The simplest circuit: 8.0.2 Stereo to mono . . . 8.0.3 A multiband reverb 8.0.4 A software synth . .

passthrough . . . . . . . . . . . . . . . . . . . . . . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

9

Custom gui 9.1 Designing the interface . . . . 9.1.1 Placing the elements . 9.1.2 Selecting the colors . 9.1.3 Loading a background 9.2 Testing the interface . . . . .

. . . . . . . . . . . . . . . picture . . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

10 List of elements 10.1 Algebraic . . . . . . . . . . . . . . . 10.1.1 Addition . . . . . . . . . . 10.1.2 Add Many . . . . . . . . . 10.1.3 Substraction . . . . . . . . 10.1.4 Multiplication . . . . . . . 10.1.5 Division . . . . . . . . . . . 10.1.6 Constant Addition . . . . . 10.1.7 Constant Substraction . . . 10.1.8 Constant Multiplication . . 10.1.9 Constant Division . . . . . 10.1.10 Constant Substraction Alt. 10.1.11 Constant Division Alt. . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

Antoine Missout c

iii

SonicBirth Manual

CONTENTS

10.1.12 Negation . . . . . . . . . . 10.1.13 Inverse . . . . . . . . . . . 10.1.14 Absolute . . . . . . . . . . 10.1.15 Absolute/Sign . . . . . . . 10.1.16 Direction . . . . . . . . . . 10.1.17 Multiply-Add . . . . . . . . 10.1.18 Multiply-Sub . . . . . . . . 10.1.19 Neg. Multiply-Add . . . . 10.1.20 Neg. Multiply-Sub . . . . . 10.2 Function . . . . . . . . . . . . . . . 10.2.1 Modulus . . . . . . . . . . 10.2.2 Ceil . . . . . . . . . . . . . 10.2.3 Floor . . . . . . . . . . . . 10.2.4 Nearest integer . . . . . . . 10.2.5 Exponential . . . . . . . . 10.2.6 Natural logarithm . . . . . 10.2.7 Logarithm base 10 . . . . . 10.2.8 Power . . . . . . . . . . . . 10.2.9 Square root . . . . . . . . . 10.2.10 Reverse square root . . . . 10.2.11 Quadratic Bezier . . . . . . 10.3 Trigonometric . . . . . . . . . . . . 10.3.1 Sinus . . . . . . . . . . . . 10.3.2 Cosinus . . . . . . . . . . . 10.3.3 Tangent . . . . . . . . . . . 10.3.4 Sinus and cosinus . . . . . 10.3.5 Hyperbolic sinus . . . . . . 10.3.6 Hyperbolic cosinus . . . . . 10.3.7 Hyperbolic tangent . . . . 10.3.8 Arc sinus . . . . . . . . . . 10.3.9 Arc cosinus . . . . . . . . . 10.3.10 Arc tangent . . . . . . . . 10.3.11 Arc tangent (x, y) . . . . . 10.3.12 Inverse hyperbolic sinus . . 10.3.13 Inverse hyperbolic cosinus . 10.3.14 Inverse hyperbolic tangent 10.4 Arguments . . . . . . . . . . . . . 10.4.1 Boolean . . . . . . . . . . . 10.4.2 Slider . . . . . . . . . . . . 10.4.3 Indexed . . . . . . . . . . . 10.4.4 Points . . . . . . . . . . . . 10.4.5 Points Envelope . . . . . . 10.4.6 Points Frequency . . . . . . 10.4.7 XY Pad . . . . . . . . . . . 10.4.8 Audio file argument . . . . 10.4.9 Keyboard Tap . . . . . . . Antoine Missout c

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

27 27 27 27 28 28 28 28 28 28 28 28 28 29 29 29 29 29 29 29 29 30 30 30 30 30 30 30 30 30 31 31 31 31 31 31 31 31 31 32 32 32 32 32 32 32 iv

SonicBirth Manual

CONTENTS

10.5

Midi arguments . . . . . . . . . . 10.5.1 Midi slider . . . . . . . . 10.5.2 Midi note state . . . . . . 10.5.3 Midi mono note . . . . . 10.5.4 Midi multi note . . . . . 10.5.5 Midi multi note envelope 10.5.6 Midi XY Pad . . . . . . . 10.6 Display . . . . . . . . . . . . . . . 10.6.1 Display value . . . . . . . 10.6.2 Display Osc. . . . . . . . 10.6.3 Display Osc. (Var. res.) . 10.6.4 Display Meter . . . . . . 10.7 Analysis . . . . . . . . . . . . . . 10.7.1 Envelope Follower . . . . 10.7.2 Look ahead . . . . . . . . 10.7.3 BPM Counter . . . . . . 10.7.4 Debug . . . . . . . . . . . 10.7.5 Debug Osc. . . . . . . . . 10.8 Comparators . . . . . . . . . . . . 10.8.1 Minimum . . . . . . . . . 10.8.2 Maximum . . . . . . . . . 10.8.3 Sort . . . . . . . . . . . . 10.8.4 Less . . . . . . . . . . . . 10.8.5 Equal . . . . . . . . . . . 10.8.6 Greater . . . . . . . . . . 10.9 Converters . . . . . . . . . . . . . 10.9.1 Msec to samples . . . . . 10.9.2 Samples to msec . . . . . 10.9.3 Linear to db . . . . . . . 10.9.4 Db to linear . . . . . . . 10.10 Delays . . . . . . . . . . . . . . . 10.10.1 Delay . . . . . . . . . . . 10.10.2 Delay (samples) . . . . . 10.10.3 Delay Sinc (samples) . . 10.11 Generators . . . . . . . . . . . . . 10.11.1 Sine Wave . . . . . . . . 10.11.2 Fast Sine Wave . . . . . . 10.11.3 Saw Wave . . . . . . . . 10.11.4 Triangle Wave . . . . . . 10.11.5 Square wave . . . . . . . 10.11.6 Linear Noise . . . . . . . 10.11.7 White Noise . . . . . . . 10.11.8 Pink Noise . . . . . . . . 10.11.9 Random . . . . . . . . . 10.11.10 Random ramp . . . . . . 10.11.11 FFT Generator . . . . . . Antoine Missout c

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

32 32 33 33 33 33 33 33 33 33 33 34 34 34 34 34 34 34 34 34 35 35 35 35 35 35 35 35 35 36 36 36 36 36 36 36 36 36 37 37 37 37 37 37 37 37 v

. . . . . . .12. 10. . . . . . . .2 Constant . . . . . . . .17 Bandstop (fast) . .14. . . . . . .3 Scraper (quick) . . .2 Audio player . . . . .6 Convolve . . . . . . . . . . . . . . . . . .16. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15. . . . . . . .16 Crossover (fast) . . . . . . . . . . . . . . . . . . . . . . . . . .17. . .12. . . . . . . . . . . . . . . . . . . . . . . 10. . . . . . . . . . . . . . . . . . . . . . . . . .14. . Antoine Missout c . 10. . .13 Highpass (fast) . .15 Audio file . . . . . . . . . . . . 10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10. . . . . . . . . .12. .1 DC Blocker . . . . . . . . . . . .12. .8 Resonant highpass . . 10. 10. . . . .4 Notch . .10 Bandstop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10. . . . .12. . . . . . . .12 Filters .9 Crossover . . . . . . . 10. . . . . . 10.3 Peak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16. . . . 10. . . .16.14. .1 Valve . . . . . . . . . . . . . . . . . . . . . 10.4 Piecewise circuit . . . .15.12.12 Lowpass (fast) . . . .6 Highpass . . 10. . . . . . . . . 10. . . . . . . . 10. . . .12. . . . . . .16 FFT . . .12. . . . . . . .16. . . . . . . . . . . . 10. . . . . . .12. . . . . . . . . . . . . . 10. . . . 10. . . . . . . . . . . 10. . . . . . . . . . . . . . . 10. . . . . . . . . . . .18 Bandpass (fast) . . . . . . . . . . . . . 10. . . . . . . . . . . 10. . . . . . . 10. . . . .12. . . . . . . . .22 Formant filter . . . .19 Allpass .2 Parametric Eq. . . . . . .12. . . . . . . . . . . . . . . . . . . . . . . .15 Resonant highpass (fast) 10. . . . . . . . . . . .16. . . 10. . . . . . . 38 38 38 38 38 38 38 38 39 39 39 39 39 39 39 39 40 40 40 40 40 40 40 41 41 41 41 41 41 41 41 41 42 42 42 42 42 42 42 42 43 43 43 43 43 43 vi . . . . . . . . . . . . . 10.SonicBirth Manual CONTENTS 10. . . . . . . . . . . . . . . . . 10. . . . 10. . . . 10. . . . . . . . . . . . . .16. . .7 Points To FFT . . . . . . . . . . . . . . . .12. . . . 10. . . . . . . . . . . . . . . . . 10. . . . . . . . . . 10. . . . . . . . . . . .1 Audio file . . . . 10. . . . 10. . . . . . . . . .5 Lowpass .14 Resonant lowpass (fast) . . . . . . . . . . . . . . .12. . . 10. . . . . . . .11 Bandpass . . . . . . . . . . . . . . . . . 10. . . . . . . . . . . . . . . . . . .1 Circuit . . . .17 Miscellaneous . . .12. . . . . . . . . . . . . .12. 10. . . . . . .1 FFT Sync . . . . . . . . . . . . . . . .8 Audio file To FFT . .12. .3 Equation . . . . . . . . . .2 Forward FFT . . . . .1 Feedback . . . . . . . . . . 10. . . . . . . 10. . . .12. .17. . . . . . . . . . .4 Complex to Polar . . . . . . . . .12. . . . . . . .16. . . . . . . . . . . . .20 Feedback Comb . . . . . .21 Feedforward Comb . . . . . . . . . .17. . . . . .12. . . . . . . . . . . . . . . . . . . . . 10. . . . .12. . . . . . . . . . . . . . . . . 10. . . . . . . .2 Scraper . . .7 Resonant lowpass . . . 10. . . . . . . .13. . . . . . . . . . . . .17. . . . . . . . 10. . . . . .13 Feedback . . . . .16. . . . . . . . . . . . . . . . . . . . . . . . . 10. . .12. . 10. . . . . . . . . . . . . . . . .5 Polar to Complex . . . . . . .3 Inverse FFT . . . . . . . . . . . . . . . . . . . . . . .14 Distortion . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .17. . . . . . . . . . .18. . . . . . . . . .17. . . . . . . . . . . . . .17. . . . . . . . . . . . 43 43 44 44 44 44 44 45 45 45 45 45 45 46 46 46 46 46 Antoine Missout c vii . . . . . . . . . . . . . . . . . . . 10. . . . .17. . . 10. . . . . . . .SonicBirth Manual CONTENTS 10. . . . . . . . . . . . . .7 Timer loop . . .10 Points apply . . 10. . . . .9 Cleaner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10. .13 Change Slower . . .18 Internal . . . . . . . . . . . .18. . . . .14 Convolving reverb . . . . . . . .11 Bufferizer . . . . . . .18. . . . . . . . . . .5 Samplerate Doubler . . . . . 10. . .17. . . . 10. . . . .3 Midi settings . . . . . 10. . . . . . . . . . . . . . . . . 10. . . .17. . . . . .17 Granulate effect . . . . 10. . . . . . . . . . . . . .17.2 Bit Precision . . . . . . . . . . . . . . . . .15 AudioUnit . 10. . . 10. . . . . . . . . . . . . . . . . .16 AudioUnit (midi) . . .1 Interpolation Precision . . . . . . . . . . . . .17. . . . . .17. . .12 Trigger . . . . . . . . . . 10. . . . .17. .17. . . . . . . . . . . . . . . . . . . . . .17.6 Timer . . . 10. . . . . . . . . 10. . 10.8 Freeverb . . . . 10. . . . . .17. . . . . . .18 Granulate effect with pitch 10.

A simple feedback loop with delay and amount controls Initial state of the document window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . The indexed argument . . . . . . . . . . . . . . . . . . . .SonicBirth Manual LIST OF FIGURES List of Figures 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Wire anchors . . . . . . . . . . . . . A rainy software synth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A typical element . . . . . . . . . . . . . . . . . . . . . The sound window . The information window for the parametric EQ element The boolean argument . . . . . . . . . . . . . . . . The slider argument . . . . . . . . Inside multi midi note . . . . . . . . . . . . . . . . . . . . . A typical argument . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Custom gui settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 5 6 6 8 10 11 11 12 12 16 16 16 19 19 20 21 22 24 Antoine Missout c viii . . . . . The MIDI window . . The settings window for the look ahead element . . . . . . . . . . . A stereo to mono circuit . . . . . . . . . . A passthrough circuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A multiband reverb circuit . . . . . . . . . . . . . . . . . . . . . . The circuit hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Antoine Missout c 1 . Permission is granted to use a registration number you bought on up to three computers you own. Permission is granted to redistribute a plugin exported with SonicBirth. In no event will the author be held liable for any damages arising from the use of this software. without any express or implied warranty. without modification. This software is provided ’as-is’.SonicBirth Manual 1 LICENSE 1 License Copyright c 2005. Keep in mind that potential users will have to download the framework from the official website. All rights reserved. Antoine Missout. as long as the plugin is redistributed as it was exported.

The suggested learning path is to install the software. you will find that it is a small price to pay for the immense freedom that SonicBirth allows you to have over your sound. and tried it out a bit. This plugin can then be used as any other AudioUnit. This design is done in a standalone application. it is necessary to grasp a few basic technical aspects in order to create plugins. then modify them or create your own. SonicBirth is the first application dedicated to the creation of AudioUnit plugins. SonicBirth works by patching basic elements together to form complex audio effects and instruments. Although most of the work is done transparently by the application itself. try the plugins. Antoine Missout c 2 .SonicBirth Manual 2 INTRODUCTION 2 Introduction Welcome to SonicBirth! This manual will guide you through the installation and use of SonicBirth. see how they work. from which you can export your model to a plugin. Once you’ll have gone through it once.

This is very easy. and click install. although to enter your registration number you will have to launch it at least once. It is shared between all the plugins and the application.SonicBirth Manual 3 INSTALLATION 3 Installation First things first: getting SonicBirth to work. copy/paste your name and registration number exactly as you received it in your order email. It will automatically remove any previous version of SonicBirth and install the new one. Installation of the framework is mandatory.3. Here is a small explanation of what is installed: 3. 3. Just lauch the installer.2 The plugins Installing the prebuilt plugins is optional.3 The application The installation of the application is also optional. 3. The application and the plugins won’t load if it is not correctly installed.1 Entering the registration number To register both for the plugins and the application. click register. you’ll be rid of the ”demo version” sound. Once the registration is confirmed. simply launch the application. Antoine Missout c 3 . You are encouraged to install them. 3.1 The framework The framework contains SonicBirth’s engine.

• The subcircuit you will enter for a piecewise circuit depends on the row selected in the settings window. therefore the VST interfaces may be slightly inferior in quality. • Right or control-click to insert an element at mouse point. press delete to remove it.SonicBirth Manual 4 QUICK TIPS 4 Quick tips • SonicBirth was designed with AudioUnits in mind. • Double-click a wire anchor to delete it. which SonicBirth uses. To export in VST format. • Even if the MIDI server is configured. doubleclick to create a point. • Use the batch export feature of SonicBirth to quickly upgrade all your plugins. • Logic 7.1. • The points box: left/right arrows to change interpolation type. Please upgrade to Logic 7. though they should sound the same. • Multi midi note [env]: Do not forget to stop/start for changes to take effect. if connected to a sound input for example). D4 records. • Swamp buffer: C4 plays. Some tips en vrac : Antoine Missout c 4 .0 cannot load cocoa AudioUnit views. not on the actual value of the input (since this value could be unknown. simply hold the option key while choosing the export menu item. • Drag a wire away from its element input to delete it. you will not get any sound unless the sound server is started.

and one or more outputs. You can anchor a wire at any point by clicking on it. Figure 2: A typical element 5. It can have either none or multiple inputs. an Addition element has two inputs and one output. These names will also appear in the plugin. For example. Slider. 5. double-click on it. then exporting it as a plugin. Indexed are your basic arguments. You can set custom names for arguments. 5.3 Argument An argument is a special type of element. To remove the anchor. MIDI slider.1. and then installing it for use in your host application. You’ll be using the application to do the actual plugin design. Before we go on. MIDI multi note are the basic MIDI arguments. we will introduce some basic terminology.1.1 5.2 Element An element is a basic block you can work with.1.1 Terms Wire Figure 1: Wire anchors Wires are used to connect the basic blocks together. Boolean. MIDI mono note. whereas elements won’t show. Antoine Missout c 5 .SonicBirth Manual 5 OVERVIEW 5 Overview The main purpose of SonicBirth is to allow you to create your own AudioUnits. The difference with an argument is that it will appear as a parameter in your final exported plugin.

level allow you to go into and out of a circuit.5 Root circuit The root circuit is simply the circuit at the base of your AU plugin. The buttons Next and Prev. You can specify the name as well as the number of inputs and outputs of a circuit. Figure 4: The circuit hierarchy 5. and the host will get audio back from Antoine Missout c 6 . Be aware that an argument hidden inside a subcircuit (a circuit inside another one) will not show up in the plugin. It will receive audio from the host on its inputs. A circuit is a group of elements patched together with wires (hence the name circuit).SonicBirth Manual 5 OVERVIEW Figure 3: A typical argument 5.1. A circuit can be inserted into another circuit.4 Circuit A circuit (or subcircuit) is also a special type of element.1.

The audio device used for playback is the default audio device.component file. Please note: If you load a sound that is not stored at the same sample rate than your audio device. while the plugin is the exported .1 Loading a sound If you intend to make a plugin that will process sound from the host.2. Antoine Missout c 7 . latency. 5. there’s no need to load up a sound.sbc file. comments. However. variable delay. This is to make sure no resampling artifacts are introduced that could be confused with your circuit artifacts. 5. You can patch elements together .1. Loading a sound is done by clicking on the em Open button on the sound panel.2. create new sounds.4 Feedback Unless you use a feedback element in between.create wires .2. if you are making a plugin that creates sound from scratch. The root circuit may also be called plugin since it is the representation of the plugin that is created. Its settings will appear in the Settings window. You can load AIFF or WAV files. you can use the Window menu to bring it on screen.SonicBirth Manual 5 OVERVIEW its outputs. You can make a simple reverb by using a few feedback loops with different delays and gains. then releasing it on the input of another element. here are the basic steps for creating a plugin.2. dragging the mouse. 5. which inserts a small. which will select the currently displayed circuit. 5. unless. Obviously. Insert elements.2 Setting up inputs and outputs What you will want to do first is specify the number of inputs and outputs of your root circuit.. You can do so by clicking on the background. patch them together.3 Inserting elements and patching them This is the heart of the design. you should begin by loading a sound to test your circuit with. tail time. allowing you to fill in the appropriate textfields. 5. It will play at a different pitch. 5. you cannot connect the input of an element to the output of the same element to create a circular or feedback loop.6 Model vs plugin The model is the .2 Workflow Now that the terms are given. The root circuit also has many specific attributes that a basic subcircuit doesn’t have: author. SonicBirth will not resample it. If the sound panel isn’t on screen. etc.by clicking an output..

6 Setting up the plugin attributes There are a few root circuit attributes you must specify before exporting it as a plugin: • Name: This will be the name of the plugin (the file). as well as the name that will show up in the host. You can for example connect the output of a slider to an input of a multiplication. Usually you will want to keep it short. it comes from the AudioUnit standard. one of them will not load. You should only use basic lower and upper case letters. The subtype is unavoidable. SonicBirth will create a random one. which should suffice in most cases. to think of a good name. Antoine Missout c 8 . numbers and punctuation in this field. and connect an audio feed the other input of the multiplication . Subtypes beginning by a capital ’S’ are reserved for the prebuilt plugins.2. you have to insert arguments which you should connect to the inputs of the elements you want to control from the host that will load the plugin. It is case sensitive.5 Inserting arguments If you want your plugin to have variable parameters. the result of the multiplication will then be to allow for a variable linear gain.2. and to avoid special characters. By default.SonicBirth Manual 5 OVERVIEW Figure 5: A simple feedback loop with delay and amount controls 5. 5. • Subtype: This is a four character identifier that must be unique across all plugins. In the rare case where two plugins have the same subtype.

click export.sbc) or the actual exported plugin.com. You can then install it in the appropriate location.8 Sharing your creation Made something great? Would like to share it? Please do so! But keep in mind a few things: you can distribute the circuit model file (which has a file extension . If you redistribute the exported plugin.) 5. This is because if you give the plugin to someone who doesn’t have SonicBirth installed. and choose a destination. which might contain important fixes. simply hold the option key while choosing the export menu item. Simple. other users will need to download SonicBirth through http://sonicbirth. Antoine Missout c 9 . (To export in VST format.2. you have to redistribute it exactly as it was exported (though you can compress it in a format suitable for redistribution. This will also ensure the person has the lastest version available.7 Exporting the plugin Ready to try our your plugin in your usual audio host? Use the File menu. Users will still have to install SonicBirth. For this reason. obviously). it will not work since the framework will not be present.SonicBirth Manual 5 OVERVIEW 5. Doing so will ensure the best user experience for the plugins you created.2.

it means the window is displaying a circuit inside another circuit (a subcircuit). 6.1. You can click prev. to see the circuit’s parent. if a circuit is currently selected. The root circuit is always at level 0. MIDI settings and information panels can be displayed on screen with the Window menu. you can click and drag the background to scroll.1. thus displaying scrollbars if it gets smaller. At the top of the window.1 Level This is the current nesting level.2 Size This sets the circuit minimum size to the current size of the window. or next. When working in the root circuit in Antoine Missout c 10 . 6. to enter it.SonicBirth Manual 6 BASIC WINDOWS 6 Basic windows This section describes the basic windows which constitute the graphical interface. The sound. 6.1 Document Figure 6: Initial state of the document window The document window is the window displaying your circuits. Note that if the circuit minimum size is greater than the current window size (scrollbars are visible). If the displayed level is greater than that. there are a few gui elements that apply to the current circuit.

2 Sound Figure 7: The sound window This panel displays information on the current output device. and use it to test your circuit.3 Mini The mini attribute toggles the way elements are displayed.SonicBirth Manual 6 BASIC WINDOWS custom gui mode. and audio processing state. you can still press play. 6.3 MIDI Figure 8: The MIDI window This panel allows you to select which MIDI source is used to send MIDI events to the MIDI arguments of your circuits. You can then use the information window to distinguish between inputs and outputs.2.1. current loaded file. but really just an AudioUnit design application. it will receive silence. You will find it useful for large or complex circuits. 1 The default latency is deliberately high: SonicBirth is not intended to be used as an audio processing application. You can load a sound in AIFF or WAV format. this will set the custom gui size for the plugin as it will be loaded by your host. 1 Even if no sound is loaded. 6. Or if you just like minimalism. the sample rate and the latency. This list will be updated when a source is added or removed while SonicBirth is running.1 for more details. The latency by default is set to 100ms. For the device. If your circuit has any inputs. it shows the number of channels. Check section 5. 6. Antoine Missout c 11 .

SonicBirth Manual 6 BASIC WINDOWS 6.5 Information Figure 10: The information window for the parametric EQ element The information panel displays useful information about either the selected element or the circuit (if no element is selected). More details about these settings are given in the next section for the important elements. Most elements don’t have any settings. or the displayed circuit if no element is selected. Think of it as an inline help.4 Settings Figure 9: The settings window for the look ahead element The settings panel shows specific informations about the currently selected element. Antoine Missout c 12 . 6.

leave this to zero. Subtypes beginning by a capital ’S’ are reserved for prebuilt plugins. Useful if you intend to share your model file. You can use upper and lower case letters. The total latency given to the host will be the sum of the latency in milliseconds and the latency in samples (converted at runtime to milliseconds.. • Description: Here you should give a short description of your plugin. it needs not be precise. • Tailtime: This is also used by the host to know how long your plugin can generate sound once its inputs have been silenced. There is always one and only one element of this kind.) configuration in your host.. It is also the element with the most settings: • Name: This is the name of the circuit as it will appear on disk and in the plugin host. If you are making an AudioUnit where the delay is intended. at level 0.SonicBirth Manual 7 IMPORTANT ELEMENTS 7 Important elements This section gives more in-depth information about important elements you will use while designing an AudioUnit. • Inputs: Here you can enter the number of inputs your plugin will have. This comes from the way AudioUnits are listed by the operating system. For example. that is. since you do not want the host to compensate for it. etc). in a reverb circuit you might set this to 2000 or 3000 ms. numbers and most punctuation marks. • Subtype: This should be a unique four characters identifier. .1.1 7. lookahead. you will be able to use it in an n to n (2/2. 4/4. In this case. • Outputs: Here you can enter the number of outputs your plugin will have. 3/3. • Company: This is the company name that will appear in the generic graphical interface. depending on sample rate). and anywhere the host may use it. • Author: This is an optional field where you can write the author’s name. the plugin will duplicate your circuit as needed. • Latency: This is used by the host to compensate for any latency in the circuit (delay line. This should be as precise as possible. Antoine Missout c 13 . though most (all?) hosts ignore this information. 7. It is limited in length (128 characters) and you cannot use special characters in it. A special case is when both the input and output count as one. This is what is seen by the host. You can use a conservative (but not extreme) value.1 Circuits Root circuit This is the element that is at the base of your plugin model.

Otherwise those inputs will be 0. • Sidechain: Some hosts support AudioUnits with multiple busses. will add two inputs to the root circuit.SonicBirth Manual 7 IMPORTANT ELEMENTS • Comments: Like the author field. restoring the saved values. tempo and beat. Should normally be set to a size where the circuit would be incorrectly displayed if the window is smaller. you should take a few seconds to reorder your arguments in case the host does not support custom gui. It is also a way to hide arguments from the host. you can specify them. then testing it in the runtime mode. 7. Is is best explained by an example. contour and back colors: Even if you do not want to make a custom gui. • Front. you will be able to specify your own gui. this is optional. where you want the type of filter applied. You can specify a few comments on a subcircuit explaining what it contains. It might be useful to group several elements in a logical group. size: This specifies the size under which scrollbars will appears in the circuit window. the preset will be applied to the circuit. It makes it easier to reuse. if possible. 7. Even if you use a custom gui. lowpass or highpass. you can change the colors of the arguments to something that suits you better. if you want. • Tempo and beat: The root circuit option. You can then specify the name for the preset you create.2 Subcircuit A subcircuit is a circuit which can be inserted in another one. and a sidechain one. or as a small note pad. and should mainly be used in case of redistribution. As with the arguments. if supported. By clicking set. • Presets: If you want to include presets with your plugins. you can specify the order in which they appear.1. Clicking create will take a snapshot of the arguments current values and store them. to be user selectable by an indexed argument. This information is given by the host. SonicBirth can make plugins with 2 busses: the main one.3 Piecewise circuit This is a complex circuit to answer a problem. • Circuit min. You could Antoine Missout c 14 . using a background picture (or not) and by placing the argument in the gui design mode. Let’s say you have a circuit. you should add a toggle to use or not the sidechain. if enabled. • Custom gui button and size: By enabling the custom gui button. Considering some hosts may not support sidechains.1. • Arguments: You can specify the order in which the arguments will show up in the generic view in the host.

2 Interpolation precision If any of the elements in the root circuit. Every argument has name that can be user specified. these settings are controlled by this central element. interpolates the data. Instead of having a channel and controller parameter for each one of your midi arguments. you will calculate the value of the other filter for nothing. Depending on the amount of interpolation done. The main difference with the comparator solution is the correct filter is selected one time by rendering cycle (typically a few milliseconds) and the other is not calculated. then you would enter each subcircuit/range to configure it. For our example. a range would be created for the lowpass and one for the highpass. When you click Next on the document window. 7. But by doing so. There are two modes: no interpolation and linear interpolation. Using no interpolation is faster. The answer is to create a piecewise circuit. this element will be automatically added to your root circuit. You cannot delete or insert these elements yourself.SonicBirth Manual 7 IMPORTANT ELEMENTS calculate both then use a comparator to select the value that will be used depending on the argument. 7. or any subcircuits. but may have a lower quality sound. 7. especially since the filter type will not be changed often (compared to the sample rate of the audio). which has a range input. There are three types of basic elements. 7. The number of inputs and outputs the subcircuit will have can be specified in the piecewise circuit window. This is used to set the current precision of the rendering engine. and the number of elements you use that interpolate.3 Arguments The arguments are the elements that will appear as parameters in your final plugin. 7. In its settings window. you can specify many ranges. For each of them is associated a subcircuit.2. this element will appear. Using linear interpolation will sound better but will use more cpu.2.2.3 Midi settings If you use any MIDI arguments. the difference in speed can vary.1 Bit precision Your root circuit will always contain an element of type Bit precision.2 Internal arguments Some elements are automatically inserted in your root circuit depending on its content. it will enter the currently selected range. with more to come for future releases. and a realtime Antoine Missout c 15 .

3 Slider A slider argument is a variable value with a maximum and a minimum. Figure 11: The boolean argument For both states. Figure 13: The slider argument Antoine Missout c 16 . 7.3. 7. This value will be outputted when the item is selected. 7. For each item.3.1 Boolean A boolean argument is an on/off switch.SonicBirth Manual 7 IMPORTANT ELEMENTS switch which tells the host if the associated parameters should be changed while playing audio or not (some hosts may completely ignore this). deleting and ordering the items using the settings window. Figure 12: The indexed argument You can specify these choices by creating.2 Indexed An indexed argument is a popup menu with different choices. The other argument can be controlled in the same way. any value can be given. You can change its state directly by clicking on the drawn switch.3. you can specify the value it will output.

3. The Mapping attribute can be either linear or logarithmic. If you have a slider with minimum 20 and maximum 20000 (a frequency range). with either step. 7.4 Points An element allowing you to draw a line.3.0) and upper right corner at position (1. The Show value button. One slider takes its value by the horizontal position of the point while the other checks the vertical position. This argument will not appear in the generic view of exported plugins. therefore in order to be usable you will have to build a custom gui for your plugin. the channel will be given on all outputs.3. The Points apply element can translate and scale this box.3. with the lower left corner at position (0. 7.3. linear or spline interpolation.5 Points Envelope A variation on the Points element where attack. The number of outputs is decided at design time. It is optional and will only be showed in a generic gui. In case of a single channel loaded in a multiple output configuration. Other elements may use this information differently.7 XY Pad This a basically two sliders represented together by a box and a point. If it does not have enough. in linear mapping. sustain and release have different sections.SonicBirth Manual 7 IMPORTANT ELEMENTS It will appear as a slider in a generic view and as a circular knob in a custom view (in the host that loads the plugin). the extra ones are ignored. For a slider controller gain. Internally the points are represented in a 1 by 1 box.1). the middle value would be around 10000. and in logarithmic mapping it would be around 450. 7. Used to drive other elements.6 Points Frequency A variation on the Points element with markers for frequency. will make the current value appear under the knob. 7. as used by the Points To FFT and FFT generator elements. when selected.8 Audiofile argument Allows the user to load an audio file. the extra outputs will have empty sound (silence). 7. you should specify if the value is in linear units of decibels. The Type attribute is a hint for the host so it can know what type of value the slider is representing. Antoine Missout c 17 . If the loaded file has too many channels.

This is exactly what Midi multi note does.4 Midi arguments MIDI input is supported by the use of MIDI arguments. It contains a subcircuit which you can edit. with its velocity. you have to duplicate the sine generator for each additional note pressed. If multiple note are pressed. a multiband equalizer could have some bands attached to the same controller instead of individually.1 Midi slider The Midi slider is the same as a normal slider.4. 7. Until then.4. . it will not revert to the default value when the last note is depressed but rather hold it. it will output the last one pressed.SonicBirth Manual 7 IMPORTANT ELEMENTS 7. since they will all switch to it simultaneously when they receive the first controller event. Antoine Missout c 18 . For example. 7. and if the note is depressed. The output of each currently active subcircuit is summed and then outputted as one output.5 FFT elements Coming soon . 7. 7.2 Midi mono note The Midi mono note element outputs the last note that was pressed. If the Hold note button is selected. unless you want it like that. It will then set the controller attribute to the first controller event it receives. the specified default values are outputted. . When no note is pressed.4.4 Midi multi note env This is a variation of Midi multi note. do not set them all to learn by default. and this circuit is duplicated on the fly for each note pressed. except it can also be controlled by midi events. it will output the previous note. you can take a look at the graphic equalizer plugin. To easily find which controller should be used. These arguments will receive MIDI events and change their output accordingly. you can set it to learn. If you have a sine generator and want to be able to have more than one note played simultaneously. where the envelope is specified visually.3 Midi multi note Like the piecewise circuit element the Midi multi note is a complex element to answer a problem.. If you have multiple MIDI sliders..4. through a Points Envelope argument. 7.

6. Make sure the loaded sound is actually stereo. specify two inputs. 4. Antoine Missout c 19 . try this: 1. Use the sound panel to load a sound. 4. Use the Insert element. In the settings window.1 Circuit examples The simplest circuit: passthrough Figure 14: A passthrough circuit This is the first thing you should try.. from the Algebraic category. Click play. By the way. 7.SonicBirth Manual 8 CIRCUIT EXAMPLES 8 8. The detailed steps to follow are: 1. In the settings window. You should hear the mono summation of your original file. 8.0.2 Stereo to mono Figure 15: A stereo to mono circuit Once you made the passthrough circuit. you can do all these modifications while the circuit is playing. specify one input and one output. Click play. Connect both inputs of the circuit to the inputs of the addition element. If not load another sound. Click on the background to select the root circuit. Click on the background to select the root circuit. 5. 3. Drag a link between the input to the output. popup menu to insert an Addition element. 2. You should now hear the sound you just loaded. 5. 3. Connect the output of the addition element to the output of the circuit.. 2.0.

Antoine Missout c 20 . the wet and dry settings could be shared. 4. Create a two input. Connect the two high outputs of both crossovers to one freeverb element. 6. or if you want some to be in common. read from the information window what parameters and range are expected for this element.3 A multiband reverb From now on. Same for the low outputs. 3. only the general steps will be given.SonicBirth Manual 8 CIRCUIT EXAMPLES 8. Now it is up to you to decide if you want to double every settings for the freeverb. one for each channel.0. Use the same frequency configured slider for both. Figure 16: A multiband reverb circuit 1. Insert two freeverb elements. Insert two crossover elements. two output root circuit. 7. 2. so you should understand the basics when trying this. For exemple. With one of the freeverb elements selected. 5.

9. Create a zero input. Insert and connect a slider to the its attack input. Insert and connect a slider to the its release input. one output root circuit. 12. the steps presented here are general. You could add feedback loops to add extra reverberation.SonicBirth Manual 8 CIRCUIT EXAMPLES 8. Figure 17: Inside multi midi note 1. The sound generation will be done inside a MIDI multi note element. 5. and the sound processing. 8. Or a valve element to add some distortion in the path. 7. it can get as complicated as you want. 6. Connect the left outputs of both freeverb elements to one addition. you will want to try the mini mode. There will be two inputs available: the frequency and velocity. 10. Give it one output. You could have some sliders as MIDI sliders instead. Test it. Go inside it by clicking the Next button while it is selected. Same for the right outputs. As for the multiband reverb. There is an infinite variation for this. 2. 11. For very big circuits. You could add a highpass after the reverbing elements to cut the rumbles. 4. The sound processing is done after. Antoine Missout c 21 .4 A software synth A software synth is usually splitted in two stages. Insert two addition elements. 3. Connect the outputs of the addition elements to the output of the circuit. Or an atan element to slightly compress the signal.0. the sound generation. Or use an envelope follower on the input signal to control the room size of the freeverb element. Insert a MIDI multi note element. As you see.

13. Antoine Missout c 22 . 10. 9.SonicBirth Manual 8 CIRCUIT EXAMPLES Figure 18: A rainy software synth 8. Insert a linear noise generator 16. Connect the velocity input and the output of the sine generator to the inputs of the multiplication element. Connect the output of the multiplication element to the output of the subcircuit. Insert a multiplication and a constant. 12. Click Prev to return to the root circuit. Insert a sine generator. Insert a multiplication element. Connect the frequency input to the sine generator frequency input. Insert a bandstop element (we’ll use it in an abnormal way to add some distortion and stereo width). 11. 15. 14. Insert an absolute 17.

20. Connect the output of the bandstop to the output of the root circuit. 22. You can only connect the outputs of an argument to the inputs of another argument.SonicBirth Manual 8 CIRCUIT EXAMPLES 18. Press a note and hear a rainy sine sound. simply give it some inputs and connect the arguments to them. Antoine Missout c 23 . Repeat for the other frequency input. 24. If you want to pass arguments to the element inside the MIDI multi note. 19. Connect the output of the constant and the absolute element to the multiplication element. 23. Connect the output of the multiplication unit to one frequency input of the bandstop. 25. Connect the output of the MIDI multi note to the other input of the bandstop. Set the constant to 20000. 21. Connect the output of the noise generator to the absolute element.

1 Designing the interface The first step to take is activating the Custom gui button on the settings window of the root circuit.SonicBirth Manual 9 CUSTOM GUI 9 Custom gui A great sounding plugin is very good. you can set the opaque value to 0% for both the background and contour colors and use the background image instead. Save it as either jpg. (Since the image file will be included as it is on disk in the circuit model file. 9. then switch to gui design mode. 9. Bear in mind that not everyone has a very high resolution monitor. Simply drag & drop them where you want them to appear. so keep it small if you plan on sharing it. In fact. These colors can be set below 100% opaque.1.1 Placing the elements The next step is to place the arguments. using jpg is strongly suggested as it will keep the size smaller) Antoine Missout c 24 . Figure 19: Custom gui settings 9. or the argument name. Simple as that. png or tiff format.1.2 Selecting the colors The arguments are drawn with three selectable colors. it is even better! That is why SonicBirth allows you to make a custom gui. then load this as the starting point in your graphical application.3 Loading a background picture The arguments will not display any labels such as minimum and maximum value. These are expected to be done in the background image. 9. But do not make them overlap. Set a suitable size. One trick is to take a screenshot of the window when the arguments are placed (using Command-Shift-3). gif.1. but with a nice looking gui.

you can test your interface as it will behave in the host. Antoine Missout c 25 . select your background picture. and you are done! 9. click load.2 Testing the interface In the runtime mode.SonicBirth Manual 9 CUSTOM GUI Back in SonicBirth. Not much to say.

Outputs : a-b.1. Inputs : i. 10. Inputs : i. 10.1 10. Inputs : a. Inputs : a. Outputs : out.1.1.SonicBirth Manual 10 LIST OF ELEMENTS 10 10.7 Constant Substraction Substracts a constant number. Inputs : a. Outputs : o. Antoine Missout c 26 . 10. in2. b.1. 10. 10.1 List of elements Algebraic Addition Outputs the sum of both inputs.1. b.2 Add Many Outputs the summation of 3 to 16 inputs. Inputs : in0.5 Division Outputs (a / b). Outputs : a/b.6 Constant Addition Adds a constant number.b).1. Inputs : a. Outputs : a+b. b.4 Multiplication Outputs (a * b). in1. 10. in3. b. Outputs : a*b.3 Substraction Outputs (a . Outputs : o.1.

Inputs : x. Outputs : o. 10. -x if x<0). Inputs : i. -x if x<0). Inputs : i.9 Constant Division Divides by a constant number. Inputs : i.11 Constant Division Alt.12 Negation Outputs -x.1. 10. Outputs : o.13 Inverse Outputs 1/x.1.1. Constant number substracted by input.1. sign. 10. Outputs : -x. Outputs : 1/x. 10. Inputs : i.10 Constant Substraction Alt.1. 10.15 Absolute/Sign Outputs |x| (x if x>=0. -1 for neg).SonicBirth Manual 10 LIST OF ELEMENTS 10. 10.1. Inputs : x.14 Absolute Outputs |x| (x if x>=0. Constant number divided by input. Outputs : o.8 Constant Multiplication Multiply by a constant number. Outputs : |x|. Outputs : o.1. Inputs : x. Antoine Missout c 27 . Outputs : |x|. and sign of x (1 for pos.1. 10. Inputs : x.

Inputs : x.2. Outputs : -((a*b)+c).1.2 Ceil Rounds to smallest integral value not less than x. Outputs : (a*b)+c. Outputs : o. Inputs : a.1.SonicBirth Manual 10 LIST OF ELEMENTS 10. c. b. Inputs : x.3 Floor Rounds to largest integral value not greater than x. Inputs : a. c. Outputs : (a*b)-c. 0 otherwise.2. Outputs : -((a*b)-c). y.2 10. b.16 Direction Outputs 1 if input is augmenting. 10. 10. 10. Inputs : a. Outputs : x%y. c. Multiply-Sub Outputs -((a*b)-c).19 Neg. b. 10. Outputs : dir.20 Neg. Multiply-Add Outputs -((a*b)+c).1. Inputs : x. 10. Outputs : o.2.17 Multiply-Add Outputs (a*b)+c. Inputs : x. -1 if it is descending.1 Function Modulus Outputs x % y (x mod y).1. c.18 Multiply-Sub Outputs (a*b)-c. 10.1. Antoine Missout c 28 . Inputs : a. 10. b.

2. where t is clamped to 0 . Outputs : eˆ.11 Quadratic Bezier Outputs (1-t)ˆ + 2*t*(1-t)*b + tˆ 2*a 2*c. Outputs : sqrt(x). a.2. 10. Outputs : o. x Inputs : x.7 Logarithm base 10 Outputs log10(x). Inputs : x. Inputs : x. b. c. See http://en. Inputs : x. 10. 1.. 10. Inputs : x. y.5 Exponential Outputs eˆ.org/wiki/B%e9zier curve.6 Natural logarithm Outputs ln(x). 10. Inputs : t.2. Outputs : o. Outputs : xˆ.10 Reverse square root Outputs rsqrt(x).8 Power Outputs xˆ.4 Nearest integer Rounds to nearest integer.2.wikipedia.9 Square root Outputs sqrt(x).2. Outputs : rsqrt(x).2. Outputs : log10(x). y 10. y Inputs : x.2. Inputs : x.2. Antoine Missout c 29 . 10. x 10.SonicBirth Manual 10 LIST OF ELEMENTS 10. Outputs : ln(x).

5 Hyperbolic sinus Outputs the hyperbolic sinus of the input.3. Outputs : asin x. 10. 10. 10. Inputs : x.3. Outputs : tan x.3.3. 10. Inputs : x.4 Sinus and cosinus Outputs both the sinus and the cosinus of the input.1 Trigonometric Sinus Outputs the sinus of the input. Outputs : tanh x.2 Cosinus Outputs the cosinus of the input. 10. 10. Antoine Missout c 30 .3 10.8 Arc sinus Outputs the arc sinus of the input. Outputs : sin x. cos x.SonicBirth Manual 10 LIST OF ELEMENTS 10. Inputs : x. Inputs : x. Outputs : sin x. Inputs : x.6 Hyperbolic cosinus Outputs the hyperbolic cosinus of the input. 10. Outputs : cosh x.3. Outputs : cos x. Inputs : x. Inputs : x.3.3.3 Tangent Outputs the tangent of the input.7 Hyperbolic tangent Outputs the hyperbolic tangent of the input.3. Outputs : sinh x. Inputs : x.

SonicBirth Manual 10 LIST OF ELEMENTS 10. Outputs : asinh x. Antoine Missout c 31 . Outputs : value. Outputs : atanh x. Inputs : x.3. Inputs : x. y) Outputs the arc tangent of y/x.11 Arc tangent (x. Outputs : atan x. Inputs : x. Outputs : acosh x.3.3.4. 10. 10. Inputs : x. 10. Inputs : x.3. Inputs : x.14 Inverse hyperbolic tangent Outputs the inverse hyperbolic tangent of the input.9 Arc cosinus Outputs the arc cosinus of the input. 10. Outputs : value. Outputs : acos x.13 Inverse hyperbolic cosinus Outputs the inverse hyperbolic cosinus of the input.10 Arc tangent Outputs the arc tangent of the input. Outputs : atan(y/x). 10.4.3.1 Arguments Boolean Boolean button with value for true and for false. 10.3.4 10.12 Inverse hyperbolic sinus Outputs the inverse hyperbolic sinus of the input. y. 10.2 Slider Basic slider with min/max.

10. Outputs : chan 0.3 Indexed Indexed popup button with multiple values. loop and release. Use left and right arrow to change interpolation type. 10.7 XY Pad Two sliders combined in a XY pad. Outputs : x. 10. Outputs : value.4.5. Double-click to insert a point. Outputs : pts. 10. 10.4.8 Audio file argument User selectable audio file with preset channel count.6 Points Frequency Set of points suitable for fft conversion or generation. Outputs : pts. Delete key to remove a point.4. Antoine Missout c 32 .5 10.4. Delete key to remove a point.4. Double-click to insert a point.4 Points Set of points making a line.9 Keyboard Tap Emits a single 1 when receiving a key stroke. Use left and right arrow to change interpolation type. Double-click to insert a point. Use left and right arrow to change interpolation type. Delete key to remove a point. 10.SonicBirth Manual 10 LIST OF ELEMENTS 10. 10.1 Midi arguments Midi slider Outputs the value of the a midi parameter in a user supplied range.4.5 Points Envelope Set of points defining attack. Outputs : pts. y. Outputs : value. Outputs : tap.4.

(Y controller is always the one following the X controller). up to a maximum of 16.. Inputs : in.) An oscilloscope that can be used in the plugin interface. midi controllable. loop and release time in milliseconds. y. Inputs : in.5. 60000 milliseconds. pts. You can select to hold the last note pressed.1 Display Display value Shows the first value of the input of each audio cycle. then outputed.5. Outputs : x.5 Midi multi note envelope Duplicates the subcircuit on the fly for each pressed note. res.3 Midi mono note Outputs the note and velocity (in the range 0 . Both are clamped to 0 . Inputs : atck.2 Display Osc. 60000 milliseconds.1) of the current presser note.4 Midi multi note Duplicates the subcircuit on the fly for each pressed note. Inputs : atck. All are clamped to 0 .6. Can be used in the plugin interface.5. The outputs of these subcircuits are summed. 10. 10. velo.2 Midi note state Outputs the state (pressed or not) and velocity (0 to 1) for each specified note. rlse. 10. You can specify the attack and release time in milliseconds. 10.. An oscilloscope that can be used in the plugin interface. You must stop/start for changes to take effect.6 10. Outputs : note. (Var. Inputs : in. loop.6. numb.SonicBirth Manual 10 LIST OF ELEMENTS 10. 10. up to a maximum of 16. You can specify the attack. You must stop/start for changes to take effect. then outputed.5.5.6. Antoine Missout c 33 . 10. The outputs of these subcircuits are summed. rlse. res.6 Midi XY Pad Two sliders combined in a XY pad.3 Display Osc. 10.

b). The output is in positive linear units. Outputs : env. 10.SonicBirth Manual 10 LIST OF ELEMENTS 10.7.6.5 to over 0. Inputs : in. Is considred an event when its input passes from under or equal to 0.5. rlse. Outputs : out.4 Debug Shows the first value of the input of each audio cycle. Inputs : in. Inputs : in.5 Debug Osc.2 Look ahead Basic look ahead: outputs the current enveloppe of the input signal. in milliseconds. Outputs : min(a.7. Uses the last 4 events to average the bpm. Inputs : in. b. 10.7. Inputs : in. Outputs : bpm. Antoine Missout c 34 .7. env. 10.1 Comparators Minimum Outputs the smallest of both inputs. atck.8.3 BPM Counter BPM counter analyses its input and outputs the current bpm. 10.8 10.4 Display Meter A value meter that can be used in the plugin interface. and the delayed signal.1 Analysis Envelope Follower Envelope follower with variable attack and release time. Inputs : a. An oscilloscope for debugging purpose. 10. 10.7 10.7. Inputs : in.

SonicBirth Manual 10 LIST OF ELEMENTS 10. b. b.9. Outputs : o. Inputs : a. Outputs : o. Outputs : ms. 10. 10. c. d.8.3 Linear to db Converts linear values into decibels. Outputs : o.8.3 Sort Outputs the min and max of both inputs.5 Equal If (a = b) the outputs c else outputs d.9 10. Inputs : a. Outputs : smpl. b. b. 10.9.b). Outputs : db. b.8. 10. 10.8.1 Converters Msec to samples Converts milliseconds into samples. Inputs : ms. d.4 Less If (a < b) the outputs c else outputs d. Inputs : a. 10. c.8. 10. Outputs : min. Inputs : a. Inputs : a.2 Samples to msec Converts samples into milliseconds. Inputs : smpl. c. d.9. Outputs : max(a. Antoine Missout c 35 .6 Greater If (a > b) the outputs c else outputs d.2 Maximum Outputs the largest of both inputs. max. Inputs : lin.

SonicBirth Manual 10 LIST OF ELEMENTS 10. p. Inputs : in. Outputs : sawave.9. 10. 10.11. of frequency f (hz). Outputs : tone.10. Inputs : in. max delay: 100000 samples).10.2 Fast Sine Wave Generates a sine wave. dly.3 Saw Wave Generates a saw wave. 10. of frequency f (hz) and phase p (0 to 2pi).11. dly. 10.1 Delays Delay Delays the input signal by a variable time (maximum is user specified . Outputs : out. Outputs : lin. using 16 points Blackman windowed sinc interpolation (min delay: 8 samples. Inputs : f.11.10 10. Antoine Missout c 36 . dly.11 10. p. The dly input is in seconds. 10.10.clamped to 60 seconds). Inputs : db. Outputs : out. Inputs : f. Inputs : in. Low cpu usage.4 Db to linear Converts decibels into linear values. 10.2 Delay (samples) Delays the input signal by a variable time in samples (max: 100000). Outputs : tone.1 Generators Sine Wave Generates a sine wave.3 Delay Sinc (samples) Delays the input signal by a variable time in samples. Inputs : f. of frequency f (hz) and phase p (0 to 2pi). Outputs : out.

Antoine Missout c 37 . Inputs : f. 10.7 White Noise Generates white noise (random values between -1 and 1. 10. with gaussian distribution).9 Random Generates random values between -1 and 1.8 Pink Noise Generates pink noise (1/f noise). Outputs : rnd. 10.11. of frequency f (hz) and phase p (0 to 2pi).. Inputs : f. of frequency f (hz) and phase p (0 to 2pi). Outputs : swave.10 Random ramp Generates random values between -1 and 1.4 Triangle Wave Generates a triangle wave.5 Square wave Generates a square wave.11. Outputs : pnoise. p.11 FFT Generator Generates waves using FFT based on input points.6 Linear Noise Generates linear noise (random values between -1 and 1). Outputs : twave. changing the value at frequency f. p. Outputs : lnoise. 10. changing the value at frequency f.11. 10. 10. Outputs : wnoise.11.11.SonicBirth Manual 10 LIST OF ELEMENTS 10. Outputs : snd. interpolating between values. 10.11.11. Outputs : rnd. Inputs : pts.11. Inputs : f. Inputs : f.

that is 1. f.12.SonicBirth Manual 10 LIST OF ELEMENTS 10. f. Parametric Eq: f is the center frequency.6 Highpass Highpass filter.1 octave). f.12. Inputs : in. Outputs : out. g is the gain or cut in dB (clamped in the range -15 . Outputs : out. Inputs : in. 20000]).12 10.3 and 15. with variable cutoff frequency (clamped to [1. 12/db octave (Butterworth).3 Peak Peaking eq. with constant Q (10) and dB gain (20 dB). g.12. 12/db octave (Butterworth). Inputs : in. Inputs : in. f.4 Notch Notch with constant bandwitdh (0.12. Inputs : in. Outputs : out. 20000]).7 Resonant lowpass Resonant lowpass filter..414.2 Parametric Eq. 12/db octave (Butterworth).1 for max resonance. Q... 10.12. with variable cutoff frequency (clamped to [1. r. Q should be between 0. Outputs : out.5 Lowpass Lowpass filter. 10. 15). 10.. Outputs : out. Inputs : in. f. 10. Inputs : in.12. f. with variable cutoff frequency (clamped to [20. 10. Antoine Missout c 38 . Resonance should be between sqrt(2). for no resonance. Outputs : out. Outputs : out.1 Filters DC Blocker Cuts frequencies below 20 hz.12. 10. and 0. 20000]).

but only checks its parameter once per audio cycle. 10. 10. Outputs : out. Outputs : out. low. Outputs : out..12. that is 1.10 Bandstop 24db/octave bandstop. 12/db octave (Butterworth). Antoine Missout c 39 . f. Outputs : out. and 0. Inputs : in. 10. but only checks its parameter once per audio cycle.12 Lowpass (fast) Same as lowpass. 20000]). Outputs : out.12.1 for max resonance. f1.SonicBirth Manual 10 LIST OF ELEMENTS 10. Inputs : in.11 Bandpass 24db/octave bandpass. Outputs : out.12.15 Resonant highpass (fast) Same as resonant highpass. with variable cutoff frequency (clamped to [20. f2. Resonance should be between sqrt(2). r.. Inputs : in. r. f. Inputs : in. Outputs : out.14 Resonant lowpass (fast) Same as resonant lowpass. Inputs : in.12.8 Resonant highpass Resonant highpass filter.12.9 Crossover Linkwitz-Riley 24db/octave crossover. f.12.. Inputs : in. 10. 10. 10. f.414. but only checks its parameters once per audio cycle. but only checks its parameters once per audio cycle.12.13 Highpass (fast) Same as highpass. f2. f. f. 10. for no resonance. f1. Inputs : in.12. Inputs : in. r. Outputs : high.

12. dly. a. with variable delay.17 Bandstop (fast) Same as bandstop.12. low. and you can mix between the two using input m [0. clamped between 0 and 1 sec. with variable delay. 10.20 Feedback Comb Feedback comb. 10. f2.22 Formant filter Formant filter with variable phonemes.SonicBirth Manual 10 LIST OF ELEMENTS 10.1]. 10. f2. f1. but only checks its parameters once per audio cycle. Inputs : in. Outputs : out. 10. Inputs : in. b. clamped between 0 and 1 sec. a.19 Allpass Allpass.12. Outputs : out. y(t) = a*x(t) + b*x(t-dly) Inputs : in. dly. Equivalent to a feedback comb filter followed by a feedforward comb filter. y(t) = a*x(t) . another on v2. f. b. Outputs : high. b. 10. with variable delay. dly. Inputs : in.12. f1.b*y(t-dly) Inputs : in. Outputs : out. Choose one on v1. Here are the phonemes: phoneme 0: eee (beet) phoneme 1: ihh (bit) phoneme 2: ehh (bet) phoneme 3: aaa (bat) phoneme 4: ahh (father) phoneme 5: aww (bought) phoneme 6: uhh (but) phoneme 7: uuu (foot) phoneme 8: ooo (boot) phoneme 9: rrr (bird) phoneme 10: lll (lull) phoneme 11: mmm (mom) phoneme 12: nnn (nun) Antoine Missout c 40 . Outputs : out.b*y(t-dly) Inputs : in.12.18 Bandpass (fast) Same as bandpass. y(t) = a*x(t) + x(t-dly) .12.21 Feedforward Comb Feedforward comb. but only checks its parameters once per audio cycle. but only checks its parameter once per audio cycle.12.16 Crossover (fast) Same as crossover. a. 10. Outputs : out. clamped between 0 and 1 sec.

1]. 10. sr. Both these values should be between 0 and 1.3 Scraper (quick) Degrades quality of sampling rate. speed is negated. 10. Outputs : out. Less precise but faster version. 1]. Character is the hardness of the sound. Outputs : o. 10. Inputs : in. Outputs : out. Outputs : out. If end is smaller than start. 10. v1.13.15. bd. Level is how much the signal is driven against the limit of the valve. lv.SonicBirth Manual 10 LIST OF ELEMENTS Inputs : i. m. v2. sr.14. Inputs : in. Inputs : in. where 0 is lowest quality and 1 is original signal).1 Distortion Valve Valve distortion simulation. Start and end represents the playing offset.14. bd. Level and character range is 0 to 1. Inputs : in.14 10.13 10.1 Feedback Feedback Allows a feedback loop. and bit depth (parameters in the range [0.010000 seconds). ch.15.15 10.2 Audio player Audio player plays the audio from the buffer when trig is non-zero. 10. with fixed delay (0. 10.1 Audio file Audio file Loads an audio file and outputs each channel. where 0 is lowest quality and 1 is original signal). Playing will loop if the loop Antoine Missout c 41 .14.2 Scraper Degrades quality of sampling rate. Outputs : out. and bit depth (parameters in the range [0.

16. imag. Outputs : real. 10.16.16. phas. start. in. real. end.7 Points To FFT Transforms a points function into frequency amplitudes. phas. Inputs : sync. range.16.16. Inputs : trig. i1. Outputs : ro. 10. 10. Outputs : sync. Range is in db. Inputs : sync.4 Complex to Polar Converts complex fft blocks into polar fft blocks. r1. imag. A negative speed means the buffers is played reversed. imag. imag.16. 10. i2. 10. Outputs : real.5 Polar to Complex Converts polar fft blocks into complex fft blocks. Outputs : o. Antoine Missout c 42 . loop. Inputs : sync. Inputs : sync. r2. should be between -5 and 5. Outputs : real. with variable block size (delay). buf.6 Convolve Convolve two fft signals (in the complex plane).3 Inverse FFT Outputs the inverse fft of the input. imag. Inputs : sync. 10. Speed give the playing speed.SonicBirth Manual 10 LIST OF ELEMENTS input is non-zero. io. 10. pts. speed.16 10. ampl. Inputs : sync. Outputs : ampl.1 FFT FFT Sync States the fft size and block positions.16. real.2 Forward FFT Outputs the forward fft of the input. Outputs : out.

sinh(x).5 Samplerate Doubler Audio processing inside this circuit is done at double sample rate. af. imag.17 10.17. You can use these functions: sin(x). log(x).i0*2*3 and i0*(2*3) .3 Equation A mathematical equation.y). tan(x). abs(x). exp(x). pow(x. The subcircuit which is entered when clicking next depends on the selected row in the settings window. outputs 0 otherwise. log10(x). Inputs : i0. asinh(x). 10. ceil(x).4 Piecewise circuit Depending on the value of the range input. cosh(x). tanh(x).SonicBirth Manual 10 LIST OF ELEMENTS 10. 10. asin(x).16. mod(x.i0*i0*i0*i0 and (i0*i0)*(i0*i0) You can also enter an equation in the constant element (sqrt(2) for example). sqrt(x). inv(x). 10. min(x.y). Inputs : sync. which can be useful (sounds better) for some type of calculations (filters). 10. Outputs : o. 10.y). Outputs : real.y).17. Speed: compare the execute plan for: . atanh(x). Inputs : range. acosh(x). revsqrt(x).17.17.y).17.2 Constant A constant number. acos(x). a specific subcircuit is executed.1 Miscellaneous Circuit A circuit inside another. atan2(x. Outputs : o.17. Antoine Missout c 43 .6 Timer Outputs the time in seconds.8 Audio file To FFT Transforms an audio file to an fft block (considering samples up to half the fft block size). nearint(x). when run is 1. max(x. This value is checked once per block of samples. floor(x). cos(x). atan(x). Time is reset then run switchs to 1. 10. Inputs : run.

should be between -5 and 5. 10. y. width: 0 to 1. width.If the max is equal or smaller than 0. width and height as size. In record mode. start.999. 1]. max. wet: 0 to 3.10 Points apply Applies the points function using x and y as origin. Outputs : out. Speed give the playing speed. Outputs : o. start and end represents the playing offset.17.17. h. looping back to 0 when arriving to the max time specified. infinities and nan (not a number). In playing mode. freeze.11 Bufferizer Buffer object with three modes: silence (0). damp. Outputs : out1. record (2). then it does not loop. out2.9 Cleaner Removes denormals. room size. in2. If end is smaller than start. etc). speed is negated.17. wet. dry. The signal can optinnaly be clamped to [-1 . Inputs : in. Inputs : i. 10.5 to 0. freeze: 0/no or 1/yes) Inputs : in1. damp: 0 to 1. w. mode.17. x. pts. Outputs : time.17. dry: 0 to 2. Time is reset then run switchs to 1. 10. 10. end.SonicBirth Manual 10 LIST OF ELEMENTS Outputs : time. 10. play (1). (Room size: 0.8 Freeverb Jezar’s freeverb. Outputs : out. Loops back to 0 when arriving to the max time specified. speed. the buffer is filled from start up to its capacity. Antoine Missout c 44 . Use this if your circuit can potentially create those numbers (division by 0. Both these values should be between 0 and 1. Inputs : in. A negative speed means the buffers is played reversed. Playing will loop if the loop input is non-zero. Inputs : run. loop..7 Timer loop Outputs the time in seconds. tan(pi/2).

4096 samples latency. on. Max reverb length: 2457600 samples.4 MBs Inputs : in. 10.SonicBirth Manual 10 LIST OF ELEMENTS 10. at 50 a trapezoidal envelope.17.12 Trigger Trigger sends either the on value or off value depending on its internal state.16 AudioUnit (midi) Wraps a third party audiounit. r. Outputs : o. 10. Inputs : i. beat.17.15 AudioUnit Wraps a third party audiounit.17.14 Convolving reverb Convolving reverb. rt. srndness. Outputs : o. LRandomness is a value between 0 and 1 affecting the grain’s length. its stated is turned off. If the t (trigger) input is higher than the tt (trigger threshold) input.13 Change Slower Slows the rate of change of the input on a specified amount of milliseconds. ramp.Silence is the duration of silence between grains in seconds (max 10 seconds). off.Ramp is a value between 0 and 100. lrndness. voices. Memory usage at max reverb length: 75. Inputs : tt.17. ir. Antoine Missout c 45 . DRandomness is a value between 0 and 1 affecting the grain’s delay. SRandomness is a value between 0 and 1 affecting the silence’s length. delay.17 Granulate effect Granulator effect. drndness. At 100 it gives a triangular envelope. 10. Its state is initialized as off.17. Voices is the number of simultaneous grains (max 100). length. At 0 no attack or decay is used. Delay is max delay in seconds to create grain from (max 10 seconds).17. Inputs : tempo. the state is turned on. t. 10. Outputs : out. In case both events are occuring simultaneously. its state is turned on. Inputs : tempo. beat. Length is the duration of grains in seconds (max 1 second). If the r (reset) input is higher than the rt (reset threshold) input. 10. silence. Inputs : i. Outputs : o.

Antoine Missout c 46 .SonicBirth Manual 10 LIST OF ELEMENTS 10.18 Granulate effect with pitch Granulator effect with variable picth.2 Bit Precision Sets the bit precision of the audio engine. length. ramp.18.Silence is the duration of silence between grains in seconds (max 10 seconds).17. srndness.18.Pitch is the grain playing speed (0. At 100 it gives a triangular envelope. DRandomness is a value between 0 and 1 affecting the grain’s delay. At 0 no attack or decay is used.18. SRandomness is a value between 0 and 1 affecting the silence’s length. Inputs : i. Outputs : o. at 50 a trapezoidal envelope.Ramp is a value between 0 and 100. delay. 10. voices. drndness.3 Midi settings MIDI settings central control.can be negative.5 to 5) . Length is the duration of grains in seconds (max 1 second).1 Internal Interpolation Precision Sets the interpolation type of the audio engine. 10.18 10. Voices is the number of simultaneous grains (max 100). LRandomness is a value between 0 and 1 affecting the grain’s length. pitch. silence. PRandomness is a value between 0 and 1 affecting the pitch. 10. Delay is max delay in seconds to create grain from (max 10 seconds). lrndness. prndness.