Problem with Csound~ external, plus a few questions....

UnUnUnium's icon

Hello to all -

Firstly, just wanted to say thank you to Davis Pyon for this wonderful external - really great to be able to integrate csound~ into my max work!

It seems to work just fine - I have been playing with the Partikkel example, and it's run just fine for hours of play. The only problem is, when I open the csound~ help patch, max crashes! I'm running Max 5 and 4.6 and it seems to crash on both. I have made sure the .csds are in the help folder, which is in c74/msp-help.... Any ideas?

As far as questions go, I just wanted to know a few things about how the external (and I suppose csound) behave, so as to decide which approaches to take.

I know about "readbuf", but is there anyway to make the external read from a constantly updating MSP buffer, so I can record live audio into an MSP buffer and have a csound instrument play it back?

Is it possible to use an MSP phasor to drive the playback of a csound table?

And finally, is it possible to write MSP audio into a Csound table, so that opcodes like partikkel can use external input?

All the best, Jeremy

Davis Pyon's icon

It's nice to hear you're enjoying it.

Regarding the crash, could you provide this info:

csound~ version
Csound version
OS (if Mac OS X, intel or ppc)

Without knowing the particulars, I would suggest these versions:

Windows - Csound 5.09.2 + csound~ 1.0.4
OS X - Csound 5.09 + csound~ 1.0.4

Don't use Csound 5.10 yet because it's not compatible; the devs made some changes to the API and I have yet to release an updated version of csound~. Let me know if you have trouble finding the 5.09 download links on Sourceforge.net (they're kinda buried, but they are there).

At the moment, there is no way for Csound opcodes to access MSP buffers. Although, you could just record live audio into a Csound table. For example, you could create an instrument that, when started, begins writing audio input to a table (or two if you're doing stereo). When the instrument exits, writing stops.
You could even record indefinitely using the wrapping mode that many opcodes employ.

It is possible to drive a Csound table with an MSP phasor. All you have to do if feed [csound~] with MSP phasor output, then index a Csound table with it (using an opcode like table).

If you wanted to use partikkel (or any other grain opcode) on live audio input, you could bypass MSP buffers and record directly into a Csound table using table writing opcodes like tablew.

Of course, all of my suggestions require basic Csound knowledge. If that's what you need, then try some tutorials:

Regards,

Davis

UnUnUnium's icon

Thank you Davis,

So my OS is X 10.5.6, and I have been Running CSound~ 1.0 and my Csound version is 5.09.

I will upgrade csound~ to 1.04, and let you know how I get on.

Those tips are very helpful, that's exactly what I needed to know; just some general approaches and opcodes to study. Very good to know about tablew, that will let me do everything I am hoping with Csound granulation, it looks like. I am very, very slowly going through the tutorials, but with pleasing results so far!

All the Best, Jeremy

UnUnUnium's icon

Problem solved. Looks like upgrading csound~ to 1.04 fixed the crashing.

The help file opens just fine, and csound.csd compiles and works perfectly.

Thanks again for your help!

Jeremy