Native Instruments Reaktor Core Instruction Manual

4.8 (5)

REAKTOR CORE

Tutorial

The information in this document is subject to change without notice and does not represent a commitment on the part of Native Instruments Software Synthesis GmbH. The software described by this document is subject to a License Agreement and may not be copied to other media. No part of this publication may be copied, reproduced or otherwise transmitted or recorded, for any purpose, without prior written permission by Native Instruments Software Synthesis GmbH. All product and company names are trademarks of their respective owners.

And also, if you’re reading this, it means you bought the software rather than stole it. It’s because of people like you that we can continue to create great tools and update them. So, thank you very much.

Manual written by NI and Len Sasso

© Native Instruments Software Synthesis GmbH, 2005. All rights reserved.

REAKTOR, REAKTOR 5 and REAKTOR CORE are a trademarks of Native Instruments Software Synthesis.

Germany

USA

Native Instruments GmbH

Native Instruments USA, Inc.

Schlesische Str. 28

5631 A Hollywood Boulevard

D-10997 Berlin

Los Angeles, CA 90028

Germany

USA

info@native-instruments.de

info@native-instruments.com

www.native-instruments.de

www.native-instruments.com

Table of Contents

 

1. First steps in Reaktor Core.....................................................................

11

1.1. What is Reaktor Core ...............................................................

11

1.2. Using core cells.......................................................................

12

1.3. Using core cells in a real example..............................................

15

1.4. Basic editing of core cells.........................................................

17

2. Getting into Reaktor Core ......................................................................

22

2.1. Event and audio core cells .......................................................

22

2.2. Creating your first core cell.......................................................

24

2.3. Audio and control signals ........................................................

36

2.4. Building your first Reaktor Core macros.....................................

42

2.5. Using audio as control signal ....................................................

49

2.6. Event signals..........................................................................

50

2.7. Logic signals ..........................................................................

54

3. Reaktor Core fundamentals: the core signal model.................................

56

3.1. Values ...................................................................................

56

3.2. Events...................................................................................

56

3.3. Simultaneous events...............................................................

59

3.4. Processing order .....................................................................

61

3.5. Event core cells reviewed.........................................................

62

4. Structures with internal state................................................................

68

4.1. Clock signals..........................................................................

68

4.2. Object Bus Connections ..........................................................

69

4.3. Initialization............................................................................

72

4.4. Building an event accumulator ..................................................

75

4.5. Event merging.........................................................................

76

4.6. Event accumulator with reset and initialization...........................

78

4.7. Fixing the event shaper............................................................

84

5. Audio processing at its core..................................................................

87

5.1. Audio signals..........................................................................

87

5.2. Sampling rate clock bus..........................................................

89

5.3. Connection feedback ..............................................................

90

5.4. Feedback around macros.........................................................

93

5.5. Denormal values.....................................................................

97

5.6. Other bad numbers................................................................

101

5.7. Building a 1-pole low pass filter...............................................

101

REAKTOR CORE – III

6. Conditional processing........................................................................

105

6.1. Event routing.........................................................................

105

6.2. Building a signal clipper.........................................................

107

6.3. Building a simple sawtooth oscillator .......................................

108

7. More signal types................................................................................

110

7.1. Float signals..........................................................................

110

7.2. Integer signals.......................................................................

112

7.3. Building an event counter .......................................................

114

7.4. Building a rising edge counter macro........................................

116

8. Arrays.................................................................................................

119

8.1. Introduction to arrays.............................................................

119

8.2. Building an audio signal selector .............................................

122

8.3. Building a delay ....................................................................

128

8.4. Tables.................................................................................

134

9. Building optimal structures..................................................................

139

9.1. Latches and modulation macros ..............................................

139

9.2. Routing and merging..............................................................

140

9.3. Numerical operations.............................................................

141

9.4. Conversions between floats and integers ..................................

141

Appendix A. Reaktor Core user interface..................................................

143

A.1. Core cells .............................................................................

143

A.2. Core modules/macros ............................................................

143

A.3. Core ports ............................................................................

144

A.4. Core structure editing ............................................................

144

Appendix B. Reaktor Core concept...........................................................

145

B.1. Signals and events.................................................................

145

B.2. Initialization..........................................................................

145

B.3. OBC connections ..................................................................

