Simple sampler block

Discussion in 'REAKTOR' started by willieraylewis, Aug 15, 2017.

  1. arachnaut

    arachnaut NI Product Owner

    Messages:
    4,662
    To use multiple sample maps in the past, I would either export the samples and put them into one bigger map or use multiple samplers and switch between them.
     
  2. arachnaut

    arachnaut NI Product Owner

    Messages:
    4,662
    I've used many, many sample maps, literally hundreds. They have changed quite a bit during the R5 timeframe, so it was hard to keep up-to-date.
    I still can't remember how they work and have to get re-acquainted with them each time I used them.
    But Reaktor is so big and complex, the same difficulty applies to just about every part of Reaktor. I use Reaktor nearly every day, but I'm always learning new things or getting surprised that something just seems ... different.
     
  3. colB

    colB NI Product Owner

    Messages:
    1,914
    No you can't. Tables are poorly named they are not tables at all.
    What you get is a system that passes references to samples. So either from a drag n drop interface or from a sample map.
    It is triggered when you drop a file for the drag n drop, or when you send a pitch and a trigger to the sample map module. These then produce a stereo reference to the data for that sample. They also output meta data on the same wire, this requires another primary module to read it, which is how you extract loop points, root key, sample rate etc.

    So a 'table' is just presented to core as a pair of OBC array connections. You can use the usual size module to get its length. After that just treat it as a read only array.

    There's no way to put a table inside another table because it's just a memory reference.
     
    Last edited: Aug 20, 2017
  4. arachnaut

    arachnaut NI Product Owner

    Messages:
    4,662
    And I guess you can't make an array of memory references either.
    So much of Reaktor - gui, Primary, Core, is a hodge-podge of dissimilar approaches to a real language and development environment.
     
  5. colB

    colB NI Product Owner

    Messages:
    1,914
    You can have lots of instances of the Sample Map module, each of these gets it's own sample map. Then you can do whatever you like with the references from these, that parts very flexible.
    Still doesn't get around the fact that the sample maps are not snapshot aware.
    It would be possible to create a bespoke sample map using the Table framework that would save different maps per snapshot. But then you end up with another proprietary format, and lots of work rebuilding key and velocity maps.

    michael Lancaster posted in the UL that he would like a remote selector for the samples in the drop pane. That was very easy to implement in a basic way, and it got me thinking. What about a Block type thing with modulation of sample selection from the list...with optional crossfading...and a more controllable drop interface that allowed insert and replace, so it would be possible to set up and edit the order of samples in the list a little more easily...

    could be interesting e.g. with a set of drum loops all the same length and tempo, using some other blocks to switch between the different loops as they play... or maybe with some looped industrial pads, a long crossfade and some random or chaotic block making the selections over time... or in the polyphonic version, use a pitch and/or velocity combination to modulate the sample choice for a 'poor mans' sample map...
    As long as samples are kept in folders within the same folder as the .ens, it should be easy to share 'maps' (they're just snapshots)
     
    • Like Like x 1
  6. arachnaut

    arachnaut NI Product Owner

    Messages:
    4,662
    From comments I read from the developers, it was quite an effort to add table references to the wires of Reaktor.

    It would have been nice, maybe, if instead of kludging something together and serializing all the data in event wires, that they made a new structured wire with the capability of imposing declared structure on the wire byte stream.

    Leave events alone and just make a whole new data type.

    It took 10 years to get to R6 and all we got were presets and bundles of stuff. <sarcasm, of course>

    Note that snapshots used to have a camera icon and are now under Presets - Embedded - so they are becoming hidden.

    FORM is the first Reaktor product to come out with no snapshots.

    Everyone seems to have trouble making their own presets (just look through the forum) and NI removed several useful features when they hid the snapshots from view.

    Automation is also a sore spot. We have to manipulate instrument base IDs up or down or enlist ensemble level sends and receives, etc. to automate low numbers. But NI can just make and load an 'autoname' snapshot and easily assign automation and names for the Komplete series products. That would be a cool feature to build into Reaktor.

    But, I digress... (note that I didn't mention multi-core even once {ok, just once})
     
  7. arachnaut

    arachnaut NI Product Owner

    Messages:
    4,662
    One thing I can't help but notice.
    Even 'simple' stuff get updated in the User Library, often, quite frequently.
    It might be a sign of quality if something is at version 6.27.1 while something stuck at version 0.1 is ?
     
    • Like Like x 1
  8. Paule

    Paule NI Product Owner

    Messages:
    1,953
    For load list you need trig. For play disconnect trig. Switch between two maps and save snapshots. It works.
    2 switched maps.jpg
     
    • Like Like x 1
    • Informative Informative x 1
  9. Paule

    Paule NI Product Owner

    Messages:
    1,953
    advantage version
    trigger me.jpg
     
    • Like Like x 2
  10. arachnaut

    arachnaut NI Product Owner

    Messages:
    4,662
    I prefer a knob to a slider, but that's just me. :thumbsup:
     
  11. Paule

    Paule NI Product Owner

    Messages:
    1,953
    It's the same way with the mouse, isn't it?
     
  12. arachnaut

    arachnaut NI Product Owner

    Messages:
    4,662
    Yes, same with mouse. Especially now that I'm trying out voice-to-text in Windows.
    Mouse-related stuff are not easy to automate.
    In Windows, my laptop has a 10-point touch screen - a mouse area does not output 10 points at once.
     
  13. Paule

    Paule NI Product Owner

    Messages:
    1,953
    Do you remember the very old Star Treck movie as Mr Spock pick up the mouse and talk in it?
     
    Last edited: Aug 23, 2017
  14. Paule

    Paule NI Product Owner

    Messages:
    1,953
    SimSam 14d
    Changes - Dc-offset at the end of the instrument. Now are three inputs: drop and two sample map select by a switch. A select for the table list with waveform display. Knobs for Jim

    Attached an ssf empty instrument as example.
    switch trig select.jpg
     

    Attached Files:

    • Like Like x 2
  15. Paule

    Paule NI Product Owner

    Messages:
    1,953
    In the newest R6 manual NI describes Core as half macro and half do-it-yourself-building block.
     
  16. mpl

    mpl NI Product Owner

    Messages:
    402
    Not sure I've done the above bit right to show the quote from colB..anyway
    Ive been having a look at the structure and I'm narrowing down the sample select bit to the *Ins input, but I'm not familiar with this kind of input(pink with 4 dots),some manual reading there i think.
    one interesting thing i noticed was when i activate sustain/hold and i swap samples the one I've left carries on in the scene that if you switch back to it it doesn't start at the beginning.it may just carry on from where it stopped when switched off.I'll need to do further tests with better samples.
    I'm sure theres some great glitch/cutup loops to be made when driven by sequencers
    thanks
    mike
     
  17. colB

    colB NI Product Owner

    Messages:
    1,914
    Implementing a selector is relatively trivial. The downside is that there will be clicks due to abrupt changes in the sample source.
    It is possible (as in already up and running and fully tested) to use a flip-flop to select between two inputs to core and two internal player so so that a Crossdale can be made between the existing sample.and the newly selected one. This works pretty good e.g. for chopping and changing between a set of multiple drop loops...
    It doesn't work as well for stuff like pads because the table list module is not capable of polyphonic operation. So any change would happen in all voices symultaneously. Might sound interesting, but not flexible.
    There is a solution though. Still working on the details.
     
  18. mpl

    mpl NI Product Owner

    Messages:
    402
    Ive got the selector going now(needs integrated into the delete/clear all stuff) just needed to think some more.
    looking forward to what you come up with
    edit
    Ultra loop uses 2 voices per sample and switches between the two every time theres a change in settings.Although voice location will complicate matters
     
  19. arachnaut

    arachnaut NI Product Owner

    Messages:
    4,662
    That was Scotty in The Voyage Home - they travelled back in time to save the whales from the alien tootsie roll - which is causing Hurricane Harvey right now.:)
     
  20. mpl

    mpl NI Product Owner

    Messages:
    402
    I tried sequencing it with rapid manik changes to see how it copes,and there are a few clicks but not as bad as i was expecting,see video

    mike