noartistname Home

News

10 August 2009, 20:02

Subscribe to noartistname Reaktor Blog RSS

New User Library uploads

1. Synvoicizer v2.0

You’re seeing a very unusual FM synth which pitch and gate inputs which inputs are driven by unique pitch detector. The idea was brought by mr. BertAnt – the master in area of pitch detection methods and completed by A. Smirnov (also known as noartistname) with unusual FM synth and deisgn. You can listen to demos perfomed by both creators. They demonstrate work of this synth in real time and they are the best explanation of how this synth sounds.

Basically synth works as following. You either choose straight audio or sine oscillator that goes inside four-octave monophonic pitch detector. This pitch detector drives inputs of two oscillators – one of them is with frequency modulation. You can adjust waveform of each oscillator inside Morph field. Each macro inside pitch detection structure and inside synth structure has its own description.

Don’t hesitate to vote for our newborn child, but comments are always appreciated more than votes. Please, tell us about bugs and we will fix them.

Thank you for downloading this synth and supporting our works!

A. Smirnov & BertAnt

Version 1.1:

1) Midi out added (yes, we read your comments and take them into account);

2) Few more interesting presets added;

3) Improved stability and fixed bugs.

2. Safety Counter v2.0

This very short ensemble shows how can you store your value in counter without event looping during global reset. The main trick lies in button with zero values, that sends event on restart or global reset and restores value from Snap module, so that it can be used in counter again. This can be very useful for big complicated projects.

Version 2.0: bug with values fixed (it didn’t count from 127 down to 0) and some more features added (Stepsize, Maximum and Minimum knobs).

3. airplane: Jazzyspoon & noartistname v1.0

You ask: no description? This doesn’t need any. Or we’re too lazy to write one. Airplane – experimental synth created by two crazy guys, that’s it.

Thanks Loopy C for this:

http://www.loopyc.com/wimpy/062709%20Airplane%20Trios.html

and this:

http://www.loopyc.com/wimpy/062709%20Greasy%20Airplanes.html

Mr. A. Smirnov & Mr. Jazzyspoon

Original thread:

http://ootray.com/forum/index.php?topic=261.0

4. Sample Trigger v1.0

Eventually it appears to become true: you can’t trigger Sample immediately after Snapshot change. This ensemble allows to do so.

It is short ensemble based on simple way to start playing sample right when Snapshot was changed with no global reset affect. You can control if you want to trigger your sample right on Snapshot change or some time after it (where is Stepsize button, that allows to control this time in steps). You are also able to set specified Velocity and adjust some other settings for your Sampler as well.

I thought this tool might be useful. It is inspired by this thread:

http://native-instruments.com/forum/showthread.php?t=90160

Aleksandr Smirnov

,

Comment [1]

---

Complicated condition structures

10 August 2009, 19:36

Hi!

Okay, we’re continuing to get deeper inside Core level in Reaktor. This tutorial will be dedicated to complicated condition “if..else” structures, that can be implemented inside both Audio and Event Core Cells, using Compare, Router and Merge modules.

Our goal

Let’s decide what we want to do first. Say, you’re having some oscillator with any pitch, but with amplitude of 1. So you’re getting values between -1 and 1. What you want to do is to make unique oscillator, that, for example, outputs something according to original oscillator’s values. Here is what I was inspired by:

Oscillator’s value Unique output
[-1;-0.5) 0.75
[-0.5;0) 0.5
[0;0.5) Oscillator’s output
[0.5;1] Negative oscillator’s output

It’s up to you what unique outputs to choose according to oscillator’s outputs in the end, we need to figure out how to do it properly first.

Our instruments

We’re going to implement described above using Sine Oscillator and Audio Core Cell. We will feed Sine Oscillator inside Audio Core Cell input and use Router, Compare and Merge modules there. I hope you’re already familiar with these modules in Core, if not, please, read Reaktor’s Core Manual reference.

Making unique oscillators

So, let’s start with basic setup. I always recommend you to start with basic setup! You should build everything with small blocks and then connect them in big ensemble. That’s how my tutorials will be built in future as well.

Okay, let’s put Sine Oscillator and connect it to “Osc” input of Audio Core Cell. Delete all other modules, make one output instead of L and R, connect instrument to Audio Out and make one voice in instrument. Now we can start creating conditions inside Audio Core Cell.

First conditions we should make is “if Oscillator’s value is equal or bigger than -1 and less than -0.5, we output 0.75”. It can be achieved by building following structure (Compare, Router and Latch modules were used):

First, don’t forget to make Quick Bus for Osc input, as we will use it several times and your structure will look cleaner this way. Second, I didn’t use “equal or bigger than -1” condition as we know it will be anyway (our Oscillator goes from -1 to 1). Third, I used Latch module here. If you won’t use it and will output only 0.75, nothing will be on your output, because 0.75 is simply some value, it is not audio or event. Latch drives 0.75 with Oscillator’s Clock Rate (=Sample Clock Rate).

Here is second condition:

Now that gets little bit more complicated. We have two conditions at same time here. Now look carefully at first and second condition. Actually they are both happening at same time, as in first condition we do have equal condition, but without equal sign. We could also use Latch module together with Router and then feed second condition with False output of first condition, but in the end it will look more complicated.

