[Csnd] Csound DSSI
Date | 2010-02-27 14:29 |
From | Michael Gogins |
Subject | [Csnd] Csound DSSI |
I repeat my question whether the DSSI opcodes in Csound actually work with DSSI plugins. Any response is most appreciated. Regards, Mike -- Michael Gogins Irreducible Productions http://www.michael-gogins.com Michael dot Gogins at gmail dot com ------------------------------------------------------------------------------ Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev _______________________________________________ Csound-devel mailing list Csound-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/csound-devel |
Date | 2010-02-27 17:15 |
From | Andres Cabrera |
Subject | Re: [Cs-dev] Csound DSSI |
Hi, DSSI is a superset of LADSPA, so most of the work has been done, but it's not finished, so DSSI don't work with Csound. I didn't know enough at the time I worked on them to get them working. Cheers, Andrés On Sat, Feb 27, 2010 at 2:29 PM, Michael Gogins |
Date | 2010-02-27 17:27 |
From | Michael Gogins |
Subject | Re: [Cs-dev] Csound DSSI |
Thanks for the update. The reason for asking was my search for a way of using Aeolus from Csound. What I am going to do is write a complete suite of Jack opcodes for Csound. This will enable use of Aeolus, pianoteq, and so on from Csound as if they were plugins. Aeolus does not have a DSSI interface. The design of the proposed opcodes follows. Regards, Mike /** * T H E J A C K O P C O D E S * Michael Gogins * * The Jack opcodes can be used to connect any number * of Csound instances, instruments, or user-defined * opcodes to any number of Jack ports * in any number of external Jack servers. * * Both audio and MIDI signal types are supported. * * The major purpose of the opcodes is to simplify * the use of external Jack synthesizers within Csound, * and also to simplify the use of Csound within * Jack-enabled hosts. * * O P C O D E S * * jackinit [[Sclientname], Servername] * * Initializes the Jack opcodes; must be called once in the * orchestra header. * * jackinfo * * Prints all Jack port names, types, and states at * the beginning of performance; may be called in the * orchestra header, after jackinit. * * kmode jackfreewheel kisfree * * Turns freewheeling mode on or off; * returns the prior state of freewheeling. * * asignal jackaudioin Sportname * * Receives an audio signal from the named sending port * (Csound creates a receiving port with an internal name). * * jackaudioout Sportname, asignal * * Sends an audio signal to the named receiving port * (Csound creates a sending port with an internal name). * Audio from multiple instances of the opcode sending * to the same port is summed before sending. * * kpending jackmidiinpending Sportname * * Returns true if any MIDI events are pending in the port. * This can be used to control a loop for reading any number * of events in the same kperiod. * * kstatus, kchannel, kdata1, kdata2 jackmidiin Sportname * * Receives one MIDI channel message from the port. * * jackmidiout Sportname, kstatus, kchannel, kdata1, kdata2 * * Sends one MIDI channel message to the port. This can be called * any number of times in the same kperiod. Messages from multiple * instances of the opcode sending to the same port are collected * before sending. * * jacknoteout Sportname, ktime, kduration, kchannel, key, kvelocity * * Sends one note to the port. This can be called any number of times * in the same kperiod. The appropriate MIDI note off events are * generated and scheduled for later transmission. Notes from * multiple instances of the opcode sending to the same port are * collected before sending. * * I M P L E M E N T A T I O N * * Assumptions: * * 1. The Jack callback must run in a separate thread from Csound. * 2. Csound's ksmps must be equal to Jack's frames per period. * 3. These opcodes cannot be used in conjunction with Csound's * -+rtaudio=jack command-line option. * * Order of processing: * * 1. The opcode init functions create a client, if one has not * already been created for the running instance of Csound; * the client is associated with the instance. * 2. The opcode init functions create and activate an internal port, * if one has not already been created for that opcode; * each port is associated with its instance of Csound; * the internal port is then connected with the indicated * external port. * 3. The Jack callbacks obtain all Jack buffers, then signal * Csound to proceed, then wait. * 4. The opcode processing functions read from Jack output buffers, * process audio, and write to Jack input buffers, then signal * the Jack callbacks to proceed, then wait. * 5. The module deinitialization function deactivates and destroys * all ports, then deactives and destroys the client, then * erases all state. * * For this to work, each opcode processing function * or callback must increment a counter and actually signal * its lock only when all functions have finished their work. * * Also, signals that pass from Jack output ports, * through Csound processing, and to Jack input ports, * must be properly ordered by order of instrument and opcode declaration * within Csound. */ On Sat, Feb 27, 2010 at 12:15 PM, Andres Cabrera |
Date | 2010-02-27 18:00 |
From | fons@kokkinizita.net |
Subject | Re: [Cs-dev] Csound DSSI |
Attachments | None |
Date | 2010-02-27 18:12 |
From | Victor Lazzarini |
Subject | Re: [Cs-dev] Csound DSSI |
I would suggest that instead of writing opcodes, you write a host that is a jack client. It will do the work better than having a bunch of opcodes. Victor On 27 Feb 2010, at 18:00, fons@kokkinizita.net wrote: > On Sat, Feb 27, 2010 at 12:27:00PM -0500, Michael Gogins wrote: > >> What I am going to do is write a complete suite of Jack opcodes for >> Csound. This will enable use of Aeolus, pianoteq, and so on from >> Csound as if they were plugins. Aeolus does not have a DSSI >> interface. > > My first question is why ? > > Csound already allows reading or writing from or to > a Jack port in an instrument. The only problem I see > with the current implementation is that the number > of inputs and outputs must be equal, which would > lead to silly situations if you need e.g. 64 outs > and just a few inputs. But there are solutions for > that, and it's not a big issue anyway. > >> The design of the proposed opcodes follows. > >> * asignal jackaudioin Sportname >> * >> * Receives an audio signal from the named sending port >> * (Csound creates a receiving port with an internal name). >> * >> * jackaudioout Sportname, asignal >> * >> * Sends an audio signal to the named receiving port >> * (Csound creates a sending port with an internal name). > > If by 'named sending port' and 'named receiving port' > you mean ports of other jack clients, this is a *very* > bad idea. If you want to respect the normal way Jack > is used then port creation/destruction and port con- > nection/disconnection must be separate actions. Also > take into account that your 'internal' ports will be > visible externally if you want it or not. > > In general, Jack applications should just create their > ports and ensure they have names that mean something > to the user, in other words a name that indicates their > funtion/use within the app that owns them. An app *may* > connect its ports to other apps, but in general should > not care where they are connected. This means you must > allow the creation of ports that are not connected at > all, and let the user take care of the connections. > >> * Audio from multiple instances of the opcode sending >> * to the same port is summed before sending. > > If you mean the external destination this is not > necessary, Jack does this anyway. You should just > allow internal summing on your own output ports. > > Ciao, > > -- > FA > > O tu, che porte, correndo si ? > E guerra e morte ! > > ------------------------------------------------------------------------------ > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > _______________________________________________ > Csound-devel mailing list > Csound-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/csound-devel ------------------------------------------------------------------------------ Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev _______________________________________________ Csound-devel mailing list Csound-devel@lists.sourceforge.net |
Date | 2010-02-27 18:12 |
From | Rene Djack |
Subject | [Csnd] Re: Csound DSSI |
Attachments | dssi4cs.csd |
Hi, Yes, it is working on UbuntuStudio 32b with csound5.12 cvs from Feb26. I just tested the included dssi4cs.csd included in the csound manual. On my system i have the env variable DSSI_PATH="/usr/lib/dssi" Best René 2010/2/27 Michael Gogins <michael.gogins@gmail.com> I repeat my question whether the DSSI opcodes in Csound actually work |
Date | 2010-02-27 18:15 |
From | jpff@cs.bath.ac.uk |
Subject | Re: [Cs-dev] Csound DSSI |
> The only problem I see > with the current implementation is that the number > of inputs and outputs must be equal, which would > lead to silly situations if you need e.g. 64 outs > and just a few inputs. But there are solutions for > that, and it's not a big issue anyway. > > The code to have different in and out channel numbers is written and waiting for 5.12 o settle before acyivating it ==John ff ------------------------------------------------------------------------------ Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev _______________________________________________ Csound-devel mailing list Csound-devel@lists.sourceforge.net |
Date | 2010-02-27 18:18 |
From | Peiman Khosravi |
Subject | Re: [Cs-dev] Csound DSSI |
Can't this be done with pd as well? Best, P On 27 Feb 2010, at 18:12, Victor Lazzarini wrote: > I would suggest that instead of writing opcodes, you write a host that > is a jack client. It will do the work better than having a bunch of > opcodes. > > Victor > > On 27 Feb 2010, at 18:00, fons@kokkinizita.net wrote: > >> On Sat, Feb 27, 2010 at 12:27:00PM -0500, Michael Gogins wrote: >> >>> What I am going to do is write a complete suite of Jack opcodes for >>> Csound. This will enable use of Aeolus, pianoteq, and so on from >>> Csound as if they were plugins. Aeolus does not have a DSSI >>> interface. >> >> My first question is why ? >> >> Csound already allows reading or writing from or to >> a Jack port in an instrument. The only problem I see >> with the current implementation is that the number >> of inputs and outputs must be equal, which would >> lead to silly situations if you need e.g. 64 outs >> and just a few inputs. But there are solutions for >> that, and it's not a big issue anyway. >> >>> The design of the proposed opcodes follows. >> >>> * asignal jackaudioin Sportname >>> * >>> * Receives an audio signal from the named sending port >>> * (Csound creates a receiving port with an internal name). >>> * >>> * jackaudioout Sportname, asignal >>> * >>> * Sends an audio signal to the named receiving port >>> * (Csound creates a sending port with an internal name). >> >> If by 'named sending port' and 'named receiving port' >> you mean ports of other jack clients, this is a *very* >> bad idea. If you want to respect the normal way Jack >> is used then port creation/destruction and port con- >> nection/disconnection must be separate actions. Also >> take into account that your 'internal' ports will be >> visible externally if you want it or not. >> >> In general, Jack applications should just create their >> ports and ensure they have names that mean something >> to the user, in other words a name that indicates their >> funtion/use within the app that owns them. An app *may* >> connect its ports to other apps, but in general should >> not care where they are connected. This means you must >> allow the creation of ports that are not connected at >> all, and let the user take care of the connections. >> >>> * Audio from multiple instances of the opcode sending >>> * to the same port is summed before sending. >> >> If you mean the external destination this is not >> necessary, Jack does this anyway. You should just >> allow internal summing on your own output ports. >> >> Ciao, >> >> -- >> FA >> >> O tu, che porte, correndo si ? >> E guerra e morte ! >> >> ------------------------------------------------------------------------------ >> Download Intel® Parallel Studio Eval >> Try the new software tools for yourself. Speed compiling, find bugs >> proactively, and fine-tune applications for parallel performance. >> See why Intel Parallel Studio got high marks during beta. >> http://p.sf.net/sfu/intel-sw-dev >> _______________________________________________ >> Csound-devel mailing list >> Csound-devel@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/csound-devel > > > ------------------------------------------------------------------------------ > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > _______________________________________________ > Csound-devel mailing list > Csound-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/csound-devel ------------------------------------------------------------------------------ Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev _______________________________________________ Csound-devel mailing list Csound-devel@lists.sourceforge.net |
Date | 2010-02-27 18:29 |
From | Rene Djack |
Subject | [Csnd] Re: Csound DSSI |
ladspa plugins are also working =) 2010/2/27 Rene Djack <rene.djack@gmail.com> Hi, |
Date | 2010-02-27 18:46 |
From | Michael Gogins |
Subject | Re: [Cs-dev] Csound DSSI |
Attachments | None None |
I appreciate all the comments but it is evident that nobody has understood my proposed use cases or that the opcodes would be more flexible and in practice easier to use than current csound. MKG from cell phone On Feb 27, 2010 1:18 PM, "Peiman Khosravi" <peimankhosravi@gmail.com> wrote: |
Date | 2010-02-27 19:09 |
From | fons@kokkinizita.net |
Subject | Re: [Cs-dev] Csound DSSI |
Attachments | None |
Date | 2010-02-27 19:41 |
From | Michael Gogins |
Subject | Re: [Cs-dev] Csound DSSI |
Attachments | None None |
Starting jackd from csound would be optional, ditto for other clients. That the session manager has been discussed as long as it has implies problems that, within the context of csound, my proposal should solve. MKG from cell phone On Feb 27, 2010 2:14 PM, <fons@kokkinizita.net> wrote: |
Date | 2010-02-27 21:42 |
From | fons@kokkinizita.net |
Subject | Re: [Cs-dev] Csound DSSI |
Attachments | None |
Date | 2010-02-27 22:34 |
From | Michael Gogins |
Subject | Re: [Cs-dev] Csound DSSI |
How does it become non-portable? I don't see that it does that at all. Regards, Mike On Sat, Feb 27, 2010 at 4:42 PM, |
Date | 2010-02-27 22:55 |
From | fons@kokkinizita.net |
Subject | Re: [Cs-dev] Csound DSSI |
Attachments | None |
Date | 2010-02-28 02:04 |
From | Michael Gogins |
Subject | Re: [Cs-dev] Csound DSSI |
OK, I think I see what you mean. You advise that Csound should not do audio output or input in a platform-specific way or driver-specific way in orchestra code, those options should be controlled from the command line. However, as far as I can see, Jack runs on Linux, Windows, and OS X. So, Jack opcodes could certainly be portable in that sense. I see the Jack opcodes as being in the same category as the existing VST, LADSPA, or DSSI opcodes. Regards, Mike On Sat, Feb 27, 2010 at 5:55 PM, |
Date | 2010-02-28 09:08 |
From | Andres Cabrera |
Subject | [Csnd] Re: Re: Csound DSSI |
Hi, Thanks for trying. It's probably the GUI part of DSSI plugins that I never finished. Cheers, Andrés On Sat, Feb 27, 2010 at 6:12 PM, Rene Djack |
Date | 2010-02-28 09:10 |
From | Andres Cabrera |
Subject | Re: [Cs-dev] Csound DSSI |
Hi, I also think many of the options could be done not as opcodes, but as shell commands wrapped in UDOs. Cheers, Andrés On Sat, Feb 27, 2010 at 6:46 PM, Michael Gogins |
Date | 2010-02-28 09:28 |
From | Chuckk Hubbard |
Subject | Re: [Cs-dev] Csound DSSI |
Wow, Jack is now available for Windows! I never knew, although it appears to be true, or at least in the works, from a quick search. qjackctl is a JACK GUI program that I know works on Linux, but has probably not been ported to Win/OSX (not sure, maybe it has) and it has an option to store a group of desired connections, and then implement them as soon as any of the ports in question come into existence. It's kind of annoying that this functionality only exists as part of a GUI, but I've gotten great use out of it when, for instance, I wanted several programs to all connect automatically, but at least two of them, like Csound, were not "on all the time" so to speak. I don't know if this would come close to the use that you're after, it's just something I happen to recall. Regarding DSSI, I asked about using Csound as a DSSI plugin- not as a host- when I first found out about CsLADSPA, and it seemed the consensus was that LV2 was going to sweep the computer audio world soon and make both LADSPA and DSSI obsolete. Seems it didn't live up to the promise. Anyone have thoughts on that? -Chuckk On Sun, Feb 28, 2010 at 4:04 AM, Michael Gogins |
Date | 2010-02-28 10:52 |
From | fons@kokkinizita.net |
Subject | Re: [Cs-dev] Csound DSSI |
Attachments | None |
Date | 2010-06-17 13:02 |
From | menno |
Subject | [Csnd] Re: Csound DSSI |
Hi, would you, Djack, or another volunteer, try out this example please? I just want to hear plate reverb on the sample "beats.wav" but was unsuccesful. I assume i have the ranges for dssictls allright. |
Date | 2010-06-17 17:03 |
From | Rene Djack |
Subject | [Csnd] Re: Re: Csound DSSI |
Hi, Not working ! The output is the same as the input, it looks like the reverb parameters are not changed. dssictls have no action. i have tested some other plugins without success. amp.so is ok, dssictls is working with this plugin. I am confuse, sure it was working, not sure now... Best René 2010/6/17 menno <nabob_cd@yahoo.com>
|
Date | 2010-06-18 12:03 |
From | menno |
Subject | [Csnd] Re: Re: Csound DSSI |
Thanks Djack for trying! i have tried several ladspa plugins. all with the goal of using them as effects to a sound source. With only one of them i had some result. This is the one: |
Date | 2010-06-18 13:18 |
From | Andres Cabrera |
Subject | [Csnd] Re: Re: Re: Csound DSSI |
Hi, I haven't used or tried these in a while, so I don't remember their state and whether there are any issues... On Fri, Jun 18, 2010 at 12:03 PM, menno |
Date | 2010-06-20 10:30 |
From | menno |
Subject | [Csnd] Csound DSSI |
Hi Andrés , i tried another example that works more or less, but not good enough. It seems changing the values of dssictls have no effect, something is definitely wrong. If you agree if would like to make a bug report of it in Csound with this example below. This way the issue will not be forgotten - i assume you are very busy with developing QuteCsound? Let me know please greetings Menno |
Date | 2010-08-07 19:35 |
From | menno |
Subject | [Csnd] Csound DSSI |
Hi all i didn't notice until now but DSSI is working again! Thank you for your work Andres. |
Date | 2010-08-08 12:52 |
From | Andres Cabrera |
Subject | [Csnd] Re: Csound DSSI |
Hi Menno, Good to know. I made some fixes, but they seemed to me not to have fixed the issue, but they indeed have... I guess I might have not been testing correctly, because your file now does work. Cheers, Andrés On Sat, Aug 7, 2010 at 7:35 PM, menno |
Date | 2010-08-08 13:06 |
From | menno |
Subject | [Csnd] Re: Csound DSSI |
i hope to upload examples of the DSSI opcodes for the manual today, now that they seem to be working. Thank you that you accidentally managed to get DSSI in Csound working again! Menno |