Mainly I want to use the computer (pc running linux) as a musical instrument -- ie construct ways to input notes, changing volumes, timbres ect in real time, eventually have a system set up to run a sequence back with variations, different instruments, etc. while I play along with some other voice...
Soundfonts & fluidsynth work very well for producing basically ear-friendly sounds... Pd looks ideal for handling HID input, keeping track of incoming notes, doing interesting things with these.
But to connect these two things I've been using csoundapi~ and fluidsynth opcodes. As I understand this, pd is running a copy of csound in a sort of virtual box?
Anyway, it gets tricky to hit the same note, same channel in close succession, because the repetition going through the fluidengine cuts the first note off -- and in any case that first note is not available for separate processing until it comes out through the fluidOut opcode, mushed together with everything else sent to that fluidengine.
Running multiple fluidengines in csound is quite doable, but starts slowing the system down after the first two or three...
But basically, all I'm getting from the csound and the fluidengine is this Rube-Goldberg arrangement for playing from a pleasant set of sound-samples. Reading audio arrays -- something pd should do on it's own perfectly well...
Suggestions for finding samples in an sf2 file, putting it into a pd array, and thus playing it more directly?
Forrest Curo San Diego US
I saw on the fluidsynth website something about a fluid~ object for Pd, but the link is dead. Anybody out there know about this?
BTW, this was the site with the dead link: http://sourceforge.net/p/fluidsynth/wiki/Applications/
On 08/11/2014 06:25 PM, forrest curo wrote:
Mainly I want to use the computer (pc running linux) as a musical instrument -- ie construct ways to input notes, changing volumes, timbres ect in real time, eventually have a system set up to run a sequence back with variations, different instruments, etc. while I play along with some other voice...
Soundfonts & fluidsynth work very well for producing basically ear-friendly sounds... Pd looks ideal for handling HID input, keeping track of incoming notes, doing interesting things with these.
But to connect these two things I've been using csoundapi~ and fluidsynth opcodes. As I understand this, pd is running a copy of csound in a sort of virtual box?
Anyway, it gets tricky to hit the same note, same channel in close succession, because the repetition going through the fluidengine cuts the first note off -- and in any case that first note is not available for separate processing until it comes out through the fluidOut opcode, mushed together with everything else sent to that fluidengine.
Running multiple fluidengines in csound is quite doable, but starts slowing the system down after the first two or three...
But basically, all I'm getting from the csound and the fluidengine is this Rube-Goldberg arrangement for playing from a pleasant set of sound-samples. Reading audio arrays -- something pd should do on it's own perfectly well...
Suggestions for finding samples in an sf2 file, putting it into a pd array, and thus playing it more directly?
Forrest Curo San Diego US
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Yeah, I found the same link, same dead end (?) -- [Thanks, though!]
On the csound side of things there are codes like: '*sfinstr*, *sfinstrm*, *sfload*, *sfpassign*, *sfplay*, *sfplaym*, *sfplist*, *sfpreset*' which will probably do what I wanted within csoundapi~, ie play one note and send the audio to an a-rate variable where I can potentially mess with it directly before sending the audio out to pd..
But I'd like to bypass csound altogether, just pull out one appropriate sample and read it into an array, which I could then use directly
On Mon, Aug 11, 2014 at 8:49 PM, David Medine dmedine@ucsd.edu wrote:
I saw on the fluidsynth website something about a fluid~ object for Pd, but the link is dead. Anybody out there know about this?
BTW, this was the site with the dead link: http://sourceforge.net/p/fluidsynth/wiki/Applications/
On 08/11/2014 06:25 PM, forrest curo wrote:
Mainly I want to use the computer (pc running linux) as a musical
instrument -- ie construct ways to input notes, changing volumes, timbres ect in real time, eventually have a system set up to run a sequence back with variations, different instruments, etc. while I play along with some other voice...
Soundfonts & fluidsynth work very well for producing basically ear-friendly sounds... Pd looks ideal for handling HID input, keeping track of incoming notes, doing interesting things with these.
But to connect these two things I've been using csoundapi~ and fluidsynth opcodes. As I understand this, pd is running a copy of csound in a sort of virtual box?
Anyway, it gets tricky to hit the same note, same channel in close succession, because the repetition going through the fluidengine cuts the first note off -- and in any case that first note is not available for separate processing until it comes out through the fluidOut opcode, mushed together with everything else sent to that fluidengine.
Running multiple fluidengines in csound is quite doable, but starts slowing the system down after the first two or three...
But basically, all I'm getting from the csound and the fluidengine is this Rube-Goldberg arrangement for playing from a pleasant set of sound-samples. Reading audio arrays -- something pd should do on it's own perfectly well...
Suggestions for finding samples in an sf2 file, putting it into a pd array, and thus playing it more directly?
Forrest Curo San Diego US
_______________________________________________Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Hi,
the source code of fluid~ external for Pd is part of the externals repository on Sourceforge, more specifically it's here: http://sourceforge.net/p/pure-data/svn/HEAD/tree/trunk/externals/footils/flu...
It's pretty old code and hasn't been updated since 2007 or so. Building it is tricky because it requires the flext-framework to be installed and running as well. A binary might be part of the pd-lork variant of Pd, but it definitely isn't part of Pd-extended.
Unfortunatly I haven't been able to follow the latest (read past 1-2 years) of Pd development very much so I cannot be of much further help with building the external ...
It might be easier to just run the fluidsynth command line binary and talk to it over a virtual loopback midi connection which is very easy to set up with qjacktl or similar tools on Linux. Then you wouldn't need Csound or csoundapi at all.
Frank
On Mon, Aug 11, 2014 at 08:49:22PM -0700, David Medine wrote:
I saw on the fluidsynth website something about a fluid~ object for Pd, but the link is dead. Anybody out there know about this?
BTW, this was the site with the dead link: http://sourceforge.net/p/fluidsynth/wiki/Applications/
On 08/11/2014 06:25 PM, forrest curo wrote:
Mainly I want to use the computer (pc running linux) as a musical instrument -- ie construct ways to input notes, changing volumes, timbres ect in real time, eventually have a system set up to run a sequence back with variations, different instruments, etc. while I play along with some other voice...
Soundfonts & fluidsynth work very well for producing basically ear-friendly sounds... Pd looks ideal for handling HID input, keeping track of incoming notes, doing interesting things with these.
But to connect these two things I've been using csoundapi~ and fluidsynth opcodes. As I understand this, pd is running a copy of csound in a sort of virtual box?
Anyway, it gets tricky to hit the same note, same channel in close succession, because the repetition going through the fluidengine cuts the first note off -- and in any case that first note is not available for separate processing until it comes out through the fluidOut opcode, mushed together with everything else sent to that fluidengine.
Running multiple fluidengines in csound is quite doable, but starts slowing the system down after the first two or three...
But basically, all I'm getting from the csound and the fluidengine is this Rube-Goldberg arrangement for playing from a pleasant set of sound-samples. Reading audio arrays -- something pd should do on it's own perfectly well...
Suggestions for finding samples in an sf2 file, putting it into a pd array, and thus playing it more directly?
Forrest Curo San Diego US
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
"It might be easier to just run the fluidsynth command line binary and
talk to it over a virtual loopback midi connection which is very easy to set up with qjacktl or similar tools on Linux. Then you wouldn't need Csound or csoundapi at all."
Looking at that source code, found references to 'fluidsynth.h' which led me to fluidsynth.sourceforge.net/api/ [towards writing an extension directly if the old code doesn't work out(?) (Arrgh, 'flext' next!)] Midi isn't the only way to use it...
related idle(?) question:
How much overhead is there from using the [csoundapi~], anyway? & does it connect to the system only through pd [as it does, & should do for audio], or can it send/receive directly to other programs, ports etc? (ie for example: python interpretor?)
On Tue, Aug 12, 2014 at 2:16 PM, puredata@11h11.com wrote:
Hi Frank,
It's still compiling / running on my setup. Thank you for this.
à+
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/ listinfo/pd-list
On 2014-08-12 11:35, forrest curo wrote:
related idle(?) question:
How much overhead is there from using the [csoundapi~], anyway? & does it connect to the system only through pd [as it does, & should do for audio], or can it send/receive directly to other programs, ports etc? (ie for example: python interpretor?)
The [csoundapi~] is a Pd external that interacts with the csound program on your system, so depending on your .csd file it can do whatever csound can do. It is also possible to use OSC or MIDI to control csound from another program such as Pd without using [csoundapi~] -- you just need to run csound with your .csd file first so it will be ready to receive messages.
Martin
I'll admit that I'm absolutely unfamiliar with csound and with running csound inside pure data, but I have to ask, could it be easier to run it completely independently of pd? If you're on linux (and probably on OSX, not sure about Windows), you can use jack and a program like QJackCtl or Patchage to route audio and MIDI in between pd and other applications.
I'm not sure if csound is at all similar, but if I were using SuperCollider, I could define a MIDI listener in SC, send it MIDI output from pd, and pipe the audio back into pd for further processing.
Somebody could make pure data externals to communicate with the supercollider server directly, but it seems unnecessarily complicated.
If there's a way to run CSound code, where you can output sound and take MIDI or possibly OSC input in real time, it would likely be easier to use this.
-Brian
On Tue, Aug 12, 2014 at 11:35 AM, forrest curo treegestalt@gmail.com wrote:
"It might be easier to just run the fluidsynth command line binary and
talk to it over a virtual loopback midi connection which is very easy to set up with qjacktl or similar tools on Linux. Then you wouldn't need Csound or csoundapi at all."
Looking at that source code, found references to 'fluidsynth.h' which led me to fluidsynth.sourceforge.net/api/ [towards writing an extension directly if the old code doesn't work out(?) (Arrgh, 'flext' next!)] Midi isn't the only way to use it...
related idle(?) question:
How much overhead is there from using the [csoundapi~], anyway? & does it connect to the system only through pd [as it does, & should do for audio], or can it send/receive directly to other programs, ports etc? (ie for example: python interpretor?)
On Tue, Aug 12, 2014 at 2:16 PM, puredata@11h11.com wrote:
Hi Frank,
It's still compiling / running on my setup. Thank you for this.
à+
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/ listinfo/pd-list
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list