Loop Sampler detuning in playback and 2 other issues with same Macro
![P-box](https://us.v-cdn.net/6034896/uploads/userpics/XT8OWQQYQYRZ/n6EW4TWZNACGY.png)
Hi Reaktor Community,
I am using Loop Sampler Macro (not Sample Loop) in a new Ensemble I am building.
I have 3 problems I am hoping to solve:
- Getting strange behavior - the sample playback is detuning during playback. There are no parameter set (that I am aware of) to modulate pitch.
- Once I load a sample, I cannot overwrite it with a new drag and drop sample, and cannot figure out any other way to delete the sample.
- I created a loop start and end point in one of the two Loop Sampler modules, and while it accurately displays the loop field that I define with the knobs, the sample loops to a predefined value. I can see in the 4th picture that I added controls for the display, but just to the left of those blue controls (and also blue) are the two position controls for Loop Start and Loop End. But I cannot figure out how to place these outlets under the same control as the display items. I showed the next level into the device in the 5th photo in the event the solution lies there.
Thanks in advance for any help, and let me know if you need a different component view to determine why the playback rate detunes! -P-box
Comments
-
Getting strange behavior - the sample playback is detuning during playback. There are no parameter set (that I am aware of) to modulate pitch.
How big is the sample?
This sounds like a precision problem, by default this sample looper uses 32bit floats to index the sample. If the sample is long enough there won't be enough precision to maintain accurate pitch, particularly towards the end of the sample. Might be as simple as setting the main core cell to 64bit in properties.
You other problems are tricky to debug without an ensemble to debug. Best to post the ensemble, or in the case of a very large or complex ensemble, post a simplified version that still exhibits the problem.
0 -
Confirmed, turning the main core cell to 64bit fixes the pitch problem
0 -
The loop point stuff seems broken. The GUI markers work ok, but the value inputs don't. They function differently depending on the status of the loop button, but it's pretty difficult to tell what exactly is wrong without knowing exactly how it is supposed to function!
The inputs are not reflected in the GUI display, so confusing to use even if they were working correctly.
I wouldn't bother... or I would re-write that part of the code, reflecting the setting on the GUI. And also having more controls, so start, loopStart, end and loopEnd. And then there are still potential issues in that start mus be same or smaller than loop start, and end must be same or larger than loop end... easy to constrain intuitively with GUI markers, but not so easy with knobs, or CV try input...
What are you trying to use this for?
0 -
Thank you! I am trying to build an Ensemble with Loop control (loop start, loop end). It really doesn't matter what module I use. Been trying different ones, but each seems not to work as expected.
Setting the bit rate to 64 did seem to resolve the drifting pitch issue on the module I posted.
Here is another attempt using the Sampler Loop module, with photos and .ens file
I can't explain why the file is not looping at all, despite adjusting all the controls.
After this attempt with the Sampler Loop, I tried the Loop Sampler module that I posted first, largely because it already had a GUI presentation of the loop values. But I agree, that module is complex enough (under the hood) that with my very limited knowledge, I cannot figure out how to re-write the code.
The Sampler Loop module is presented in the Reaktor 5 manual, and the reference is on p160. But setting it up as in the example (without the frequency modulation) results in sample playback with loop controls that do not function.
Image #1 from Reaktor Manual p.160
Image #2 from the Ensemble I am building using p.160 as reference:
When a midi key is pressed, the sample plays from beginning to end. It does not loop at all, and there is no display on the GUI of the loop data. (This would be a necessary feature in the final version).
If there is an entirely different approach, or a different module you'd suggest using as a foundation, I am open to any suggestion.
Thanks so much, -P-box
0 -
I spent a few minutes playing with the 'Loop Sampler', took a bit to work it out. Those mS and mE inputs are modulation inputs that effect the sample start and end position, not the loop start and end. The loop is only controllable via the GUI for that module.
Switching to 64bit does fix the pitching issue, but you need to switch the whole core cell to 64bit.
Personally I wouldn't bother with the Primary modules. The looping on that one you're trying to use only seems to work in oscillator mode.
The best option if you want to use knobs to position loop points is probably just to 'roll your own'. Not so difficult really.
Here's a quick hack job though - just patching the knobs through to some internal connections so they override the GUI dragging mechanism. Seems to work. You'll need to work out how to limit the range so the loop doesn't go negative. There are various ways to handle that...
click into the structure and trace the LS and LE inputs through to see where I hacked them. Pretty simple really!
0 -
Hey! Thank you! That was fast!
Yes! This works as I hoped!
It appears you took the template from the Library Loop Sampler module and then modified the "panel" Macro within the Loop Sampler. When you said roll your own, I initially thought you meant build from the ground up.
Now let me study your modifications a bit. Based on what you did, I should be able to add Sample Start and Sample End controls as well.
I'll get back to you.
Thanks again!
0 -
When you said roll your own, I initially thought you meant build from the ground up.
I did. That's what I would do! Probably a couple, or three, hours to get the basic functionality all fleshed out. Probably similar in terms of work compared with wrestling with library stuff that doesn't quite do what you want the way you want. Most of that three hours would be re-familiarising with the table framework. Then after that you have however long to tweak and polish, which is much easier to do with something you built from scratch, because you know it better.
But yeah, hacking the Factory loop thing took maybe five minutes so...
0 -
Progress! But problems!
I followed what you did at the different layers and added Sample Start and Sample End controls.
With loop off, it works perfectly. With loop on, it plays through the first time fine. Then after a key release and retrigger, it starts playing at the loop start point, instead of at the defined sample start point. It plays the loop correctly and repeatedly, but at this point the GUI does not display properly. I went back and looked again, but cannot determine why the Sample Start point is being overridden by the loop start point, nor why the GUI display is inconsistent with the sample loop audio.
There are truly places in the data reading and processing that evade my inexperienced eyes, as far as noticing why such an error is occurring. I dove down another layer into the coding and changed connections there that were related to Sample Start and Loop Start, but it did not improve (or really change) anything, so I changed these settings back.
I also am searching for a way to add a sample map to this device, but this sampler (Loop Sampler) does not have an apparent way to do that. Not with referencing the Manuals. Is it even possible with this module?
Making progress, but slowly.
P-box
0 -
Forgot to upload this with the Progress! But problems! Post
0 -
And when you said earlier that you would just as soon build from the ground up, you must mean via Core.
I have worked with Max 8 for 6 months, and seems like much of that programming is similar to Core, but I never stuck with it long enough to become proficient. And suffered from a lack of finding relevant instructional material to assist me.
I migrated to Reaktor because somehow, despite it being challenging thus far, it just makes more sense. And it is exclusively music oriented. And there are a ton of examples in the User Library that I am looking through to help me understand what users are doing to construct different instruments and FX devices.
I have looked through the NI Building In Core manual, but I would probably benefit greatly from a step by step process. Without a way to use the medium, looking at a manual is only so helpful. Are there recommendations you could make for learning to build in Core?
And thanks again so much for your comments and assistance so far. It is immensely helpful to get this sort of feedback.
Regarding the non-functionality of the Loop Sampler in my previous post. Conceptually, I can predict that there is a sequence of data that needs to be changed or re-ordered, in order for the Loop Sampler to "reset" so that it will begin reading the sample again from the Sample Start position, rather than from the Loop Start position. But I do not yet know where to look to find that sequence of events or know how to re-order the modules so that the outcome produces the desired result.
Am eager to learn!
0 -
Progress!
Well, after looking at things, I've tried some changes with ordering, based on my previous comment about predicting it is a sequence of order of events that is the problem.
Sure enough, I can now accurately play from SS, loop repeatedly, and GUI accurate.
BUT, if I toggle the Loop button on or off, it malfunctions as before. Or if I toggle the release button, it malfunctions as before. In Either case, If I turn off the Reaktor engine and turn back on, it resets things and the function that was not working works fine (until I toggle the loop or release button).
So I was able to identify where in the Core module the issue lies, but there is something more that is being reset or over-written when the Loop or Release buttons are pressed.
I'll keep digging - but this may be over my head...
Changed from this:
to This:
I also changed the Order here:
The previous order was 1:LS, 2:LE, 3:SS, 4:SE. This was because I added the SS and SE after you added the LS and LE features (with knobs). This is the new Order:
What I need to determine now is how the devices in Core store numbers after a function is completed. Once I can determine the end resting state numerical value, I can figure out how to change that resting state value so that it triggers in the initial state when the device has been turned off. Not sure this is going to be easy...
0 -
With loop off, it works perfectly. With loop on, it plays through the first time fine. Then after a key release and retrigger, it starts playing at the loop start point, instead of at the defined sample start point. It plays the loop correctly and repeatedly, but at this point the GUI does not display properly.
That's strange, the hack I uploaded works correctly for me, exactly as I would expect it to.
Are you sure you didn't make changes?
The only thing I can think is that I'm using the PC keyboard, not a midi keyboard, and that can make a difference. Does it work for you using the Computer keyboard as 'MIDI keyboard activated', instead of an external midi keyboard?
0
Categories
- All Categories
- 19 Welcome
- 1.5K Hangout
- 62 NI News
- 785 Tech Talks
- 4.1K Native Access
- 16.5K Komplete
- 2K Komplete General
- 4.3K Komplete Kontrol
- 5.7K Kontakt
- 1.6K Reaktor
- 378 Battery 4
- 845 Guitar Rig & FX
- 429 Massive X & Synths
- 1.3K Other Software & Hardware
- 5.8K Maschine
- 7.3K Traktor
- 7.3K Traktor Software & Hardware
- Check out everything you can do
- Create an account
- See member benefits
- Answer questions
- Ask the community
- See product news
- Connect with creators