Welcome to %s forums

BrainModular Users Forum

Login Register

MIDI Slicer?

I need help on a Patch
Post Reply
Kaspar
Member
Posts: 75
Contact:

Unread post by Kaspar » 09 Sep 2008, 09:46

Is it possible to "slice" a MIDI cycle recorded into the piano-roll?
And then randomise the order of playback...

A behaviour similar to the LiveSlicer patch, but for MIDI.

Thanks!

bsork
Site Admin
Posts: 1334
Location: Asker, Norway
Contact:

Unread post by bsork » 09 Sep 2008, 11:08

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

Kaspar
Member
Posts: 75
Contact:

Unread post by Kaspar » 10 Sep 2008, 01:10

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.

bsork
Site Admin
Posts: 1334
Location: Asker, Norway
Contact:

Unread post by bsork » 10 Sep 2008, 09:08

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

Kaspar
Member
Posts: 75
Contact:

Unread post by Kaspar » 10 Sep 2008, 10:04

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...
No, not the same notes.
So this is a mystery...

Just in case it's user error, here's the screenshot of my patch in question:

Image

amiga909
Member
Posts: 324
Contact:

Unread post by amiga909 » 10 Sep 2008, 12:18

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)

bsork
Site Admin
Posts: 1334
Location: Asker, Norway
Contact:

Unread post by bsork » 10 Sep 2008, 14:38

amiga909 wrote:bsork: there was a patch for this??
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.
Bjørn S

amiga909
Member
Posts: 324
Contact:

Unread post by amiga909 » 10 Sep 2008, 15:10

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)

Kaspar
Member
Posts: 75
Contact:

Unread post by Kaspar » 10 Sep 2008, 17:10

Thanks, lots of information to consider here.
I'll have to digest it for a while :)

amiga909
Member
Posts: 324
Contact:

Unread post by amiga909 » 11 Sep 2008, 11:24

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 :)

Kaspar
Member
Posts: 75
Contact:

Unread post by Kaspar » 11 Sep 2008, 13:12

amiga909 wrote:3. automate the record button. local sync and a modulo operation turn off and on the 4 piano rolls consecutively
Well, tried, but as I'm a patching noob, I couldn't make it happen.
Could you elaborate on this part a bit?

Kaspar
Member
Posts: 75
Contact:

Unread post by Kaspar » 11 Sep 2008, 13:20

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...

amiga909
Member
Posts: 324
Contact:

Unread post by amiga909 » 11 Sep 2008, 17:42

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?
here a screenshot. did it with isEqual here. for the loop-point-auto is used a counter and a math mod module.

Image

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..

Kaspar
Member
Posts: 75
Contact:

Unread post by Kaspar » 11 Sep 2008, 21:25

Wow!

No wonder I couldn't come up with it myself.
There are a lot of wires! :)

Will try it out, thanks.

amiga909
Member
Posts: 324
Contact:

Unread post by amiga909 » 12 Sep 2008, 09:00

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 :)

Kaspar
Member
Posts: 75
Contact:

Unread post by Kaspar » 12 Sep 2008, 11:16

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.

Kaspar
Member
Posts: 75
Contact:

Unread post by Kaspar » 12 Sep 2008, 11:19

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 :)
Thanks, I will try.
I'll think deeper, although there's a limit to my deepness at the moment that is quite shallow ;)

Kaspar
Member
Posts: 75
Contact:

Unread post by Kaspar » 16 Sep 2008, 11:32

amiga909 wrote:let me know if you can advance the midi slicer somehow..
I sort of...improved it - replaced the constant modules with a randomisable array:
Image


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?

Post Reply

Who is online

Users browsing this forum: Bing [Bot] and 17 guests