145

B.4. Routing................................................................................

145

B.5. Latching...............................................................................

146

B.6. Clocking...............................................................................

146

Appendix C. Core macro ports..................................................................

147

C.1. In ........................................................................................

147

C.2. Out......................................................................................

147

C.3. Latch (input).........................................................................

147

C.4. Latch (output).......................................................................

147

C.5. Bool C (input) .......................................................................

147

C.6. Bool C (output) .....................................................................

148

IV – REAKTOR CORE

Appendix D. Core cell ports .....................................................................

149

D.1. In (audio mode).....................................................................

149

D.2. Out (audio mode)..................................................................

149

D.3. In (event mode) ....................................................................

149

D.4. Out (event mode) ..................................................................

149

Appendix E. Built-in busses .....................................................................

150

E.1. SR.C ....................................................................................

150

E.2. SR.R....................................................................................

150

Appendix F. Built-in modules....................................................................

150

F.1. Const....................................................................................

150

F.2. Math > + ..............................................................................

150

F.3. Math > - ...............................................................................

151

F.4. Math > *...............................................................................

151

F.5. Math > / ...............................................................................

151

F.6. Math > |x| .............................................................................

151

F.7. Math > –x..............................................................................

151

F.8. Math > DN Cancel .................................................................

152

F.9. Math > ~log ..........................................................................

152

F.10. Math > ~exp........................................................................

152

F.11. Bit > Bit AND ......................................................................

152

F.12. Bit > Bit OR ........................................................................

153

F.13. Bit > Bit XOR ......................................................................

153

F.14. Bit > Bit NOT ......................................................................

153

F.15. Bit > Bit <<.........................................................................

153

F.16. Bit > Bit >>.........................................................................

154

F.17. Flow > Router ......................................................................

154

F.18. Flow > Compare...................................................................

154

F.19. Flow > Compare Sign............................................................

154

F.20. Flow > ES Ctl......................................................................

155

F.21. Flow > ~BoolCtl...................................................................

155

F.22. Flow > Merge ......................................................................

155

F.23. Flow > EvtMerge..................................................................

156

F.24. Memory > Read...................................................................

156

F.25. Memory > Write...................................................................

156

F.26. Memory > R/W Order ...........................................................

156

F.27. Memory > Array ...................................................................

157

F.28. Memory > Size [ ]................................................................

157

F.29. Memory > Index ..................................................................

157

F.30. Memory > Table...................................................................

158

F.31. Macro.................................................................................

158

REAKTOR CORE – V

Appendix G. Expert macros......................................................................

159

G.1. Clipping > Clip Max / IClip Max ...............................................

159

G.2. Clipping > Clip Min / IClip Min................................................

159

G.3. Clipping > Clip MinMax / IClipMinMax .....................................

159

G.4. Math > 1 div x......................................................................

159

G.5. Math > 1 wrap......................................................................

159

G.6. Math > Imod ........................................................................

160

G.7. Math > Max / IMax ................................................................

160

G.8. Math > Min / IMin.................................................................

160

G.9. Math > round........................................................................

160

G.10. Math > sign +-....................................................................

160

G.11. Math > sqrt (>0) .................................................................

160

G.12. Math > sqrt ........................................................................

161

G.13. Math > x(>0)^y ..................................................................

161

G.14. Math > x^2 / x^3 / x^4 ........................................................

161

G.15. Math > Chain Add / Chain Mult .............................................

161

G.16. Math > Trig-Hyp > 2 pi wrap.................................................

161

G.17. Math > Trig-Hyp > arcsin / arccos / arctan ..............................

161

G.18. Math > Trig-Hyp > sin / cos / tan...........................................

162

G.19. Math > Trig-Hyp > sin –pi..pi / cos –pi..pi / tan –pi..pi .............

162

G.20. Math > Trig-Hyp > tan –pi4..pi4 ...........................................

162

G.21. Math > Trig-Hyp > sinh / cosh / tanh .....................................

162

G.22. Memory > Latch / ILatch......................................................

162

G.23. Memory > z^-1 / z^-1 ndc....................................................

162

G.24. Memory > Read []...............................................................

163

G.25. Memory > Write []...............................................................

163

G.26. Modulation > x + a / Integer > Ix + a .....................................

163

