I'd add a few other notes: * Overtone uses Supercollider 3 (SC3) for its audio processing. Pink relates more to SC3 than to Overtone, as Pink is an audio engine library, but there's some overlap. * You wouldn't likely use Overtone and Pink together. Score however is a generic library and could be used with Overtone. * Pink uses 64-bit (doubles) for its audio processing, Overtone--because it uses SC3--uses 32-bit (floats) for its signal processing chain * Overtone and SC3 are much more mature systems with a pretty deep set of signal processing and control signal generators. Pink has a lot less functions at this time. * Pink uses Clojure code for its signal processing, so one can write unit generators in Clojure code, as well as study the existing unit generator code as Clojure. You'd have to switch to C++ to read the unit generator code in SC3 (though, I'd say the codebase for SC3 is quite clean and easy to read, IMO) * Pink has a slightly more functional approach to audio and events. Overtone inherits SC3's approach, which ends up using busses for transferring audio between Synths. This then ends up requiring a little more management of ordering of nodes and processing order. * For events, because Pink's "synths" are just plain Clojure functions, it means you can write events where the arguments to the synths can be other audio functions. This means you could do things like reuse a synth-patch and give a fixed value for a frequency cutoff of a filter, but you could also pass in an LFO summed with an Envelope and a frequency value as the value for cutoff to get a dubsteb wobble, for just that note instance. (You could do something close in SC3 by using synth params but you'd have to schedule a separate synth to modify values I think.) * Pink's event system is processed synchronously with the audio engine. Pink also allows adding control functions to run synchronously with the engine. This allows one to do things like temporal recursion with events and have it done without jitter. As far as I understand, Overtone uses at-at, which uses a separate clock source from the SC3 engine. That would mean there'd be possible jitter between the event thread and the audio engine thread when firing events. * Overtone and SC3 will likely run faster as the audio processing is done natively. Pink is optimized pretty well for Clojure/Java, but I don't think it will ever get as fast as SC3. If you're expecting to do a large amount of processing in realtime, Overtone may be the better choice. * Pink, however, may be a bit easier to use for non-realtime processing. Since you can do anything synchronously with the engine, you can run control functions and do temporal recursion even if you're running faster than non-realtime, and you'd get the same exact results as in realtime.
Just to note, I'm probably more familiar with SC3 than I am with Overtone, so if I've misunderstood anything, I'm happy to be corrected. Also, I'd say that Overtone will probably cover more musical use cases at this time, due to the depth of unit generators, but Pink's design covers some use cases that Overtone can not, and allows expressing musical ideas in a unique way. On Tue, Jul 28, 2015 at 2:13 PM, Justin Smith <noisesm...@gmail.com> wrote: > Overtone has its own composition logic, but for synthesis it is a client for > the open source Supercollider audio synthesis server (which is a cross > platform C++ program that can be controlled via the network). Pink and Score > are built in Clojure and Java without using an external server. > > > On Tuesday, July 28, 2015 at 9:54:14 AM UTC-7, W. David Jarvis wrote: >> >> This might be a naive question, but for someone who's only tangentially >> familiar with the space, where does this fit in to the overall Clojure >> music/sound ecosystem (re: overtone et al)? >> >> On Saturday, July 25, 2015 at 1:03:44 PM UTC-4, Steven Yi wrote: >>> >>> Thanks Ruslan and best of luck in your musical work! >>> >>> On Sat, Jul 25, 2015 at 12:24 AM, Ruslan Prokopchuk <fer....@gmail.com> >>> wrote: >>> > Steven, thank you for continuing to develop Pink & Score! I have some >>> > music >>> > projects as my slowly-moving-forward-hobbies, and having pure java, no >>> > deps >>> > like Supercollider, engine for one of them is very precious! >>> > >>> > пятница, 24 июля 2015 г., 23:47:30 UTC+3 пользователь Steven Yi >>> > написал: >>> >> >>> >> Hi All, >>> >> >>> >> I'd like to announce the release of Pink 0.2.0 and Score 0.3.0: >>> >> >>> >> [kunstmusik/pink "0.2.0"] >>> >> [kunstmusik/score "0.3.0"] >>> >> >>> >> Pink is an audio engine library, and Score is a library for >>> >> higher-level music representations (e.g. notes, phrases, parts, >>> >> scores). >>> >> >>> >> ChangeLogs are available at: >>> >> >>> >> https://github.com/kunstmusik/pink/blob/master/CHANGELOG.md >>> >> https://github.com/kunstmusik/score/blob/master/CHANGELOG.md >>> >> >>> >> The quick version is Pink now has some new effects (ringmod, freeverb, >>> >> chorus) as well as some new filters and delay-based audio functions. >>> >> Score has a new sieves namespace for Xenakis-style sieves. (An example >>> >> of sieves and freeverb is available in the music-examples project >>> >> [1]). >>> >> >>> >> For any questions, please feel free to email me or post on the >>> >> pink-users list. For issues and PR's, please use the facilities on >>> >> Github for each of the projects. >>> >> >>> >> Thanks! >>> >> steven >>> >> >>> >> >>> >> [1] - >>> >> >>> >> https://github.com/kunstmusik/music-examples/blob/master/src/music_examples/sieves.clj -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.