Reaktor - Modulo on audio

Options
gentleclockdivider
gentleclockdivider Member Posts: 168 Helper
edited April 20 in Reaktor

I was comparing the modulo on audio audio signals between pure data and reaktor primary .

Input signal : reaktor as sound source using stereo outputs going into reaktor as effect , left channel and right channel t going into modulo's input , same for Pure data .

Result : output of modulo recorded

There is a major difference , it seems that reaktor modulo input is automaticall rectifying negative signals , which is pretty weird considering audio signals are mostly bipolar .

Here is an audio input file , the left channel goes ( bipolar sin ) goes into left input modulo , the right channel(unipolar neg.rectifoied sine ) goes in second input of modulo .

The reakto result is negative unipolar ony , while pure data's is bipolar .

BUt it gets interesting once the left channel is negative unipolar , and the right channel bipolar

INput sgnal

So ....let's go the core route , which has no modulo at all and I am stuck building one .

Comments

  • gentleclockdivider
    gentleclockdivider Member Posts: 168 Helper
    Options

    SO a modulo in core is this , works fine for events and integers but not for audio .

    The division is integer (floor ) and outputs a zero , so nothng is multiplied and input is same as output

    When division is float , then output is silence ( logically becasue ot the algo )

    Any help appreciated


  • colB
    colB Member Posts: 831 Guru
    Options

    The trick is to use a float divide, then stick the 'floor' process after that. Floor is pretty straight forward, just an f2i for rounding to integer, then check if the f2i has rounded up, subtract 1 if it has.

  • gentleclockdivider
    gentleclockdivider Member Posts: 168 Helper
    Options

    Thanks ,indeed a verry simple solution

    Left signal is sine -2 octaves, right signal sine

    Results still differ


  • KoaN
    KoaN Member Posts: 105 Advisor
    Options

    If it's of any help Trial'N'Error has a little core pack from primary modules...Modulo,Quantize etc.


    https://www.native-instruments.com/en/reaktor-community/reaktor-user-library/entry/show/10019/

  • gentleclockdivider
    gentleclockdivider Member Posts: 168 Helper
    edited April 21
    Options

    INteresting , the trial N error module sounds the same like the primary .

    It comes down to the implementation of the rounding

    Where I just used float to integer , trial error used a round robin method .

    But still sounds different from the pure data one ,

    Iput signal , sine -1 octave panned left , sine panned right into Mod. summed outuput


  • colB
    colB Member Posts: 831 Guru
    Options

    Where I just used float to integer , trial error used a round robin method .

    What they are calling 'round down' is a 'floor' operation. Exactly what I explained in my last post.

    Using a plain float to integer isn't correct here.

  • gentleclockdivider
    gentleclockdivider Member Posts: 168 Helper
    Options

    I see

    Must have missed this part

    quote

    then check if the f2i has rounded up, subtract 1 if it has.

    unquote

  • colB
    colB Member Posts: 831 Guru
    Options

    Out of interest, is there some particular use case for modulo as an audio processor that I'm missing out on?

    It 'looks' like some mutant wavefolder, and I suppose it's harmonics will be related to both inputs... but other than that?

Back To Top