G.27. Modulation > x * a / Integer > Ix * a ......................................

163

G.28. Modulation > x – a / Integer > Ix – a......................................

164

G.29. Modulation > a – x / Integer > Ia – x......................................

164

G.30. Modulation > x / a...............................................................

164

G.31. Modulation > a / x ...............................................................

164

G.32. Modulation > xa + y.............................................................

164

Appendix H. Standard macros..................................................................

165

H.1. Audio Mix-Amp > Amount ......................................................

165

H.2. Audio Mix-Amp > Amp Mod ...................................................

165

H.3. Audio Mix-Amp > Audio Mix...................................................

165

H.4. Audio Mix-Amp > Audio Relay ................................................

165

H.5. Audio Mix-Amp > Chain (amount) ...........................................

166

H.6. Audio Mix-Amp > Chain (dB)..................................................

166

VI – REAKTOR CORE

H.7. Audio Mix-Amp > Gain (dB)....................................................

166

H.8. Audio Mix-Amp > Invert.........................................................

167

H.9. Audio Mix-Amp > Mixer 2 … 4 ...............................................

167

H.10. Audio Mix-Amp > Pan..........................................................

167

H.11. Audio Mix-Amp > Ring-Amp Mod ..........................................

167

H.13. Audio Mix-Amp > Stereo Mixer 2 … 4 ...................................

168

H.14. Audio Mix-Amp > VCA..........................................................

168

H.15. Audio Mix-Amp > XFade (lin) ................................................

169

H.16. Audio Mix-Amp > XFade (par) ...............................................

169

H.17. Audio Shaper > 1+2+3 Shaper..............................................

169

H.18. Audio Shaper > 3-1-2 Shaper ...............................................

169

H.19. Audio Shaper > Broken Par Sat.............................................

170

H.20. Audio Shaper > Hyperbol Sat ...............................................

170

H.21. Audio Shaper > Parabol Sat .................................................

170

H.22. Audio Shaper > Sine Shaper 4 / 8.........................................

171

H.23. Control > Ctl Amount ..........................................................

171

H.24. Control > Ctl Amp Mod........................................................

171

H.25. Control > Ctl Bi2Uni............................................................

171

H.26. Control > Ctl Chain .............................................................

172

H.27. Control > Ctl Invert..............................................................

172

H.28. Control > Ctl Mix ................................................................

172

H.29. Control > Ctl Mixer 2...........................................................

172

H.30. Control > Ctl Pan................................................................

173

H.31. Control > Ctl Relay ..............................................................

173

H.32. Control > Ctl XFade.............................................................

173

H.33. Control > Par Ctl Shaper......................................................

173

H.34. Convert > dB2AF................................................................

174

H.35. Convert > dP2FF ................................................................

174

H.36. Convert > logT2sec .............................................................

174

H.37. Convert > ms2Hz ................................................................

174

H.38. Convert > ms2sec...............................................................

175

H.39. Convert > P2F ....................................................................

175

H.40. Convert > sec2Hz ...............................................................

175

H.41. Delay > 2 / 4 Tap Delay 4p...................................................

175

H.42. Delay > Delay 1p / 2p / 4p ...................................................

175

H.43. Delay > Diff Delay 1p / 2p / 4p.............................................

176

H.44. Envelope > ADSR ...............................................................

176

H.45. Envelope > Env Follower ......................................................

177

H.46. Envelope > Peak Detector....................................................

177

H.47. EQ > 6dB LP/HP EQ............................................................

177

REAKTOR CORE – VII

H.48. EQ > 6dB LowShelf EQ .......................................................

177

H.49. EQ > 6dB HighShelf EQ.......................................................

178

H.50. EQ > Peak EQ ....................................................................

178

H.51. EQ > Static Filter > 1-pole static HP .....................................

178

H.52. EQ > Static Filter > 1-pole static HS .....................................

178

H.53. EQ > Static Filter > 1-pole static LP......................................

179

H.54. EQ > Static Filter > 1-pole static LS......................................

179

H.55. EQ > Static Filter > 2-pole static AP .....................................

179

H.56. EQ > Static Filter > 2-pole static BP .....................................

179

H.57. EQ > Static Filter > 2-pole static BP1....................................

179

H.58. EQ > Static Filter > 2-pole static HP....................................

