Midi-Gate-Trigger

5 replies [Last post]
Phatline
Offline
Joined: 11/08/2009
Midi-Gate-Trigger

Hi Mike,
maybe you can help me... I have on 12.06 a gig... I programmed a really cool patch for that... but after 20 - 30 Minutes my CPU usage gets high up to 100% (bevore the liveset has 30%) I use 4 Instances of my Midi-Gate-Receive Unit & 1 Midi-Gate-Send Unit.
When I then open the Midi-Gate-Receive  unit with the max editor and press "SAVE" the cpu Usage gets down to 30% - I dont understand it... I made differnt kinds of workarounds to reduce cpu usage... but up to now it is still the same... how ever...maybe first I describe the Idea behind the patch... and maybe you will get interestet in it:
 
The Idea for my Midigate (how it works):
In my Drumtrack is the "Midigate-send" Patch, there you can choose which Notes will send to my "midigate-receive" Patch. You can select 5 notes (aka 5 chanals--BD SN TOM RIM CLAP or so), in this patch only the velocitys will be sendt - not the notes > to reduce TRAFFIC (reduce audiable clicks that are coming when I send many data from one m4l patch to a nother --- Dont know why that so is...)
In my Synthtracks are the "Midigate-receivers" - they collect the Mididata from the Synthtrack-Midiclip (in realtime - so also midikeyboards can be connectet) & the Incoming Drum Velocitys (from "midigate send" on the drum track) trigger the notes with the Drumrack Velocity & Position - IN POLY 6x
That meens - The drums are triggering the Synth with the Drumvelocity and Note Position (time--steps...) but with orginal Synthmidiclip Notes>>> It order the Synthmidiclipnotes in time and Pressure! So the Synths will ever fits to the drums (so I and my "Drummer" can Jam in Realtime! and Melody and Beat fit to gether ---big phat groove!). jep it grooves (to get it worked you increase the AMP-Release of your synth...or just take a notelength plug after the plug >>> I reducet the Noteduration to ZERO - I thougt it could save me from 100% cpu usage...but it didn´t)
 
Here are the links to the patches:
http://www.phatline.at/m4l/Midigate.amxd
http://www.phatline.at/m4l/Midigate-Send.amxd
 
(on my dualcore laptop I get a error message when i load this patches in my liveset --- crash!... with my quadcore audioworkstation I have no problem with that....how ever... sick!)
 
 
 
 
 
 
 

Phatline
Offline
Joined: 11/08/2009

here is a setup for testing

http://www.phatline.at/m4l/Midigate_Project.zip

mchenetz's picture
mchenetz
Offline
Joined: 09/17/2009

Let me take a look at it and see if i can help you out.

Regards,

Mike

Phatline
Offline
Joined: 11/08/2009

I have made a workaround by sending the drum velocitys by CTLOUT and receive them via CTLIN (controllchanges) instead of sending them via Receive and Send Objects...now it has a very good timing! but I must test this patches this evening - if it reduces cpu load? .... maybe... here is the acutal setup with it patches- to see and hear how it works.

http://www.phatline.at/m4l/midigate2test.zip

Phatline
Offline
Joined: 11/08/2009

ok it works now - no high cpu load - Solution:
Not use Send & Receive Devices to commuinicate from one M4L patch to a nother - after a while with a constant midistream between the cpu load gets higher and higher and higher...till dropouts end the game....
Using instead the ctlout and ctlin as "midisidechain" workaround - works great stable and in really good timing!

(can be closed)

negotiator
Offline
Joined: 04/16/2010

phat i have seen many posts from you so far, you encountered many small things that can alter the performance of the patch

one thing i learned from you, is to shut down observers and live.objects after u dont need them anymore (by sending id 0)
the other thing i learned from this post, sends are bad :)

did you discover any other in depth things you think it would be important to know (maybe what affects the CPU much), that werent covered so far on this or cycling forums?

Would you be so kind and educate us shortly? :)

BTW big respect for your work, and your vids are just hilarious :)