3

I wanted to make a synth that creates old-school descending electronic tom tom sounds.

I found my way to this odd little instrument in the attached screen shot.

The "Freq Bender" and "Amp ADSR" are wrappers for basic ADSR modules and the "Bell Filter" Wraps a Peak EQ Filter.

If I send the Pitch input directly into the Pitch input on the Par Sync Oscillator module I get what I was originally going for.

But when that pitch input receives frequency data, it turns into an instrument that has Bass Drums in the low keys, Toms in the middle, a few Bells up high and ultimately produces no audible frequencies whatsoever.

The "bells" feel louder and at least bordering on piercing, which is why the Peak EQ is in there.

I'd be psyched if someone cares to explain what exactly is going on here.

Simple Bending Percussion Ensemble

  • 1
    P inputs expect note values (1~127), F inputs expect frequencies in Hz (20~20000). You shouldn't have to connect both from the Pitch and gate module, especially not an F output into a P input or a P output into an F input. For a pitch-bend sound, usually you'd attach keyboard pitch to the P input, and an envelope to the F input. – Your Uncle Bob Mar 21 at 4:38
  • But the envelope going into the F input would also be getting the gate input, right? – MikeiLL Mar 21 at 13:16
  • I like what I'm hearing with this set-up and wondering how I could send similar information as what I'm sending now to the pitch input on the Par Sync by doing some math to the pitch coming from the pitch and gate. – MikeiLL Mar 21 at 13:18
  • Another strange side-effect is that if I enable more than a single voice, playing a single note seems to be generating multiple instance of the played note, which is particularly effecting the higher frequencies. – MikeiLL Mar 21 at 13:19
2

The calculation that is made when you send a value through a P->F module, and the frequency you get when sending a value to the Pitch input of an oscillator is:

F = 440 × 2(P-69) / 12

What is happening in your example, is that you take the note numbers (0 ~ 127), convert them to frequency in Hz (8 ~ 12544), divide that by ten (0.8 ~ 1254) and then send those numbers to the Pitch input, where again they are interpreted as note numbers and converted into frequency in Hz (9 ~ 2.4×1032). As you can see in the graph below, the pitch rises slowly at first, overtakes the normal pitch around note number 80, and then quickly rises above human hearing around note number 89.

frequency plot

Y-axis: frequency (Hz), X-axis: MIDI note number


Without knowing exactly the sound you're after, and your level of experience with Reaktor and modular synthesis in general, it's difficult to comment. However, here's how I would build a simple synth tom (in an older version of Reaktor):

Reaktor synth tom - instrument structure and panel

A few notes:

The Pitch input of an oscillator expects note numbers (0 ~ 127), whereas the Frequency input expects values in Hz (20 ~ 20,000).

Pitch is an exponential scale (adding 12 raises the pitch by an octave), Frequency is a linear scale (multiplying by 2 raises the pitch by an octave). The Exp P->F and Log F->P modules convert a signal between the two scales.

The Pitch input of an oscillator is measured at the event rate, the Frequency input is measured at audio rate. So to have smooth pitch envelopes, you need to use the Frequency input.

If you want to have a pitch envelope change the pitch by a fixed number of notes (e.g. 2 octaves up) whatever the basic pitch of the note you're playing is, you should set the envelope depth as a multiple of the frequency. As you can see, I convert the pitch to frequency, and then multiply it with the Bend knob value; setting the knob to 1, 2, 4 or 8 will set the envelope depth to 1, 2, 3 or 4 octaves above the basic pitch.

Every module and macro in Reaktor can be set to monophonic or polyphonic (indicated by a red or yellow light in the structure). If you want a signal to be identical for all notes you're playing, make the modules it goes through monophonic; if you want a signal to be different for every note, make the modules polyphonic. Note pitch and gate are polyphonic, panel controls are monophonic. If you combine a mono and a poly signal (like when I combine the Bend knob value with the note pitch and gate signal using a polyphonic multiply module), the result is polyphonic.

  • 1
    @MikeiLL That's a "switch" module; I renamed it so that it would be labelled "velocity" on the panel. It switches between the gate signal (MIDI velocity rescaled to 0 ~ 1) and the gate signal sent through a logic OR module, which changes it to a simple 0 or 1 signal. – Your Uncle Bob Mar 21 at 21:11
  • 1
    @MikeiLL You could further improve it by adding a noise generator, maybe use a triangle or square wave instead of a sine/parabole, and add a low-pass filter with its own envelope to get the right amount of higher frequencies. – Your Uncle Bob Mar 21 at 21:22
  • 1
    @MikeiLL I can't really comment on courses or books; all I know about Reaktor I've learnt from just experimenting and building my own instruments. "Musimatics" sounds promising. But what's most important in the beginning, and specific to Reaktor, is getting to grips with how events work, when they are fired, what value they have at initialization, what happens when you combine them, etc. Experimenting by building instruments from scratch is the best way, I think. – Your Uncle Bob Mar 22 at 3:09
  • 1
    @MikeiLL I looked into what happens with the pitch in your example, and added a plot. – Your Uncle Bob Mar 26 at 22:49
  • 1
    @MikeiLL Try "Peak EQ"; the Resonance property sets bandwidth. – Your Uncle Bob Mar 26 at 23:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.