<br><br><div class="gmail_quote">On Thu, Feb 10, 2011 at 5:56 PM, Alessandro Preziosi <span dir="ltr">&lt;<a href="mailto:lsnpreziosi@gmail.com">lsnpreziosi@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
i need to do something relatively simple, but i cant figure out how to do it, or what software i need...<div>basically i have to play a certain song where i need to switch between different sounds (say, a piano at the beginning using qsyinth and then a synth created with zynaddsubfx). I want to be able to switch between one setup to the other quickly, possibly using the program change from my keyboard. How do i do that???</div>

<div><br></div><div>On my keyboard i can create different programs, each using different sounds (patches) and switch between them with the click of a button. I want to use that, but I want to generate the sounds with my computer. </div>

<div>I think I need a way to &#39;map&#39; midi channels to different programs or midi patches to specific programs (like, when i select piano on the keyboard (patch0, bank0) it uses qsynth, and when i select a synth it uses zynaddusbfx).</div>

<div>Any ideas?</div><div><br></div><div>Thank you very much,</div><div><br></div><font color="#888888"><div>Alessandro Preziosi<br><div><br><br></div></div></font></blockquote><div><br><br>It probably is an overkill for your problem, but I did this small supercollider program; basically it makes an Alsa midi client to which you send program changes and it changes through jack connections created by jack_snapshot. So to use it you would create a jack_snapshot for each synth/set of connections, save them and put the in &quot;files&quot; variable <br>
</div></div><br>Hope it works since I haven&#39;t time to test it now and it&#39;s been a while since I&#39;ve used it... also I remember for some strange reason if I gave it many program changes rapidly one after the other it would clog the cpu<br>
<br>ah yes, once you have supercollider installed you could simply run it from command line with &quot;sclang <a href="http://jack-switcher.sc">jack-switcher.sc</a>&quot;<br><br>HTH,<br>renato<br><br><br><a href="http://jack-switcher.sc">jack-switcher.sc</a>:<br>
(<br>//var midichan, files = &quot;jsfiles&quot;.getenv.split($ );<br>var midichan, files;<br>files = [&quot;/home/renato/Audio/1.snp&quot;,&quot;/home/renato/Audio/2.snp&quot;]; //these have to be files obtained through &quot;jack_snapshot save 1.snp&quot;<br>
<br>//Starts MIDI client<br>MIDIClient.init;<br>MIDIIn.program = {arg src, chan, prog; <br>                <br>                [src,chan,prog].postln;<br>                <br>                (&quot;jack_snapshot restore &quot;++files[prog.min(files.size)]).unixCmd; <br>
                };<br><br>)<br><br>