Player - I'm going crazy
-
@Straticah said in Player - I'm going crazy:
Unfortunately its extremely limited since users cant drag their own samples
You can with the sampler
-
@d-healey both are limited, so switching will not solve the issue of op i assume
-
-
@d-healey having these controls in one device (eg for a basic drum sampler):
drag n drop
pitch controls
length control
loop or oneshot toggle
timestretch (thats not based on pitch) -
@Straticah said in Player - I'm going crazy:
@d-healey having these controls in one device (eg for a basic drum sampler):
drag n drop <-- available in the Sampler
pitch controls <-- available to the Sampler
length control <-- length of what? The note? or sample (use an envelope)
loop or oneshot toggle <-- available in the sample r
timestretch (thats not based on pitch) <-- available in the sampler -
-
@Straticah said in Player - I'm going crazy:
@d-healey @Lindon since when is drag and drop possible with the HISE sampler?
And how to set this up it depends on samplemaps...
see Christoph's example project for loading user samples into the sampler...
-
-
@Straticah Exactly! I like the tip on the stretch player setup, thank you, since I could still use the switch node and also include the file player, meaning I can set a condition for pitched timestretch or non-pitched and pretty much have the sampler I want, if I can also figure out reverse in dsp.
Yeah @Lindon you're right, I forgot about the example project, I messed around with it a while ago and the only reason I left it was because dropping samples into the sampler meant populating every note rather than just one, and this answers your question @d-healey as to why not a sampler, I have the sampler populated with my own samples from keys 1 to 20, and a synth on keys 21 to 60. I want the user to be able to drop up to 20 samples of their own, into keys 61 to 80.
It seems setting the playback range in the onNoteOn in a SP for the sampler works for playback but not for dropped range. If there was a solution for setting the dropped sample range so a dropped sample doesn't populate every note, I'd definitely go with that.
The other thing I'm looking at right now is the OneShot example from Cristoph, which if I can set up stretch and file player, could also be a really good solution.
-
@Straticah Yes all of this is possible with the sampler + scripting.
-
@d-healey You have a solution for setting a drop range?
-
@rglides I haven't tried, but it's just scripting so it's all under your control.
I would assume it's this function that handles the sample loading. And this function will allow you to set which notes it maps to.
If it was me though I would just use this as a guideline and write it from scratch to do the thing you want instead of trying to make Christoph's code do something it isn't intended to do.
-
@d-healey Thanks, yep I intend to first strip it down to a much more basic version and then build it up again but with some other functionality I already have working, I'll have another go at it today.
-
@rglides looks like this https://forum.hise.audio/topic/7225/dynamically-loading-samples-sampler-audioloopplayer?_=1741312643183 solves the range issue. @Straticah sounds like this could be very useful for you too
-
@rglides If you check the snippet browser, Christophe wrote a custom SNEX sample playback node. That might help you.
-
@Orvillain Thanks yeah, I mentioned it, it does do what I want although I'd need to figure out how to use it with the right players. But without the reverse option for the players in scriptnode, I'm thinking of going with the sampler
-
@rglides Reverse option is quite easy to add if you know C and can modify the node code.
-
@Orvillain haha I'm just about getting to grips with HISE, I plan to learn different languages/frameworks but this would be my first attempt. I will look at it more thoroughly today though
-
@rglides SOLVED
in the import custom sample tutorialinline function loadSample(file) { local s = [Sampler1.parseSampleFile(file)]; if (s.length > 0) { s[0]['LoKey'] = 60; s[0]['HiKey'] = 60; } Sampler1.loadSampleMapFromJSON(s);
-
@rglides Link to this video please!