Hi Christian, Thanks so much for the code snippets, they'll get me off to a good start! I'll be doing this wholly in gig format, not sfz.
What I mean by repitching the note is not a slide, but rather play for example "$EVENT_NOTE +1" (A C# sample) at the same pitch as C ($EVENT_NOTE).. That way if I have a semitone sampled instrument, I could effectively get extra repitched samples per note. I think for this I can simply use change_tune to do an "instant" -100 cent tune down so the C# sample sounds at the C pitch without too much stretching? Cheers. Andrew. On Tue, Apr 6, 2021 at 10:21 AM Christian Schoenebeck < schoeneb...@linuxsampler.org> wrote: > On Sonntag, 4. April 2021 22:24:09 CEST Andrew C wrote: > > Hi all, > > > > I'm looking into creating a poorman's round robin script for some short > > note staccatos. > > I assume you want to use sfz. In this case create a text file somewhere > which > you will fill with NKSP script code and link that script in your sfz file > with > the 'script' opcode: > > http://doc.linuxsampler.org/sfz/script_opcode/ > > The advantage with the gig format is that you get immediate syntax / error > / > warning feedbacks while typing the script in gigedit's script editor. So > this > is probably more convenient and faster, especially on first steps. > > However alternatively you can also use 'ls_instr_script' from the command > line > to check your script for errors: > > cat /some/where/foo.txt | ls_instr_script sfz > > Additional options are described by: > > ls_instr_script > > > My plan is to write a script which will: > > > > At note on, pick a random number between 0 and 4. > > on init > declare polyphonic $n > end init > > on note > $n := random(0, 4) > message("Random number is " & $n) > ... > end on > > > Play either the same note, 2 semitones up but repitched to the original > > note's pitch, 1 semitone up but repitched, 2 semitones down but repitched > > or 1 semitone down but repitched. > > select $n > case 0 > play_note($EVENT_NOTE + 2, $EVENT_VELOCITY) > case 1 > ... > case 2 > ... > case 3 > ... > case 4 > ... > end select > > I don't get though what you mean with "repitched to the original note's > pitch". Do you want to start it with a x semitones offset and let it slide > to > the original pitch within a certain duration? > > > I looked at the NKSP reference manual and it seems like I can achieve the > > first part with the Random() function. > > > > I'm considering using change_pitch function to simply tell the future > note > > to pitch itself up or down and then use play_note to play the new note's > > sample but repitched. > > The function is called change_tune() for some reason (KSP invention): > > http://doc.linuxsampler.org/Instrument_Scripts/NKSP_Language/Reference/ > change_tune_function/ > <http://doc.linuxsampler.org/Instrument_Scripts/NKSP_Language/Reference/change_tune_function/> > > And you would probably want to use it in conjunction with > change_tune_time() > to control how long it will take to perform the tuning/pitch change. > > > > > play_note does send a new midi note_on event, if I'm not mistaken? > > Yes. > > This tour is probabably a good starting point: > > http://doc.linuxsampler.org/Instrument_Scripts/NKSP_Language/ > > Hover your mouse over keywords to see a short summary what they are doing. > Click on them to get to the detailed description of the keyword. > > > > > Thanks, > > > > Andrew. > > CU > Christian > > > > > _______________________________________________ > Linuxsampler-devel mailing list > Linuxsampler-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/linuxsampler-devel >
_______________________________________________ Linuxsampler-devel mailing list Linuxsampler-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linuxsampler-devel