Hello folks! What would be your advice for entry? I can't find any comprehensive docs and a bit afraid to write much code that was already created. Are there any articles or smthng?
This stuff is still fairly fresh, I coded the initial version last spring, and then made a bunch of improvements while preparing for my conj talk, mostly to make it actually usable for live performance stuff. Here's the demo I did at the conj https://github.com/plexus/mad-sounds/blob/master/src/mad_sounds/sessions/conj_demo_2024_10_20.clj With some cleanup that can probably go into the examples in the overtone repo. I wrote a bunch of docs in spring for these things (look for events.md and patterns.md I think). They could use a refresh with the latest work but they're fairly complete.
This was always one of the biggest pain points for me in overtone. The time-recursive functions are a really neat idea, but it's just too bulky and inexpressive. I must have coded some version of a sequencer a dozen times over the years. This latest iteration is inspired by supercollider's pattern library, while trying to keep it very clojure-y (just sequences and maps), and I'm quite happy with it.
is the pattern library implemented in clojure? or dependant of supercollider pattern library? i ask because i have a little recursive time based sequencer, and it would be cool to port it to patterns
it's all just clojure, it's only "inspired by", it doesn't actually depend on anything from SC
I recommend loading up the https://github.com/overtone/overtone/tree/master/src/overtone/examples - theyβll give a good sense of all the different directions that are possible as well as examples of idiom.
Yeah I really need to add some examples of the pattern stuff. It's so much nicer than using metronome directly
Yesss that what I was asking about. Because I almost started to code something my ownβ¦
imho the readme is pretty good: https://github.com/overtone/overtone
Maybe wiki is a bit informative, but if you look how much functions are presented in CheatSheet...
well, the initial step is hardest, getting sound output
you should start there imho
No, I am ok with initial step. That's what I am talking about. Sound generation is clear, but what is idiomatic way to work with tempo, effects etc? For example I wrote a function for delay effect, but I am afraid I reinvent the wheel
ill let others chime in here, because im more of a "reinventing all the wheels" guy when using overtone π
i think theres new nice stuff for patterns, havent tried it yet
Okaaaay)
Thank you, I will try to check)
also i think its fun to use the standard synths, as defined in the cheatsheet, and then add effects, to them
Yesss, but need to read more about effects, but where? )
in fx.clj
Yess, that it the way
heres a snippet
(inst-fx! bass fx-echo) (inst-fx! bass fx-chorus) (inst-fx! bass fx-g-verb) (inst-fx! sampled-piano fx-echo) (inst-fx! sampled-piano fx-chorus) (inst-fx! sampled-piano fx-g-verb) (clear-fx sampled-piano)
and you can make your own compatible effects
heres 2 trivial effects
(defsynth fx-g-verb "can i copy paste program my own reverb?" [bus 0 wet-dry 0.5 room-size 0.5 dampening 0.5] (let [source (in bus) verbed (g-verb source 200 8)] (replace-out bus (* 1.4 verbed)))) (defsynth fx-echo2 [bus 0 max-delay 1.0 delay-time 0.4 decay-time 2.0 echo-level 1.0] (let [source (in bus) echo (comb-n source max-delay delay-time decay-time)] (replace-out bus (pan2 (+ (* echo-level echo) source) 0))))
> and you can make your own compatible effects Sure, I just wants to find out what is already out of the box.
i think the fx:s are in the cheat-sheet
if you do some nice stuff that is compatible with the standard overtone library, i would enjoy to try out your future merge requests π
Yesss, of course)
Don't let the cheat sheet intimidate you. Think of it like clojure.core. there's a lot in there but you don't need it all and don't need to learn it all at once.
Welcome to overtone :) just ask away if you're trying to do a particular thing. There's a lot in there and not all of it particularly well documented unfortunately.
No, not something particular. Or too much particular things π€£