[Csnd] garritan users / transmitting MIDI on multiple virtual ports - ANY solution reqd
Date | 2007-12-04 10:18 |
From | Tim Mortimer |
Subject | [Csnd] garritan users / transmitting MIDI on multiple virtual ports - ANY solution reqd |
Been tearing my hair out last few days trying to get RELIABLE multiple midi outs aimed at the Garritan Personal Orchestra player, now that my (now rewritten with classes – hooray!, still not public releaseable yet though..) Parseval program / python script can target all the instruments in the orchestra - including some basic "write your string parts, target the multiple individual players" type scenarios (possibility therefore of divisi strings, blah blah…) But my dreams of en-masse, amateur, partly generative, subtlely gaussified orchestrations are falling fowl due to the lack of ability I have to target the Garritan Player on it’s 8 separate, “virtual” MIDI ports (sort of like “MIDIyoke” basically) Max fails dismally on the issue. No really, it does. Anything more than one seq object at a time pointed at multiple outports results in highly disparate tempos of playback, dropped notes, basically it’s a farce. Davis Pyon’s csound~ object actually performs a lot better when it comes to transmitting MIDI (hats off Davis!). But u need to turn the max audio on to run it. & & my driver is busy with external Garritan player… & csound~ is still somewhat at the mercy of Csound upgrades & compatability issues - & I think it’s a bit ludicrous to run 8 x csound~ in a max patch just so I can generate MIDI events that could just as easy be generated by playing MIDIfiles! Duh! & to be honest, Max can pretty much go in the dustbin for me IF I can actually find a way to transmit to these god damn “virtual” midi ports (as I'm using Python & Csound now to do all those things I wanted to do with Max but couldn’t anyway…) SO…. I’ve started looking around for alternatives to my multi MIDI target dilemmas. But there are few. Actiually, try zero. There’s this for python, but it doesn’t seem to be 2.5 compatible http://alumni.media.mit.edu/~harrison/pyportmidi.html &, of course, Csound can only transmit on one –Q channel at a time I’m so close to something really bl**dy good here (after months of work) - & yes, it (Parseval) will still make a really cool Csound score generator & command line “interface” for working quickly with Csound & multiple orcs & scores. But I REALLY REALLY REALLY just want to be able to transmit on multiple MIDI ports to the garritan player (& I can create / "batch render" the individual MIDI files with Csound still after all, so no complaints there) So does anybody have any ideas how I can take this forward to fruition? Making music purely with Csound would be cool, & if it comes to it that’s what I’ll pursue going forward. But I’m really keen on dumping the whole Csound “thing” onto some sort of cod – orchestral basis / simulation - & ironically, it’s the commercial apps &/ or lack of the most basic MIDIfile & transmission capabilities that’s letting me down. Anybody? (im currently on windows XP…) I can still step back & be proud of how far i've got learning Csound & Python over the last 12 months. But why settle for "really quite good", when "sonic bl**dy nirvana" is potentially just around the corner? me & my infernal cries to the system! ; ) keen to hear from anyone who has tackled the issue, either from the purely MIDI, or Garritan user side of the fence. Yet another case of being slightly off topic, but not knowing where else to turn. From my perspective, Csound & Python are almost synonymous / inseparable now anyway... -- View this message in context: http://www.nabble.com/garritan-users---transmitting-MIDI-on-multiple-virtual-ports---ANY-solution-reqd-tf4942241.html#a14147966 Sent from the Csound - General mailing list archive at Nabble.com. |
Date | 2007-12-04 10:48 |
From | Rory Walsh |
Subject | [Csnd] Re: garritan users / transmitting MIDI on multiple virtual ports - ANY solution reqd |
Are you using the Csound API? I know there are a few midi functions in there, perhaps they can give you access to lower level midi operations, I don't really know but it might be worth looking at. Rory. Tim Mortimer wrote: > Been tearing my hair out last few days trying to get RELIABLE multiple midi > outs aimed at the Garritan Personal Orchestra player, now that my (now > rewritten with classes – hooray!, still not public releaseable yet though..) > Parseval program / python script can target all the instruments in the > orchestra - including some basic "write your string parts, target the > multiple individual players" type scenarios (possibility therefore of divisi > strings, blah blah…) > > But my dreams of en-masse, amateur, partly generative, subtlely gaussified > orchestrations are falling fowl due to the lack of ability I have to target > the Garritan Player on it’s 8 separate, “virtual” MIDI ports (sort of like > “MIDIyoke” basically) > > Max fails dismally on the issue. No really, it does. Anything more than one > seq object at a time pointed at multiple outports results in highly > disparate tempos of playback, dropped notes, basically it’s a farce. > > Davis Pyon’s csound~ object actually performs a lot better when it comes to > transmitting MIDI (hats off Davis!). > > But u need to turn the max audio on to run it. & & my driver is busy with > external Garritan player… & csound~ is still somewhat at the mercy of Csound > upgrades & compatability issues - & I think it’s a bit ludicrous to run 8 x > csound~ in a max patch just so I can generate MIDI events that could just as > easy be generated by playing MIDIfiles! Duh! > > & to be honest, Max can pretty much go in the dustbin for me IF I can > actually find a way to transmit to these god damn “virtual” midi ports (as > I'm using Python & Csound now to do all those things I wanted to do with Max > but couldn’t anyway…) > > SO…. I’ve started looking around for alternatives to my multi MIDI target > dilemmas. But there are few. Actiually, try zero. > > There’s this for python, but it doesn’t seem to be 2.5 compatible > > http://alumni.media.mit.edu/~harrison/pyportmidi.html > > &, of course, Csound can only transmit on one –Q channel at a time > > I’m so close to something really bl**dy good here (after months of work) - & > yes, it (Parseval) will still make a really cool Csound score generator & > command line “interface” for working quickly with Csound & multiple orcs & > scores. > > But I REALLY REALLY REALLY just want to be able to transmit on multiple MIDI > ports to the garritan player (& I can create / "batch render" the individual > MIDI files with Csound still after all, so no complaints there) > > So does anybody have any ideas how I can take this forward to fruition? > > Making music purely with Csound would be cool, & if it comes to it that’s > what I’ll pursue going forward. But I’m really keen on dumping the whole > Csound “thing” onto some sort of cod – orchestral basis / simulation - & > ironically, it’s the commercial apps &/ or lack of the most basic MIDIfile & > transmission capabilities that’s letting me down. > > Anybody? (im currently on windows XP…) > > I can still step back & be proud of how far i've got learning Csound & > Python over the last 12 months. But why settle for "really quite good", when > "sonic bl**dy nirvana" is potentially just around the corner? > > me & my infernal cries to the system! ; ) > > keen to hear from anyone who has tackled the issue, either from the purely > MIDI, or Garritan user side of the fence. > > Yet another case of being slightly off topic, but not knowing where else to > turn. From my perspective, Csound & Python are almost synonymous / > inseparable now anyway... |
Date | 2007-12-04 16:16 |
From | "Steven Yi" |
Subject | [Csnd] Re: garritan users / transmitting MIDI on multiple virtual ports - ANY solution reqd |
Attachments | None |
Date | 2007-12-05 09:45 |
From | Tim Mortimer |
Subject | [Csnd] Re: garritan users / transmitting MIDI on multiple virtual ports - ANY solution reqd |
Thanks for the suggestions Steven - but i think i'll have to chalk them down as "longer term" Rory - as far as using the API goes - i batch render orc & sco files from the command line within my Python script & that's it (basically where i'm headed with this is that your "piece" only ever exists for playback as pre-rendered wav's (or MIDI, in this case as the target is a MIDI inst...) the method is something like this: - if u change the master Parseval score - you then nominate the parts you changed for "re-rendering" - (whizzo goes the cpu & csound...) - you playback your "piece" (from wav &/or MIDI) in the new altered version.... the advantages are several - but not least of which is that every Parseval score line inevitably affects either multiple instruments, or at leasts alters a note event & all the allied controllers / gk's in one simple step i.e. one parseval line usually creates several lines of csound score, saving hours of pawing over .sco notation & going potty over floating point value startimes on several different inst channels.... (you think my writings verbose & unnecessarily pompous - wait till you hear the music! ; ) ..) my major gripe with "computer music" to date is by the time ive discovered executed a process / technique, the composition to which i was going to apply it has become so boring to me i abandon it, & move on to the next experiment.... Anyway - i'm drifting again. If i looked into the API in order to try & solve this, i think i'd be here another 6 months without writing a single note of csound code, or music. Whereas if someone took my "hint" onboard - simply needing a command line (or python script hostable == bonus points) app that plays multiple MIDI files & can target multiple virtual ports with the output - well, for an experienced hand it'd probably be a 3-4 hour job? & as csound itself lacks this capacity - it might be a handy -U type addition to the environment / package anyway! -- View this message in context: http://www.nabble.com/garritan-users---transmitting-MIDI-on-multiple-virtual-ports---ANY-solution-reqd-tf4942241.html#a14168066 Sent from the Csound - General mailing list archive at Nabble.com. |
Date | 2007-12-05 09:52 |
From | Tim Mortimer |
Subject | [Csnd] Re: garritan users / transmitting MIDI on multiple virtual ports - ANY solution reqd |
I meant to "preview" that last post before sending - made a slip on the nabble-age... Was only going to add (Steven) that the Py hosting of VST's does look pretty interesting, but transmitting all my midi data all within the python domain i think is probably a bit ambitious in terms of a solution here (particularly as it's heavy on the CC useage) Thanks anyway for mentioning though. U don't hear about these sorts of things much - & even if in 6 or 12 months time something pops up & i think about it i'll be glad we had this conversation....(not to mention the others who read this waffle...) -- View this message in context: http://www.nabble.com/garritan-users---transmitting-MIDI-on-multiple-virtual-ports---ANY-solution-reqd-tf4942241.html#a14168389 Sent from the Csound - General mailing list archive at Nabble.com. |
Date | 2007-12-05 11:28 |
From | "Chuckk Hubbard" |
Subject | [Csnd] Re: garritan users / transmitting MIDI on multiple virtual ports - ANY solution reqd |
Attachments | None |
Date | 2007-12-05 12:02 |
From | "Oeyvind Brandtsegg" |
Subject | [Csnd] Re: Re: garritan users / transmitting MIDI on multiple virtual ports - ANY solution reqd |
Attachments | None None |
Date | 2007-12-05 12:28 |
From | Tim Mortimer |
Subject | [Csnd] Re: Re: garritan users / transmitting MIDI on multiple virtual ports - ANY solution reqd |
Oeyvind Brandtsegg-2 wrote: > > I seem to recall that we discussed this some months ago (?). > Yes we did, & i pulled up some code i made back then tonight for the first time - i thought i was able to achieve the .fxb load? if so, i'll post it to you to have a look. maybe not. will double check in next few days....(I owe you a few Oeyvind...) previously, my midi onslaught hadn't been an issue, but now I want to load all 64 instruments in the garritan player! (i'd previously restricted myself to just 18, & max dealt with that all "in house" courtesy vst~ object & i was using csound~ as my midi transmitter!) The problem with running the vst inside csound however is that if i have to load all the banks on input (manually or otherwise) every time i run csound, that's a long wait! & pretty unproductive. I tend to apply small changes in csound, render, & then see how it sounds (that's a neat pun!). That's the kind of basic "modus operandi" i'm in, using python to more or less jump from "task to task", & manage the orcs & scos..... the constant reloading of samples by kontakt player on startup would not bode well for that process. do it once in the supplied vst host, & target it, just as you would from Sibelius or whatever..... I got some basic midi targetting working better from max tonight to keep me going - but i'm still keen to go as totally Csound / Python based as possible..... Keep one windows machine to run the odd commercial or "home mastering" app, & do the "real musicians" work somewhere else.... ; ). I did write to garritan once. do they take freaks like me seriously? we need an "open source orchestra" basically. in wav & pvx format....... -- View this message in context: http://www.nabble.com/garritan-users---transmitting-MIDI-on-multiple-virtual-ports---ANY-solution-reqd-tf4942241.html#a14170493 Sent from the Csound - General mailing list archive at Nabble.com. |
Date | 2007-12-05 12:38 |
From | "Oeyvind Brandtsegg" |
Subject | [Csnd] Re: Re: Re: garritan users / transmitting MIDI on multiple virtual ports - ANY solution reqd |
Attachments | None None |
Date | 2007-12-05 12:39 |
From | Tim Mortimer |
Subject | [Csnd] Re: garritan users / transmitting MIDI on multiple virtual ports - ANY solution reqd |
Your right about 4 ports maximum on PD on windows. The GlovePie option is a good idea! it's yet another "layer" though..... Congrats may be premature. But i do feel i'm playing with "real toys" now, that reperesent something genuinely aligned to my creative interests. Thank god for the PC!!! now i don't need a life! ; ) I learnt python pretty much armed with this book alone. I refer to it daily. It shows you how to do stuff. quick. sorry for the Amazon reference. I know they want to eat our babies... http://www.amazon.com/Python-Visual-QuickStart-Guide-Fehily/dp/0201748843/ref=sr_1_1?ie=UTF8&s=books&qid=1196857817&sr=1-1 Python (Visual QuickStart Guide) (Paperback) by Chris Fehily Chuckk Hubbard wrote: > > > > Pure Data can handle multiple MIDI outs. To send on channel n of port > x, you send to channel x*16 + n. > I'm not sure what its limit is though, it might be 4 on Windows. On > Linux it appears to be limitless. > I'm guessing that if you're using Garritan software you're not doing > it under Linux... > Well one roundabout possibility I can think of, for Windows, is GlovePIE: > http://carl.kenner.googlepages.com/glovepie > > > Congrats. Despite what I've heard, I'm a little overwhelmed by the > Python documentation. It must be far simpler than it seems, because > people say it's one of the easiest languages to learn. > > Noroc. > -Chuckk > > > -- > http://www.badmuthahubbard.com > > Send bugs reports to this list. > To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe > csound" > -- View this message in context: http://www.nabble.com/garritan-users---transmitting-MIDI-on-multiple-virtual-ports---ANY-solution-reqd-tf4942241.html#a14170562 Sent from the Csound - General mailing list archive at Nabble.com. |
Date | 2007-12-05 16:02 |
From | "Chuckk Hubbard" |
Subject | [Csnd] Re: Re: garritan users / transmitting MIDI on multiple virtual ports - ANY solution reqd |
Attachments | None |
Date | 2007-12-06 09:02 |
From | Tim Mortimer |
Subject | [Csnd] Re: Re: garritan users / transmitting MIDI on multiple virtual ports - ANY solution reqd |
For the sake of posterity, i'll add i've had some correspondence with Tim Thompson about KeyKit re all this. He directed me to some further multi port MIDI capable python libraries, but still nothing for Python 2.5 Otherwise, with a bit of luck & assistance from Tim T, this KeyKit might be the low footprint, audio free solution to my multi port MIDI dramas. Let's hope so http://nosuch.com/keykit/ once again though it's a case of a lot of features & hullaballoo just to play back a bunch of MIDI files at 60bpm.... I've no experience with PD from the command line, but that's now my plan B. (Chuck i'll sling you a mail if i need any pointers there...) thanks for all the input everyone. -- View this message in context: http://www.nabble.com/garritan-users---transmitting-MIDI-on-multiple-virtual-ports---ANY-solution-reqd-tf4942241.html#a14188720 Sent from the Csound - General mailing list archive at Nabble.com. |
Date | 2007-12-07 17:49 |
From | "Matt J. Ingalls" |
Subject | [Csnd] Re: garritan users / transmitting MIDI on multiple virtual ports - ANY solution reqd |
sorry for jumping in so late in this thread. when you say "garritan Player" do you mean their "Garritan Studio" application? i've had pretty good luck sending MIDI to it from other applications (on a mac) -m On Tue, 4 Dec 2007, Tim Mortimer wrote: > Been tearing my hair out last few days trying to get RELIABLE multiple midi outs aimed at the Garritan Personal Orchestra player, now that my (now rewritten with classes ÿÿ hooray!, still not public releaseable yet though..) Parseval program / python script can target all the instruments in the orchestra - including some basic "write your string parts, target the multiple individual players" type scenarios (possibility therefore of divisi strings, blah blahÿÿ) But my dreams of en-masse, amateur, partly generative, subtlely gaussified orchestrations are falling fowl due to the lack of ability I have to target the Garritan Player on itÿÿs 8 separate, ÿÿvirtualÿÿ MIDI ports (sort of like ÿÿMIDIyokeÿÿ basically) Max fails dismally on the issue. No really, it does. Anything more than one seq object at a time pointed at multiple outports results in highly disparate tempos of playback, dropped notes, basically itÿÿs a farce. Davis Pyonÿÿs csound~ object actually performs a lot better when it comes to transmitting MIDI (hats off Davis!). But u need to turn the max audio on to run it. & & my driver is busy with external Garritan playerÿÿ & csound~ is still somewhat at the mercy of Csound upgrades & compatability issues - & I think itÿÿs a bit ludicrous to run 8 x csound~ in a max patch just so I can generate MIDI events that could just as easy be generated by playing MIDIfiles! Duh! & to be honest, Max can pretty much go in the dustbin for me IF I can actually find a way to transmit to these god damn ÿÿvirtualÿÿ midi ports (as I'm using Python & Csound now to do all those things I wanted to do with Max but couldnÿÿt anywayÿÿ) SOÿÿ. Iÿÿve started looking around for alternatives to my multi MIDI target dilemmas. But there are few. Actiually, try zero. Thereÿÿs this for python, but it doesnÿÿt seem to be 2.5 compatible http://alumni.media.mit.edu/~harrison/pyportmidi.html &, of course, Csound can only transmit on one ÿÿQ channel at a time Iÿÿm so close to something really bl**dy good here (after months of work) - & yes, it (Parseval) will still make a really cool Csound score generator & command line ÿÿinterfaceÿÿ for working quickly with Csound & multiple orcs & scores. But I REALLY REALLY REALLY just want to be able to transmit on multiple MIDI ports to the garritan player (& I can create / "batch render" the individual MIDI files with Csound still after all, so no complaints there) So does anybody have any ideas how I can take this forward to fruition? Making music purely with Csound would be cool, & if it comes to it thatÿÿs what Iÿÿll pursue going forward. But Iÿÿm really keen on dumping the whole Csound ÿÿthingÿÿ onto some sort of cod ÿÿ orchestral basis / simulation - & ironically, itÿÿs the commercial apps &/ or lack of the most basic MIDIfile & transmission capabilities thatÿÿs letting me down. Anybody? (im currently on windows XPÿÿ) I can still step back & be proud of how far i've got learning Csound & Python over the last 12 months. But why settle for "really quite good", when "sonic bl**dy nirvana" is potentially just around the corner? me & my infernal cries to the system! ; ) keen to hear from anyone who has tackled the issue, either from the purely MIDI, or Garritan user side of the fence. Yet another case of being slightly off topic, but not knowing where else to turn. From my perspective, Csound & Python are almost synonymous / inseparable now anyway... -- View this message in context: http://www.nabble.com/garritan-users---transmitting-MIDI-on-multiple-virtual-ports---ANY-solution-reqd-tf4942241.html#a14147966 Sent from the Csound - General mailing list archive at Nabble.com. Send bugs reports to this list. To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound" |
Date | 2007-12-07 23:33 |
From | Tim Mortimer |
Subject | [Csnd] Re: garritan users / transmitting MIDI on multiple virtual ports - ANY solution reqd |
Hi Matt, Latecomers always welcome Yes I do mean the the "Garritan Studio" application. & yes, It seems to be functioning fine My problem is simply finding an application that reliably transmits MIDI to it's multiple ports. I guess you would have to say the MIDI is heavy traffic, as there is so much reliance on the CC1 controller in particular, as well as note on & note off Keykit is actually a language that seems to be some sort of 80% pythonesque, with the occasional nod to c++ syntax. I havent quite got it "happening" yet, but it looks like an interesting & effective little piece of work. In the meantime, i have simplified my max patch as much as i possibly can (no Midi parseing or optional channel muting, just seq to midout x 4 (at the mo) fullstop) & that seems to hang together long enough to give me playback. i use python & csound API to continually edit & "refresh" the midi content, hence the need for constant re-execution of syncronised small fragments of MIDI (whist i grope my way to some sort of "cod orchestration") i've given up on the divisi strings for the moment. Too "phasey" (particularly violas & cellos) &/ or not enough options for mutes / tremolo on the individual string players but no divisi is possibly good news in a way - there will then be more likely some room left in the spectra assumedly for some csound / synthetic / resynthesis content & or effects processing... Matt J. Ingalls wrote: > > > sorry for jumping in so late in this thread. when you say "garritan > Player" do you mean their "Garritan Studio" application? i've had pretty > good luck sending MIDI to it from other applications (on a mac) > > -m > > -- View this message in context: http://www.nabble.com/garritan-users---transmitting-MIDI-on-multiple-virtual-ports---ANY-solution-reqd-tf4942241.html#a14222921 Sent from the Csound - General mailing list archive at Nabble.com. |