csound / plugins

Repository for Csound plugins which were originally in the main repository, and for new plugins as well.
GNU Lesser General Public License v2.1
11 stars 11 forks source link

Binaries? #18

Closed bramtayl closed 10 months ago

bramtayl commented 1 year ago

What's the chances we could get binaries for this? I see the pull request to update it for windows, but once that's done, if you're already shipping binaries for csound, you must have at least some infrastructure in place for that already?

rorywalsh commented 1 year ago

There is currently no one maintaining these plugins. It's a shame, but the authors of the plugins show little interest in maintaining them. That's the reason they are no longer shipped with Csound. Have you considered building them yourself? It shouldn't be that tricky. Is there an opcode in particular that you are interested in?

bramtayl commented 1 year ago

I'm making a little app for composing in just intonation: https://github.com/bramtayl/Justly. I'm currently using CSound as the backend. I'd like it to come with a nice set of default instruments, and as a start, I'm using the STK opcodes. Might reconsider; STK seems very lacking esp. in the percussion department. I'm not sure if there are better alternatives (cabbage? pianoteq? LADSPA? VST?)

rorywalsh commented 1 year ago

I've never used the STK opcodes, and I've never tried building them either, so I can't really comment on them. But you could always use samples. This would be trivial, at least on a basic level. Have you started integrating Csound yet? The repo seems to be mostly the frontend stuff.

With regards to the alternatives, yes you could wrap this into plugin such as VST, but using QT for that might be a little clunky. Then again I'm sure there are plenty of example plugins that use QT. The advantage of wrapping this in a plugin is you can output MIDI. Therefore users could hook this up to their favourite synths and you don't have to worry about implementing any DSP. Cabbage offers this kind of functionality out of the box, but you'd have to reimplement your UI using Cabbage. Considering the amount of work you've put into the QT frontend, I imagine you'd rather stick with it.

bramtayl commented 1 year ago

I integrated CSound fairly recently. This is a hobby project of mine so has gone through several iterations. A previous one used the Gamma C++ library https://github.com/LancePutnam/Gamma, but that was fairly new and buggy, and I wanted something pretty stable and well-tested. Before that I was writing directly to the soundcard with PortAudio, but I'm no expert in music synthesis and the generated beeps didn't sound nice at all. So, I'm open to suggestions?

rorywalsh commented 1 year ago

I think the use of samples means you don't have to get knee deep into synthesis. You can always replace them for synthesised sounds later if you wish.

bramtayl commented 1 year ago

That seems maybe like a lot of work? I'd need to download all the samples, ship them with the software, create custom envelopes to adjust the duration, use FFT to change the pitch, etc, right? Maybe that would make sense as its own standalone csound plugin? Do you have a suggestion of a good place to download samples btw?

Edit: soundfont should take care of most of that for me, yes?

bramtayl commented 1 year ago

Wonder if I piggyback off of MuseScore somehow?

rorywalsh commented 1 year ago

Soundfonts might work. Some of the Csound soundfont opcodes give you control over the playback rate, which means you could adapt to whatever tuning you like. MuseScore does have its own plugin API that you could look into.

bramtayl commented 1 year ago

Ooh figured it out. Stole the soundfont library from musescore https://ftp.osuosl.org/pub/musescore/soundfont/MuseScore_General/ works great! Thanks for the suggestion!!