MIDI Slicer?
To some extent, yes. The real difference between slicing audio and MIDI is of course that you have to catch the MIDI note-on messages to hear anything, so if you jump to somewhere after a note-on nothing will sound. Other types of messages like CCs doesn't have that limitation though. IIRC there used to be a demo/example patch that did something like this, but I can't find it now. Maybe someone else remembers?
Bjørn S
While waiting for other answers
I have an additional question - when I've recorded a MIDI passage to the PianoRoll and I play my keyboard at the same time the MIDI is playing back, occasionally some notes are dropped and sometimes a note would hang for a while.
Any ideas, what could be the reason for this?
Thanks.
Any ideas, what could be the reason for this?
Thanks.
The Only reason I can think of, is that if you play the same notes as the ones you've recorded, you'll get into trouble...
Bjørn S
No, not the same notes.bsork wrote:The Only reason I can think of, is that if you play the same notes as the ones you've recorded, you'll get into trouble...
So this is a mystery...
Just in case it's user error, here's the screenshot of my patch in question:

midi slicer: did come up with a similar idea earlier, cant find it in the forum now...my idea was to have a traktor-like dj thing with midi looping instead - imagine you could press a button and the last played bar repeats in the piano roll - optionally everything in perfect barstart sync.
did some experiments here with the local sync for a counting possible intervals, and the start/stop po inlets in the piano roll.
bsork: there was a patch for this??
as bsork points out there is the noteON/noteOFF problem. especially in sparse midi files with long notes its not really fun. did not manage to get good sync too..was too sloppy..
for now I have another approach here: use this idea for step sequencers. works much better and easier. you dont have the freedom of the piano roll thu... (I do it with my doepfer schaltwerk, still sync problems but its a way to follow I guess)
did some experiments here with the local sync for a counting possible intervals, and the start/stop po inlets in the piano roll.
bsork: there was a patch for this??
as bsork points out there is the noteON/noteOFF problem. especially in sparse midi files with long notes its not really fun. did not manage to get good sync too..was too sloppy..
for now I have another approach here: use this idea for step sequencers. works much better and easier. you dont have the freedom of the piano roll thu... (I do it with my doepfer schaltwerk, still sync problems but its a way to follow I guess)
I thought so too - maybe not a finished patch (and I've taken a look in the add-ons without luck) but at least there's a topic or two along these lines. There seems to something wrong with the search function on the site as only relatively need topics are found - I've notified Olivier about this. Probably a need for rebuilding a search index or something like that.amiga909 wrote:bsork: there was a patch for this??
Bjørn S
just another idea, i'll check when i get home:
tried to automate the loop position, alternatively use multiple piano rolls (or something else that just records and plays midi)?
patching:
1. main piano roll with 4 bar melody
2. 4 piano rolls with 1 bar length, in rewrite mode
3. automate the record button. local sync and a modulo operation turn off and on the 4 piano rolls consecutively
interface:
4. switches for each of the 4 'piano-roll-slices'. if one of the 4 buttons is pressed the midi out from the main piano roll is bypassed
(and probably also change the slice rolls recmode to overdub)
pro:
-> add a noteOn/noteOff detection for the slices (and show a led for each slice state)
-> more recorders for more slices
contra:
-> maybe replace the slicer piano rolls with a lighter midi recorder/player (there is a kewl mid recorder by insert piz here)
-> not a 'generic' method. instantiation of needed piano-roll-slices not in realtime (means: (1) allocate max modules needed, given the main piano roll bar length, and the desired number of slices, (2) no empty piano roll modules)
tried to automate the loop position, alternatively use multiple piano rolls (or something else that just records and plays midi)?
patching:
1. main piano roll with 4 bar melody
2. 4 piano rolls with 1 bar length, in rewrite mode
3. automate the record button. local sync and a modulo operation turn off and on the 4 piano rolls consecutively
interface:
4. switches for each of the 4 'piano-roll-slices'. if one of the 4 buttons is pressed the midi out from the main piano roll is bypassed
(and probably also change the slice rolls recmode to overdub)
pro:
-> add a noteOn/noteOff detection for the slices (and show a led for each slice state)
-> more recorders for more slices
contra:
-> maybe replace the slicer piano rolls with a lighter midi recorder/player (there is a kewl mid recorder by insert piz here)
-> not a 'generic' method. instantiation of needed piano-roll-slices not in realtime (means: (1) allocate max modules needed, given the main piano roll bar length, and the desired number of slices, (2) no empty piano roll modules)
Thanks, lots of information to consider here.
I'll have to digest it for a while
I'll have to digest it for a while
had only 10min to test the midi-slicer idea. overlooked a thing that seems now crucial:
- if the multiple-piano-roll approach is taken instead of the loop-position-automation i get perfect sync.
but: recording midi data on slices is too restrictive in terms of changing the main piano roll data. it should be the case the original data can be edited at any time and the slices always and instantly have the original data.
-> would it be easy to implement an array outlets/inlets for the piano roll, same as the step mid module ?
would be incredible! with array pins you could do MUCH more with the piano roll
- if the multiple-piano-roll approach is taken instead of the loop-position-automation i get perfect sync.
but: recording midi data on slices is too restrictive in terms of changing the main piano roll data. it should be the case the original data can be edited at any time and the slices always and instantly have the original data.
-> would it be easy to implement an array outlets/inlets for the piano roll, same as the step mid module ?
would be incredible! with array pins you could do MUCH more with the piano roll
Well, tried, but as I'm a patching noob, I couldn't make it happen.amiga909 wrote:3. automate the record button. local sync and a modulo operation turn off and on the 4 piano rolls consecutively
Could you elaborate on this part a bit?
Another idea.
What if:
1) There aren't a fixed number of slices, but they are generated by note on messages.
2) Possibly adjust how many note ons it takes to define a slice.
3) Even if it's just one note per slice, it'd be a little different than simply rearranging the notes end to end, because each slice would contain a note and a pause (if present).
For an example a sequence of notes (_ is a pause):
C _ _ D _ _ E F G _
Could be after rearranging:
D _ _ F C _ _ G _ E
Could be difficult if playing chords.
Just thinking aloud...
What if:
1) There aren't a fixed number of slices, but they are generated by note on messages.
2) Possibly adjust how many note ons it takes to define a slice.
3) Even if it's just one note per slice, it'd be a little different than simply rearranging the notes end to end, because each slice would contain a note and a pause (if present).
For an example a sequence of notes (_ is a pause):
C _ _ D _ _ E F G _
Could be after rearranging:
D _ _ F C _ _ G _ E
Could be difficult if playing chords.
Just thinking aloud...
here a screenshot. did it with isEqual here. for the loop-point-auto is used a counter and a math mod module.Kaspar wrote:Well, tried, but as I'm a patching noob, I couldn't make it happen.
Could you elaborate on this part a bit?

