Writing single cycle into audio table

gentleclockdivider
gentleclockdivider Member Posts: 187 Helper
edited October 22 in Reaktor

It's been ages since I've actually used the audio table .

I have succes with the event table and iteration , but the event does not output audio .

In pure data- it's so easy to writestatic cycles , you just have an array to write into ( tabwrite for non audio ) and use a tabread~ to read that table

Anyhelp welcome how to achieve this for the audio table and the use of iteration ( so write process is NOT at sample rate )

I used the exact same process for event -audio table but as said(see screenshots) , but no luck for the audiotable

Obviously both have the same X size ( 512 ) index points adressed by iteration out , and Y value is iteration oupttput /512 into sin then pow


Comments

  • gentleclockdivider
    gentleclockdivider Member Posts: 187 Helper
    edited February 22

    Succes .

    Set iteration to limited speed and use a ramp wave to the audio table W input

    That being said , this method is really clunky , why would the audio table need an audio signal if the iteration is used for adressing index points+values .

    Plugdata ( pure data with a fancy gui and as vst3 ) just use an array , tabwrite to write into it and tabread~ to use as an audiotable

    FOr recording large audio files there's tabwrite~ .

    Som much more convenient and graphical wise superior


  • gentleclockdivider
    gentleclockdivider Member Posts: 187 Helper

    The event table is really weird yet powerfull at the same time

    Here' it's used as an lof LFO ( some math formula for the shapes ) with realtime update-calcu( triggering the iteration from display refresh rate )

    The weird stuff is that the event table needs an event for triggering the whole read proces , just connecting a const does NOT work , but connecting a single AE does .

    Weird


  • colB
    colB Member Posts: 948 Guru

    The weird stuff is that the event table needs an event for triggering the whole read proces , just connecting a const does NOT work , but connecting a single AE does .

    A constant fires an event during initialisation only. You will get a single read during init, maybe from table position [0,0]?

    An A/E keep on firing because it's input is an audio type, so if it's not connected, there is an implicit stream of zeros at audio rate, which is converted to a stream of zeros at event rate.

  • colB
    colB Member Posts: 948 Guru

    Use core for this!

    For years, the only reason to use Primary tables is for hacks based on the multiple client table mechanism, to get around missing Reaktor features. So stuff like sharing information/signals between different instruments (e.g. poly blocks), auto-generating unique IDs, generating unique random seeds per randomizer instance... that sort of thing.

    Core is easier, more powerful and gives you better guarantees, so you can build more complex stuff and still make sense of your structures. Arrays are easy to use. You can read or write the same table at audio rate, or event rate, or any other rate you like. It just works. the only downside is that to populate an array using iteration, you need to pump that iteration in from Primary. Not difficult though, and often not necessary.

  • gentleclockdivider
    gentleclockdivider Member Posts: 187 Helper
    edited February 24

    That's not really the point I tried to make

    Of course core is much more powefull but it still requires primary to do the gui stuff

    Take the following in pure data

    A uzi (which is basically an iteration module ) is used to fill a NON audio table of lenght 1024 , I hav four expression modules ( something else that reaktor misses ) to create the harmonics .

    Then a single Tabread~ ( for audio ) is used to fill an audio table

    Now , all of this can be done in either primary using the event table for gui updates , or core using event and audio but we still need a primary part for the gui upate .

    The link between both is a hassle


  • dreason85
    dreason85 Member Posts: 49 Member

    Actually, using iteration to write the audio table is not a problem.

    The problem lies in the default processing speed of iteration, you need to set it up.


  • gentleclockdivider
    gentleclockdivider Member Posts: 187 Helper

    Yep , I found out shortly after creating the thread ( see second post )

  • dreason85
    dreason85 Member Posts: 49 Member

    Sorry, I saw it.

    Puredata is indeed very convenient for reading and writing wave tables. It does not have a Reaktor and is divided into Event Table and Audio Table. It may be better if Reaktor combines these two types of tables.

This discussion has been closed.
Back To Top