What comes to your mind? I will connect this two inputs through Merge module, that allows me to get through several values, but that’s not true, because you will have two values going through at the same time. To avoid this, you should connect first condition’s output to second Merge input and second condition’s output to first Merge input. Merge module let lowest value go through if there are two values coming in. That’s how we will avoid same conditions with Merge module.

Here is third and fourth conditions:

Everything is clear, except one question you might ask. Why did I use Compare modules in different order? Well, if you put Compare module, where I compare Oscillator’s input with 0.5 after first Router, you will get true for all values below 0.5, because Router will output 0 if there is no True value present at it’s output. Same can be said about fourth condition.

Now we should feed all these inputs into Merge this way:

We’re done! This way you can do any complicated “if” structures inside Core Cell and create any oscillators you want, but don’t forget about right conditions and Merge inputs.

Good luck!

Aleksandr Smirnov

,

Comment

---

Reaktor Blog has moved

3 August 2009, 14:27

Dear Reaktor user,

You may know me from my previous Livejournal page, that I did for running my tutorial section for Native Instrument Reaktor. This page is no longer valid and will be deleted soon. Now home for Reaktor Tutorials is this page.

Rules reminded the same – these tutorials will be mostly for people, who are new to Reaktor, however all tutorials will be divided into three sections: Primary Level, Core Levele and Other Tutorials. I don’t think it makes sense to describe each one, as you should already know what will be stored in each category.

You can find archive of old community here.

Enjoy staying with Reaktor Blog community from noartistname!

Donation

If you like my tutorials, ensembles and appreciate my work, please, fell free to leave your comments and suggestions, using comments form. But your best contribution to my works will be feedback in way of donation. You can donate any sum of money in any equivalent using transfer on my WebMoney accounts. I don’t have PayPal account yet, but I’m going to make it over next month.

Please, send your donation to one of these WebMoney purses:

Z316218065144 (equivalent to USD)
E183442696747 (equivalent to EUR)
R152895772244 (equivalent to RUR)

There is a number of options, that you may use to add funds to the WebMoney purses, including prepaid cards, see wmtransfer.com for more information.

Thank you for your support!

Aleksandr Smirnov

,

Comment

---

Snap Value

3 August 2009, 14:07

Hello!

I’m glad to see you on my new home for tutorials! Let’s start again with clear peace of paper.

Snap Value module

We’re going to stop on this module today. It is quite small and has only one input and output, but you can’t even imagine how helpful it can be. I’ll show you its functionality in two situations – one is going to be usage of this module when global event reset occurs and another is going to be usage of this module as avoider of event looping when event reset occurs.

Snap Value module description

Let’s look briefly inside Snap Value module preferences by double clicking on it. What do we see? Status section is quite familiar to us and we will skip it. However, I’d recommend to switch on “Always Active” mode. Why? Because if it is switched off Snap Value module reacts only on global changes and when it is switched on Snap Value module is updated each sample tick. Max, Min and Default values inside Range section are also familiar to us. When “Clipping” mode is off basically Range section values are ignored, when they there are values going inside Snap Value module are more or less than Max and Min respectively. “Event Thru” mode should be enable in case you want events go through your Snap Value module. This should be off when you are dealing with audio inputs. “Event at Store Time” produces additional event if on, otherwise Snap Value module won’t produce any event when value is stored.

Using Snap Value module

First, let’s look at basic structure. We have Knob with any parameters (my case is Max 100, Min 0, Step size 1, Default 0, Mouse resolution 127) going into Merge module with two inputs (the second one is 0 or not connected – it is the same) and Merge output is going into Numeric Readout (Always Active function is on) and into Snap Value module with above parameters. Snap Value module is also connected to Numeric Readout with Always Active function on. It will look the following way in structure:

Done! Now you see both Numeric Readouts showing your knob value. Nothing unusual. Now try to cause global reset by switching off and on Reaktor engine or by inserting and removing any module. Did you notice the difference between first and second Numeric Readout? That means that value was stored inside Snap Value even when we turned off Reaktor engine. It will be great to store values such way when you exit Reaktor and after a while you’re opening it and see some values instead of 0 or whatever else. Don’t forget that above structure is set to mono mode, that means there is either 1 voice in Reaktor or all modules are set to mono.

Now let’s look on more advanced structure. It looks like this:

This is very simple counter that starts from 5 and counts either up or down. Both buttons are in trigger mode (1 is on, 0 is off values). All the rest properties are like in above structure. Okay, our Snap Value modules works okay when we turn of and on our Reaktor engine. But well what is sense of Snap Value module if it only stores our value, if we want it to start count from our previous value for example? No good. It only shows previous value, but doesn’t take it into account. How to do this?

Simple you’d say. Just connect Snap Value output and Set input of Counter. Nope. This will cause Event Looping which is very annoying thing and causes many troubles. There is a way out. Look at this picture:

There is Value module which is some kind of bridge between Snap Value and Counter modules. It won’t cause event looping, because it won’t send any values every time, when we are operating with Counter. It will only send last values once – when we restart Reaktor. Value Trig value should be 0 for both Max and Min values, otherwise it won’t work for us. Also you can hide Value Trig button, so it won’t be seen on your panel. And don’t forget to connect Counter output to Numeric Readout in straight manner, because if you connect it through Snap Value its settings will override Counter output after reset.

That’s it! Magic Snap Value module is made specially for you – for you tricks with your values.

Good luck!

Aleksandr Smirnov

,

Comment

---