180

H.59. EQ > Static Filter > 2-pole static HS ....................................

180

H.60. EQ > Static Filter > 2-pole static LP.....................................

180

H.61. EQ > Static Filter > 2-pole static LS.....................................

180

H.62. EQ > Static Filter > 2-pole static N .......................................

181

H.63. EQ > Static Filter > 2-pole static Pk......................................

181

H.64. EQ > Static Filter > Integrator ..............................................

181

H.65. Event Processing > Accumulator...........................................

181

H.66. Event Processing > Clk Div...................................................

182

H.67. Event Processing > Clk Gen..................................................

182

H.68. Event Processing > Clk Rate.................................................

182

H.69. Event Processing > Counter..................................................

182

H.70. Event Processing > Ctl2Gate ...............................................

183

H.71. Event Processing > Dup Flt / IDup Flt...................................

183

H.72. Event Processing > Impulse.................................................

183

H.73. Event Processing > Random ................................................

183

H.74. Event Processing > Separator / ISeparator.............................

183

H.75. Event Processing > Thld Crossing.........................................

184

H.76. Event Processing > Value / IValue.........................................

184

H.77. LFO > MultiWave LFO .........................................................

184

H.78. LFO > Par LFO ..................................................................

184

H.79. LFO > Random LFO.............................................................

185

H.80. LFO > Rect LFO .................................................................

185

H.81. LFO > Saw(down) LFO.........................................................

185

H.82. LFO > Saw(up) LFO ............................................................

185

H.83. LFO > Sine LFO.................................................................

186

H.84. LFO > Tri LFO ...................................................................

186

H.85. Logic > AND .....................................................................

186

H.86. Logic > Flip Flop................................................................

186

H.87. Logic > Gate2L ..................................................................

186

VIII – REAKTOR CORE

H.88. Logic > GT / IGT.................................................................

187

H.89. Logic > EQ.........................................................................

187

H.90. Logic > GE.........................................................................

187

H.91. Logic > L2Clock..................................................................

187

H.92. Logic > L2Gate...................................................................

187

H.93. Logic > NOT......................................................................

188

H.94. Logic > OR........................................................................

188

H.95. Logic > XOR......................................................................

188

H.96. Logic > Schmitt Trigger ......................................................

188

H.97. Oscillators > 4-Wave Mst.....................................................

188

H.98. Oscillators > 4-Wave Slv ......................................................

189

H.99. Oscillators > Binary Noise ....................................................

189

H.100. Oscillators > Digital Noise ..................................................

189

H.101. Oscillators > FM Op ...........................................................

190

H.102. Oscillators > Formant Osc ..................................................

190

H.103. Oscillators > MultiWave Osc................................................

190

H.104. Oscillators > Par Osc .........................................................

190

H.105. Oscillators > Quad Osc.......................................................

191

H.106. Oscillators > Sin Osc .........................................................

191

H.107. Oscillators > Sub Osc 4......................................................

191

H.108. VCF > 2 Pole SV ...............................................................

191

H.109. VCF > 2 Pole SV C ............................................................

192

H.110. VCF > 2 Pole SV (x3) S ......................................................

192

H.111. VCF > 2 Pole SV T (S)........................................................

192

H.112. VCF > Diode Ladder...........................................................

193

H.113. VCF > D/T Ladder .............................................................

193

H.114. VCF > Ladder x3 ...............................................................

193

Appendix I. Core cell library ....................................................................

194

I.1. Audio Shaper > 3-1-2 Shaper...................................................

194

I.2. Audio Shaper > Broken Par Sat................................................

194

I.3. Audio Shaper > Hyperbol Sat...................................................

194

I.4. Audio Shaper > Parabol Sat.....................................................

195

I.5. Audio Shaper > Sine Shaper 4/8..............................................

195

I.6. Control > ADSR .....................................................................

195

I.7. Control > Env Follower.............................................................

196

I.8. Control > Flip Flop .................................................................

196

I.9. Control > MultiWave LFO.........................................................

196

I.10. Control > Par Ctl Shaper........................................................

197

I.11. Control > Schmitt Trigger.......................................................

197

I.12. Control > Sine LFO ...............................................................

197

REAKTOR CORE – IX

I.13. Delay > 2/4 Tap Delay 4p......................................................

