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.

Reply via email to