kinda "works". quirky! GUI isnt updated right, notes can be lost or cut..
when I have time I'll try to understand the midi accumulator script, maybe its possible there..
Wow!
No wonder I couldn't come up with it myself.
There are a lot of wires!
Will try it out, thanks.
No wonder I couldn't come up with it myself.
There are a lot of wires!
Will try it out, thanks.
no problem.
try something like this if u like. but do not loose too much time with my quriky patching ideas
just a note: instead of the sync module and the math there, you could also you another sequencer module (eg. if output is C3 -> record on piano roll 1; if output is C4 -> record on piano roll 2) - might be easier.
let me know if you can advance the midi slicer somehow.. your idea about slicing notes only (and do not consider time intervals) is something to think deeper about
try something like this if u like. but do not loose too much time with my quriky patching ideas
just a note: instead of the sync module and the math there, you could also you another sequencer module (eg. if output is C3 -> record on piano roll 1; if output is C4 -> record on piano roll 2) - might be easier.
let me know if you can advance the midi slicer somehow.. your idea about slicing notes only (and do not consider time intervals) is something to think deeper about
Here's a few examples I recorded with amiga909's solution to PianorollSlicer:
http://www.kaspartorn.eu/audio/KasparTO ... ess_03.mp3
http://www.kaspartorn.eu/audio/KasparTO ... ess_02.mp3
http://www.kaspartorn.eu/audio/KasparTO ... ess_01.mp3
They are similar, the first link gets to the loop order changing more quickly.
The usage brought me to another question - how to randomize the order so, that only one pianoroll plays at a time?
Right now I used one Random Integer Min/Max Patch for each Pianoroll.
This results in most of the times some pianorolls having the same number, which is nice but sometimes (at the beginning of a recording etc) the option to have them recording/playing consecutively.
http://www.kaspartorn.eu/audio/KasparTO ... ess_03.mp3
http://www.kaspartorn.eu/audio/KasparTO ... ess_02.mp3
http://www.kaspartorn.eu/audio/KasparTO ... ess_01.mp3
They are similar, the first link gets to the loop order changing more quickly.
The usage brought me to another question - how to randomize the order so, that only one pianoroll plays at a time?
Right now I used one Random Integer Min/Max Patch for each Pianoroll.
This results in most of the times some pianorolls having the same number, which is nice but sometimes (at the beginning of a recording etc) the option to have them recording/playing consecutively.
Thanks, I will try.amiga909 wrote:let me know if you can advance the midi slicer somehow.. your idea about slicing notes only (and do not consider time intervals) is something to think deeper about
I'll think deeper, although there's a limit to my deepness at the moment that is quite shallow
I sort of...improved it - replaced the constant modules with a randomisable array:amiga909 wrote:let me know if you can advance the midi slicer somehow..

Something weird happens - every 5th bar the pianorolls record/play simultaneously?!
Also I can't increase slice duration in proportion to the bar duration - slices remain 1 beat long.
How to do that?
Who is online
Users browsing this forum: Bing [Bot] and 24 guests