198

I.14. Delay > Delay 4p..................................................................

198

I.15. Delay > Diff Delay 4p............................................................

198

I.16. EQ > 6dB LP/HP EQ.............................................................

198

I.17. EQ > HighShelf EQ................................................................

199

I.18. EQ > LowShelf EQ................................................................

199

I.19. EQ > Peak EQ ......................................................................

199

I.20. EQ > Static Filter > 1-pole static HP ......................................

199

I.21. EQ > Static Filter > 1-pole static HS......................................

200

I.22. EQ > Static Filter > 1-pole static LP......................................

200

I.23. EQ > Static Filter > 1-pole static LS......................................

200

I.24. EQ > Static Filter > 2-pole static AP......................................

200

I.25. EQ > Static Filter > 2-pole static BP.......................................

201

I.26. EQ > Static Filter > 2-pole static BP1.....................................

201

I.27. EQ > Static Filter > 2-pole static HP.......................................

201

I.28. EQ > Static Filter > 2-pole static HS ......................................

201

I.29. EQ > Static Filter > 2-pole static LP......................................

202

I.30. EQ > Static Filter > 2-pole static LS......................................

202

I.31. EQ > Static Filter > 2-pole static N........................................

202

I.32. EQ > Static Filter > 2-pole static Pk ......................................

202

I.33. Oscillator > 4-Wave Mst.......................................................

203

I.34. Oscillator > 4-Wave Slv........................................................

203

I.35. Oscillator > Digital Noise......................................................

204

I.36. Oscillator > FM Op ..............................................................

204

I.37. Oscillator > Formant Osc ......................................................

204

I.38. Oscillator > Impulse ............................................................

204

I.39. Oscillator > MultiWave Osc...................................................

205

I.40. Oscillator > Quad Osc..........................................................

205

I.41. Oscillator > Sub Osc ............................................................

205

I.42. VCF > 2 Pole SV C ..............................................................

206

I.43. VCF > 2 Pole SV T...............................................................

206

I.44. VCF > 2 Pole SV x3 S...........................................................

207

I.45. VCF > Diode Ladder .............................................................

207

I.46. VCF > D/T Ladder ...............................................................

208

I.47. VCF > Ladder x3..................................................................

208

Index ......................................................................................................

209

X – REAKTOR CORE

1. First steps in Reaktor Core

1.1. What is Reaktor Core

Reaktor Core is a new level of functionality within Reaktor with a new and different set of features. Because there is also an older level of functionality, we will hereinafter refer to these two levels as the core level and the primary level, respectively. Also when we say “primary-level structure” we will mean the structure of an instrument or macro, but not the structure of an ensemble. The features of Reaktor Core are not directly compatible with those of the primary level, so some interfacing is required between them, and that comes in the form of core cells. Core cells exist inside primary-level structures, and they look similar and behave similarly to primary-level built-in modules. Here is an example structure, using a HighShelf EQ core cell, which differs from the primary-level built-in module version in that it has frequency and boost controls:

Inside of core cells are Reaktor Core structures. Those provide an efficient way to implement custom low-level DSP functionality as well as to build larger-scale signal-processing structures using such functionality. We will take a detailed look at these structures later.

Although one of the main purposes of Reaktor Core is to build low level DSP structures, it is not limited to that. For users with little DSP programming experience, we have provided a library of pre-built modules, which you can connect inside core structures, just as you do with ordinary modules and macros in primary-level structures. We have also provided you with a library of pre-built core cells, which are immediately available for you to use in pri- mary-level structures.

In the future, Native Instruments will put less emphasis on creating new primary-level modules. Instead, we will use our new Reaktor Core technology and provide them in the form of core cells. For example, you will already find a set of new filters, envelopes, effects, and so on in the core cell library.

REAKTOR CORE – 11

1.2. Using core cells

The core cell library can be accessed from primary-level structures by rightclicking on the background and using the Core Cell submenu:

As you can see, there are all different kinds of core cells; they can be used in the same way as primary-level built-in modules.

An important limitation of core cells is that you are not allowed to use them inside event loops. Any event loop occurring through a core cell will be blocked by Reaktor.

You can also insert core cells that are not in the library. To do that, use the Load… command from the Core Cell menu:

12 – REAKTOR CORE

