Sampler machine idea (could I make it if I learned c#?)

User avatar
Mozart von Robot
Posts: 106
Joined: Thu Mar 15, 2012 2:15 am
Location: Sweden

Sampler machine idea (could I make it if I learned c#?)

Post by Mozart von Robot »

I had an idea for a sampler machine, based on some minor (mainly MIDI-based) inconveniences I've experienced with the existing ones, but since I don't know anything about programming, I figured I'd ask here if it's even hypothetically possible first, so I know if it's worth learning. Any tips would be very welcome:)

This machine would be mainly for slicing, pitching and assigning slices to a midi controller, to be played monophonically in real-time, and for blending slices of a long sample with one-shots. With as little jiggery-pokery as possible.

How I'd imagine this would be accomplished is, first of all, all the slices (or samples) would be triggered by note-ons (C-0 to D#1, for example). Of course, if somebody wanted polyphony, "Ctrl +" would bring in another one of these three-dot columns. This system is in contrast to for example Sample Grid, which gives each sample its own column, not allowing monophonic playing (great for drums, but not for sample slices).

Each sample/slice needs a wavetable parameter, so they can either be set to parts of the same sample or different samples (in case one prefers to slice samples in the wavetable editor, for example). So that's sixteeen two-dot columns for wavetable (if one is going for 16 samples, which seems like a decent number considering most pad controllers have 16 pads - for more slices, one can always use a second machine and set it to another midi channel).

Each sample/slice also needs its own four-digit offset parameter, so that's sixteen four-dot columns for offset. Yeah, filling up on dots here, but imagine assigning the offset of each pad to a knob. It'd be insanely convenient (if you've got 16 midi-assignable knobs* around, that is - otherwise even being able to set them with the mouse while hitting the pads or keys of a midi controller or looping a pattern to find the right start points would be very practical).

In much the same vein of thinking, end points can be quite useful, so that's four more dots for each slice.

Attack - this would be helpful for eliminating clicks and pops caused by the soundwave starting at a point too far from neutral. I'd imagine a single-dot column that goes from 0 to just a few milliseconds would be fine, but I'm sure there could be creative uses for more attack than that, so I'm thinking a two-dot column for each slice.

Release - Same thinking here. Sometimes the endpoint (or a note-off message) might cause a click, so why not mend that with a two-digit release parameter for each slice?

Tune. Two dot-columns, one for each slice and one global. Much like Sample Grid. 17 two-dot columns for tuning.

Reverse switch. Imagine assigning this to a foot pedal, to make any slice triggered with the foot down play backwards. Doesn't need to be for each slice, one global switch is fine, so that's one single-dot column.

Retrigger - one global two-dot column, controlling speed and amount.

Trigger delay - one global two-dot column.

Pitch bend & bend reach - why not? A lot of keyboard controllers have a pitch wheel, might as well use it, and even better to be able to choose from any amount between a semitone and two octaves.

Oh, and Sample Grid has a setting for whether or not to record note-off messages when a pad/key is released. Strikes me as a thing to have.

This would be perfect for mangling drum loops as well as melodic samples, and for live use especially, in that it could share MIDI channel with a sample grid and be played together, as an MPC user would layer samples on MPC pads to play live. Buzz would, in essence, be able to do the job of an MPC. Except for sampling straight from line input to the wavetable (...which would be insanely cool if it were possible).

So...can it be done?

* Another thought, that seems hopeless: Would it be possible to make it so that hitting a pad moves an assigned MIDI knob from one offset parameter to another? This would eliminate the need for multiple controller knobs, but I'm guessing Buzz just doesn't work that way. Would this be correct?
User avatar
mantratronic
Posts: 296
Joined: Mon Nov 21, 2011 7:23 pm

Re: Sampler machine idea (could I make it if I learned c#?)

Post by mantratronic »

I dont see any reason why that can't work. Thats not a promise or anything, but it seems like a good idea.

http://buzzwiki.robotplanet.dk/index.ph ... o_make_one

(please ignore my sarcastic title, i was having a frustrating day)

also http://buzzwiki.robotplanet.dk/index.ph ... d_Machines but i havent done the example as I planned yet...
User avatar
thOke
Posts: 343
Joined: Thu Nov 24, 2011 7:14 am

Re: Sampler machine idea (could I make it if I learned c#?)

Post by thOke »

i think sample grid 2 beta went into that direction, but the midi functions (right click - > group setup) are not working yet ?!
User avatar
IXix
Posts: 1113
Joined: Wed Nov 23, 2011 3:24 pm

Re: Sampler machine idea (could I make it if I learned c#?)

Post by IXix »

thOke wrote:i think sample grid 2 beta went into that direction, but the midi functions (right click - > group setup) are not working yet ?!
What's not working? You can definitely trigger SG2 by midi.
User avatar
thOke
Posts: 343
Joined: Thu Nov 24, 2011 7:14 am

Re: Sampler machine idea (could I make it if I learned c#?)

Post by thOke »

IXix wrote:
thOke wrote:i think sample grid 2 beta went into that direction, but the midi functions (right click - > group setup) are not working yet ?!
What's not working? You can definitely trigger SG2 by midi.
Oh ... i actually got it working, but i had to move around the virtual midi keyboard and the group setup window several times before the midi key was accepted.
Sometimes it workes, sometimes it does not. Probably my setup - i use a background program to keep windows stay on top ??
SGrid2Midi.jpg
try to change the midi key in the attached example bmx with BTDSys SampleGrid 2 BETA 061110 - B04 (your latest custom version)
SGrid2_MidiLoopSlice.zip
(286.5 KiB) Downloaded 297 times
User avatar
thOke
Posts: 343
Joined: Thu Nov 24, 2011 7:14 am

Re: Sampler machine idea (could I make it if I learned c#?)

Post by thOke »

Mozart von Robot wrote:first of all, all the slices (or samples) would be triggered by note-ons (C-0 to D#1, for example).
Sample Grid 2 (SG2) can do that (supposed it's working)
Mozart von Robot wrote:Of course, if somebody wanted polyphony, "Ctrl +" would bring in another one of these three-dot columns. This system is in contrast to for example Sample Grid, which gives each sample its own column, not allowing monophonic playing (great for drums, but not for sample slices).
??? i do not understand that ... why shouldn't you be able to play the slices in mono ... if each slice has it's own key, you can play the different (mono) slices simultanously by hitting two or more of those keys.
Mozart von Robot wrote:Each sample/slice needs a wavetable parameter, so they can either be set to parts of the same sample or different samples (in case one prefers to slice samples in the wavetable editor, for example). So that's sixteeen two-dot columns for wavetable (if one is going for 16 samples, which seems like a decent number considering most pad controllers have 16 pads - for more slices, one can always use a second machine and set it to another midi channel).
??? you can assign a sample or a part of the sample to a midi key in SG2's "group setup"
Mozart von Robot wrote:Each sample/slice also needs its own four-digit offset parameter, so that's sixteen four-dot columns for offset. Yeah, filling up on dots here, but imagine assigning the offset of each pad to a knob. It'd be insanely convenient (if you've got 16 midi-assignable knobs* around, that is - otherwise even being able to set them with the mouse while hitting the pads or keys of a midi controller or looping a pattern to find the right start points would be very practical).

In much the same vein of thinking, end points can be quite useful, so that's four more dots for each slice.
you can assign the start and end parameter of the sample(s) to any midi controller with SG2 ...
Mozart von Robot wrote: Attack - this would be helpful for eliminating clicks and pops caused by the soundwave starting at a point too far from neutral. I'd imagine a single-dot column that goes from 0 to just a few milliseconds would be fine, but I'm sure there could be creative uses for more attack than that, so I'm thinking a two-dot column for each slice.

Release - Same thinking here. Sometimes the endpoint (or a note-off message) might cause a click, so why not mend that with a two-digit release parameter for each slice?
SG2 has a great envelope editor (the one from unwieldy tracker). i did not find out yet, if the envelope points can be automated, but you can draw several different envelopes
and switch between them with midi controllers.
Mozart von Robot wrote:Tune. Two dot-columns, one for each slice and one global. Much like Sample Grid. 17 two-dot columns for tuning.

Reverse switch. Imagine assigning this to a foot pedal, to make any slice triggered with the foot down play backwards. Doesn't need to be for each slice, one global switch is fine, so that's one single-dot column.

Retrigger - one global two-dot column, controlling speed and amount.

Trigger delay - one global two-dot column.

Pitch bend & bend reach - why not? A lot of keyboard controllers have a pitch wheel, might as well use it, and even better to be able to choose from any amount between a semitone and two octaves.

Oh, and Sample Grid has a setting for whether or not to record note-off messages when a pad/key is released. Strikes me as a thing to have.

This would be perfect for mangling drum loops as well as melodic samples, and for live use especially, in that it could share MIDI channel with a sample grid and be played together, as an MPC user would layer samples on MPC pads to play live. Buzz would, in essence, be able to do the job of an MPC. Except for sampling straight from line input to the wavetable (...which would be insanely cool if it were possible).

So...can it be done?
Have a look at SG2's command list
Mozart von Robot wrote:* Another thought, that seems hopeless: Would it be possible to make it so that hitting a pad moves an assigned MIDI knob from one offset parameter to another? This would eliminate the need for multiple controller knobs, but I'm guessing Buzz just doesn't work that way. Would this be correct?
you probably could assign velocity to offset somehow ... so that the hardness of the hit determines the offset ... if that is what you want ??!

another TIP: use IX Split with a buzz sampler and create midi triggerable layers !!
Last edited by thOke on Sun Mar 18, 2012 2:49 pm, edited 1 time in total.
User avatar
UNZ
Posts: 809
Joined: Mon Nov 21, 2011 9:42 pm
Contact:

Re: Sampler machine idea (could I make it if I learned c#?)

Post by UNZ »

thOke wrote: Oh ... i actually got it working, but i had to move around the virtual midi keyboard and the group setup window several times before the midi key was accepted.
Sometimes it workes, sometimes it does not. Probably my setup - i use a background program to keep windows stay on top ??
this is probably just because of MasterKeyboardMode, if its on, the generator that has focus receives midi.
User avatar
thOke
Posts: 343
Joined: Thu Nov 24, 2011 7:14 am

Re: Sampler machine idea (could I make it if I learned c#?)

Post by thOke »

UNZ wrote:
thOke wrote: Oh ... i actually got it working, but i had to move around the virtual midi keyboard and the group setup window several times before the midi key was accepted.
Sometimes it workes, sometimes it does not. Probably my setup - i use a background program to keep windows stay on top ??
this is probably just because of MasterKeyboardMode, if its on, the generator that has focus receives midi.
hm ... "Lock Midi Focus" was on ... and i i tried with off, too. i also tried with MasterKeyboardMode on and off (and yes, i chose the right midi channel in off mode) - makes no difference.
the activated little grey field, that has to be clicked when you want to assign a new midi key, jumps to inactive, but the key does not change most of the times ... then it suddenly works for one or two clicks ... after that ... nothing happens again. appears to me like random behaviour, but i am trying to narrow down the reason.
btw ... that also happens in old buzz.
User avatar
UNZ
Posts: 809
Joined: Mon Nov 21, 2011 9:42 pm
Contact:

Re: Sampler machine idea (could I make it if I learned c#?)

Post by UNZ »

can't you use the builtin virtual keyboard btw ?
User avatar
thOke
Posts: 343
Joined: Thu Nov 24, 2011 7:14 am

Re: Sampler machine idea (could I make it if I learned c#?)

Post by thOke »

UNZ wrote:can't you use the builtin virtual keyboard btw ?
yes, i can and i do sometimes ... makes no difference according to that problem with SG2 though.
bome's keyboard i use because i often switch between programms and it has a quick chord drop-down menu.
User avatar
Mozart von Robot
Posts: 106
Joined: Thu Mar 15, 2012 2:15 am
Location: Sweden

Re: Sampler machine idea (could I make it if I learned c#?)

Post by Mozart von Robot »

thOke wrote:
Mozart von Robot wrote:Of course, if somebody wanted polyphony, "Ctrl +" would bring in another one of these three-dot columns. This system is in contrast to for example Sample Grid, which gives each sample its own column, not allowing monophonic playing (great for drums, but not for sample slices).
??? i do not understand that ... why shouldn't you be able to play the slices in mono ... if each slice has it's own key, you can play the different (mono) slices simultanously by hitting two or more of those keys.
It sounds like you're getting polyphony and monophony mixed up. I want to be able to trigger one slice, then trigger another and have the first one be automatically stopped.
Which, looking into it, appears to be possible with SG2 using the "X0R" thing. Interesting.
thOke wrote:
Mozart von Robot wrote:* Another thought, that seems hopeless: Would it be possible to make it so that hitting a pad moves an assigned MIDI knob from one offset parameter to another? This would eliminate the need for multiple controller knobs, but I'm guessing Buzz just doesn't work that way. Would this be correct?
you probably could assign velocity to offset somehow ... so that the hardness of the hit determines the offset ... if that is what you want ??!
That's not it at all. What I meant was to be able to trigger the slice and automatically assign a knob to the offset of that slice, then trigger another slice and have that same knob get assigned to the offset parameter of that slice instead, so one can trigger a slice, adjust its start point, trigger another slice, adjust its start point, et cetera, all with one knob.
mute
Posts: 417
Joined: Mon Nov 21, 2011 8:30 pm

Re: Sampler machine idea (could I make it if I learned c#?)

Post by mute »

Why reinvent the wheel to be the same wheel? There are plenty of samplers out there. I'm not seeing anything out of the ordinary or unique here..

Voice grouping is part of any decent Sampler. SGrid2 is not a tracker, it's a sampler (also supports battery1 kits btw), which is why you are finding some of the features you're talking about in it.
User avatar
Mozart von Robot
Posts: 106
Joined: Thu Mar 15, 2012 2:15 am
Location: Sweden

Re: Sampler machine idea (could I make it if I learned c#?)

Post by Mozart von Robot »

mute wrote:Why reinvent the wheel to be the same wheel? There are plenty of samplers out there. I'm not seeing anything out of the ordinary or unique here..

Voice grouping is part of any decent Sampler. SGrid2 is not a tracker, it's a sampler (also supports battery1 kits btw), which is why you are finding some of the features you're talking about in it.
Well, when I started this thread I was not very familiar with the leaps SGrid2 has taken, as I only got my hands on it the other day and haven't gotten to know it fully yet. I'm quite happy to know now that SGrid2 seems to cover most of the areas I was fantasizing about.
User avatar
Mozart von Robot
Posts: 106
Joined: Thu Mar 15, 2012 2:15 am
Location: Sweden

Re: Sampler machine idea (could I make it if I learned c#?)

Post by Mozart von Robot »

However, I can't seem to get SGrid2 to respond to midi note-on messages. And haven't found a way to move offsets with knobs.
User avatar
thOke
Posts: 343
Joined: Thu Nov 24, 2011 7:14 am

Re: Sampler machine idea (could I make it if I learned c#?)

Post by thOke »

Mozart von Robot wrote:However, I can't seem to get SGrid2 to respond to midi note-on messages.
... look at the picture above. i have problems with that too, but it works sometimes here.
Mozart von Robot wrote: And haven't found a way to move offsets with knobs.
bindtocc.jpg
User avatar
Mozart von Robot
Posts: 106
Joined: Thu Mar 15, 2012 2:15 am
Location: Sweden

Re: Sampler machine idea (could I make it if I learned c#?)

Post by Mozart von Robot »

Oh, I see! Now, how do I make it so it doesn't accept note off messages (or give it infinite release time)? I know how to do it with the old sample grids, but I can't seem to find it in the new ones.
User avatar
thOke
Posts: 343
Joined: Thu Nov 24, 2011 7:14 am

Re: Sampler machine idea (could I make it if I learned c#?)

Post by thOke »

Mozart von Robot wrote:Oh, I see! Now, how do I make it so it doesn't accept note off messages (or give it infinite release time)? I know how to do it with the old sample grids, but I can't seem to find it in the new ones.
noteoffornot.jpg
User avatar
Mozart von Robot
Posts: 106
Joined: Thu Mar 15, 2012 2:15 am
Location: Sweden

Re: Sampler machine idea (could I make it if I learned c#?)

Post by Mozart von Robot »

thOke wrote:
Mozart von Robot wrote:Oh, I see! Now, how do I make it so it doesn't accept note off messages (or give it infinite release time)? I know how to do it with the old sample grids, but I can't seem to find it in the new ones.
noteoffornot.jpg
Mine doesn't seem to have that check box. What version is this?
User avatar
thOke
Posts: 343
Joined: Thu Nov 24, 2011 7:14 am

Re: Sampler machine idea (could I make it if I learned c#?)

Post by thOke »

User avatar
Mozart von Robot
Posts: 106
Joined: Thu Mar 15, 2012 2:15 am
Location: Sweden

Re: Sampler machine idea (could I make it if I learned c#?)

Post by Mozart von Robot »

Oh, thanks!
Now, is there a way to turn off the velocity sensitivity?
Post Reply