Native Instruments Reaktor Core Instruction Manual

You may also want to save core cells you’ve created or modified, so that you can load them into other structures. To save a core cell, right-click on it and select Save Core Cell As:

Rather than using the Load… command, you can have your core cells appear in the menu by putting them into the Core Cells subdirectory of your user library folder. Better still, you can further organize them into subgroups. Here’s an example:

REAKTOR CORE – 13

“My Documents\Reaktor 5” is the user library folder in this example. On your computer there may be a different path, depending on the choice you’ve made during installation and any changes you’ve made in Reaktor’s preferences. Inside the user library folder there’s a folder named “Core Cells”. (Create it manually if it doesn’t exist.)

Inside the Core Cells folder, notice the folder structure consisting of the Effects, Filters, and Oscillators folders. Inside those folders are core cell files that will be displayed in the user part of the Core Cell menu:

The menu contents are scanned once during Reaktor startup, so after putting new files into these folders, you should restart Reaktor.

Empty folders are not displayed in the menu; a folder must contain some files to be displayed.

Under no circumstances should you put your own files into the system library. The system library may be changed or even completely replaced when installing updates, in which case your files will be lost. The user library is the right place for any content that is not included in the software itself.

14 – REAKTOR CORE

1.3. Using core cells in a real example

Here we are going to take a Reaktor instrument built using only primary-level modules and modify it by putting in a few core cells. In the Core Tutorial Examples folder in your Reaktor installation, find the One Osc.ens ensemble and open it. This ensemble consists of only one instrument, which has the internal structure shown:

As you can see this is a very simple subtractive synthesizer consisting of one oscillator, one filter and one envelope. We are going to replace the oscillator with a different, more powerful one. Right-click on the background and select

Core Cell > Oscillator > MultiWave Osc:

The most important feature of this oscillator is that it simultaneously provides different analog waveforms that are locked in phase. We are going to replace the Sawtooth oscillator with the MultiWave Osc and use a mix of its waveforms instead of a single sawtooth waveform. Fortunately, there’s already a mixer macro available from Insert Macro > Classic Modular > 02 - Mixer Amp > Mixer – Simple – Mono:

REAKTOR CORE – 15

Connect the mixer and the oscillator together and use their combination to replace the sawtooth oscillator:

Switch to the panel view. Now you can use the four faders of the mixer to vary the waveform mix.

Let’s do one more modification to the instrument and add a Reaktor Core-based chorus effect. We say Reaktor Core based, because although the chorus itself is built as a core cell, the part containing panel controls for this chorus is still built using the primary-level features. That’s because at this time Reaktor Core structures cannot have their own control panels – the panels have to be built on the primary level.

Select Insert Macro > Building Blocks > Effects > SE-IV Chorus and insert it after the Voice Combiner module:

If you look inside the chorus you can see the chorus core cell and the panel controls:

16 – REAKTOR CORE

1.4. Basic editing of core cells

Now we are about to learn a few things about editing core cells. We are going to start with something simple: modifying an existing core cell to your particular needs.

First, double-click the MultiWave Osc to go inside:

Inputs

Normal

Outputs

What you see now is a Reaktor Core structure. The three areas separated by vertical lines are for three different kinds of modules: inputs (on the left), outputs (on the right), and normal modules (center).

Whereas normal modules can move in all directions, the inputs and outputs can only be moved vertically, and their relative order matches the order in which they appear outside. So, you can easily rearrange their outside order by moving them around. Try moving the FM input below the PW input:

REAKTOR CORE – 17

You can double-click the background now to ascend to the outside, primarylevel structure and see the changed port order:

Now go back to the core level and restore the original port order:

As you have probably already noticed, if you move modules around, the three areas of the core structure automatically grow to accommodate all modules inside them. However, they do not automatically shrink, which can lead to these areas sometimes becoming unnecessarily large:

18 – REAKTOR CORE

You can shrink them back by right-clicking on the background and selecting

Compact Board command:

Now that we have learned to move the things around and rearrange the port order of a core cell, let’s try a few more options.

For a core cell that has audio outputs it’s possible to switch the type of its inputs between audio and event (a more detailed explanation can be found later in this manual). In the above example, we used a MultiWave Osc module, all of whose inputs and outputs are audio. However, in this example we don’t really need them as audio, because the only thing connected to the oscillator is a pitch knob. Wouldn’t it be more CPU efficient to have at least some of the ports set to event type? The obvious answer is, “yes, it would.” Here’s how to do that.

Changing both P and PM inputs to event mode should produce the largest CPU improvement. To do that double-click on the P port module to open its properties window:

Double-click here

Switch the properties window to the function page, if necessary, by clicking on the tab. You should now see the Signal Mode property:

REAKTOR CORE – 19

Change it to event. Note how the large dot at the left of the input module changes from black to red indicating that the input is now in event mode (it’s more easily visible after you deselect the port – just click elsewhere):

The dot turns red

Now click on the PM input to select it, and change it to event mode, too. If you want, you can change the two remaining inputs to event mode as well. Finally, double-click the structure background to return to the primary level and observe that the port colors have changed to red and the CPU usage has gone down.

Sometimes it doesn’t make sense to switch a port from one type to another. For example, it doesn’t make sense to switch an input that receives a real audio signal (meaning real audio, not just an audio-rate control signal like an envelope) to an event rate. In some cases such switching could even ruin the functionality of the module. Going in the other direction, it doesn’t make sense to change an event input that is really event sensitive, such as an envelope’s event trigger input (for example, gate inputs of Reaktor primary-level envelopes). If you change such an input to audio, it will no longer work correctly.

In addition to cases in which port-type switching obviously does not make sense there may be cases in which it does make sense, but in which the modules will not work correctly if you switch their port types. Such cases are quite special, although they can also result from mistakes in the implementation

20 – REAKTOR CORE

or design of the module. Generally, port-type switching should work; hence the following switching rule:

In a well designed core cell, an audio-rate control input can typically be switched to event mode without any problem. An event input can be switched to audio only if it doesn’t have a trigger (or other eventsensitive) function.

Another way to save CPU is to disconnect the outputs that you don’t need, thereby deactivating unused parts of the Reaktor Core structure. You have to do that from inside the structure – outside connections do not have any effect on deactivating the core structure elements.

Suppose in our example we decide that we only need the sawtooth and pulse outputs. We can lower the CPU usage by going inside the MultiWave Osc and disconnecting the unused outputs. Disconnecting is simple in Reaktor Core, you click on the input port of the connection, drag the mouse to the any empty part of the background and release it. For example, click on the input port of the Tri output and drag the mouse into empty space on the background.

There’s another way to delete a connection. Click on the wire between the sine output of the MultiWave Osc and Sin output of the core cell, so that it gets selected (you can tell that it’s selected by its blue color):

Now you can press the Delete key to delete the wire:

After you deleted both wires, the CPU meter should go down a little more.

REAKTOR CORE – 21

If you change your mind, you can reactivate the outputs by clicking on either the input or the output that you want to reconnect and dragging the mouse to the other port. For example, click on the Tri output of the MultiWave Osc and drag to the input of the Tri output module. The connection is back:

Of course, numerous fine-tuning adjustments can be made to core cells. You will learn about many more options as you proceed through this manual.

2. Getting into Reaktor Core

2.1. Event and audio core cells

Core cells exist in two flavors: Event and Audio. Event core cells can receive only primary-level event signals at their inputs and produce only primary-level event signals at their outputs in response to such input events. Audio core cells can receive both event and audio signals at their inputs but provide only audio outputs:

Flavor

Inputs

Outputs

Clock Src

Event

Event

Event

Disabled

Audio

Event/Audio

Audio

Enabled

Therefore audio cells can implement oscillators, filters, envelopes, effects and other stuff, while event cells are suitable only for event processing tasks. The HighShelf EQ and MultiWave Osc modules that you are already familiar with are examples of audio core cells (you can tell that by the fact that they have audio outputs):

22 – REAKTOR CORE

And here is an example of an event core cell:

This module is a parabolic shaper for control signals, which can be used to implement velocity curves or LFO signal shaping, for example.

As previously mentioned, event core cells are restricted to event processing tasks. Because clock sources are disabled inside them (see the table above), they cannot generate their own events and, therefore, cannot implement modules such as event-rate LFOs and envelopes. When you need such modules, we suggest that you take an audio cell and convert its output to event rate using one of the primary-level audio to event converters:

The above structure uses an audio core cell implementing an ADSR envelope and converts it to event rate to modulate an oscillator.

REAKTOR CORE – 23

2.2. Creating your first core cell

You create new core cells by right-clicking on the background in a primary-level structure and selecting Core Cell > New Audio or, for event cells, Core Cell > New Event:

We are going to build a new core cell from scratch inside the same One Osc.ens you already played with. We will be using the modified version of that ensemble with the new oscillator and chorus that we built in the last chapter, but if you didn’t save it don’t worry, you can do the same steps using the original

One Osc.ens.

As you can see, in this ensemble we are modulating the filter at the P input, which accepts only event signals. We are not using the FM version of the same filter because it does not perform as well at higher cutoff frequencies, and because the modulation scale is linear at an FM input, which generally gives less musical results when modulated by an envelope. (That phenomenon is typically but incorrectly referred to as “slow envelopes”.):

Because we need to apply the modulation at an event input, we also need to convert the envelope’s output to an event signal, which we do with an A/E

24 – REAKTOR CORE

converter. As a result, our control rate is pretty low. Of course we could have used a converter running at a significantly higher rate (and eating up significantly more CPU), but what we are going to do instead is replace this filter with one which we build as a core cell. Alternatively, we could have taken an existing filter from the core-cell library, but then we would miss all the fun of making our first Reaktor Core structure.

We’ll start by creating a new audio core cell. Select Core Cell > New Audio and an empty audio core cell will appear:

Double-click it to see its structure, which is obviously empty. As you surely remember, the three areas are meant for input, output, and normal modules:

REAKTOR CORE – 25

Attention: we are going to insert our first module into a core structure right now! Right-click in the normal area to bring up the module creation menu:

The first submenu is called Built-In Module and provides access to the builtin modules of Reaktor Core, which are generally meant to do really low-level stuff and will be discussed later.

The second submenu is called Expert Macro and contains macros meant to be used alongside built-in modules for low-level stuff.

The third submenu, called Standard Macro, is the one we want to use:

26 – REAKTOR CORE

The VCF section could be promising, let’s look inside:

Let’s try Diode Ladder:

Well, maybe that was not the best idea, because a diode ladder might sound significantly different from the primary-level filter module we are trying to replace. At minimum, Diode Ladder is a 4-pole (24dB/octave) filter, and the one we are replacing is a 2-pole filter (12dB/octave). To delete it there are two options. One is to right-click on the module and select Delete Module:

REAKTOR CORE – 27

The other option is to select the module by clicking on it and pressing the

Delete key.

After deleting the Diode Ladder, insert a 2 Pole SV C filter from the same VCF section of the Standard Macro submenu:

This is a 2-pole, state-variable filter and is similar to the one we are replacing (there are some differences, but they are quite subtle). What’s important is that we can modulate this filter at audio rates.

Obviously, we need some inputs and some outputs for our core cell. To be exact we need only one output – for the LP signal. To create it right-click in the outputs area:

28 – REAKTOR CORE

There’s only one kind of module you can create there, so select it. This is what the structure is going to look like:

Double-click the output module to open the Properties window (if it’s not already open). Type “LP” in the label field:

Now connect the LP output of the filter to the output module:

Now let’s start with the inputs. The first input will be an audio-signal input. Right-click in the background of the inputs area and select New > In:

REAKTOR CORE – 29

The input is automatically created with the right type – it’s an audio input, as you can tell by the large black dot. Rename this input to “In” in the same way you renamed the output to “LP”, then connect it to the first input of the filter module:

The second input is a little bit more complicated. As you can see, the second input of the filter Reaktor Core module is labeled “F”. That means frequency,

and if you hold your mouse over that input for a while (make sure the button is active), you’ll see the info text, which says “Cutoff frequency (Hz)”:

As we know, the cutoff of our primary-level filter module is controlled by an input labeled “P”, and as you can see from the info text, the signal uses a semitone scale.

We obviously need to convert from semitones to Hz. We can do that either on the primary level (using the Expon. (F) module) or inside our Reaktor Core structure. Because we are learning to build Reaktor Core structures, let’s go for the latter option. Right-click in the background of the normal area and select Standard Macro > Convert > P2F:

30 – REAKTOR CORE

Loading...
+ 180 hidden pages