Fork me on GitHub
#overtone
<
2023-10-21
>
pfeodrippe01:10:03

@plexus Oh yeah, I can help as well o/ I have commit rights since last year (added some clj-kondo hooks), let’s move on with this release (probably using GH actions?)! Maybe also update SC after we see things are working correctly, I remember that I have tried to use SC’s new version, but didn’t get a proper answer about it

👍 1
plexus01:10:04

Do you also have clojars access?

pfeodrippe01:10:09

Not that I am aware of, I would try to contact Sam, but I see that Iain (soulflyer) is already trying it \o/

pfeodrippe02:10:28

I see that it was Sam who gave me commit access, https://github.com/overtone/overtone/pull/489#issuecomment-1250854161, so he seems to be the right person 🙏

pfeodrippe02:10:35

If no communication channel works, we can open an issue in the sonic-pi repo lol

plexus01:10:44

I personally don't care for gh actions, I think it's fine to trigger a release manually as long as the process itself is automated. I can have a look at the state of the project setup and tooling.

plexus16:10:55

looks like the repo is using lein with the lein-tool-deps plugin. There's no further automation setup, so I'm assuming it's a standard lein deploy to put out a new version. I don't think we have to change that per se, I would like to see git tagging and version bumping better automated. I also like to automate the handling of CHANGELOG (add new header with the version/date/sha).

plexus16:10:32

But I guess first step would be to get clojars access and put out a SNAPSHOT to test the release process, and to give people a chance to test what's on master.

plexus16:10:53

(I also wouldn't mind renaming master to main)

👍 1
Ben Kamphaus16:10:54

I’ve played with overtone some and am potentially interested in contributing to the resurrection effort, but not yet in a place where I’d be able to commit to anything concretely. Just keeping an eye out here, awesome to see you considering taking this on @plexus!

plexus16:10:14

to be clear I am mostly aiming to be a conduit, get the right people talking to each other, etc. I have no plans to become "the overtone maintainer".

diego.videco16:10:50

I agree that overtone doesn’t have a convenient sequencer, I haven’t used it much but I’ve always felt it rather limiting. Using overtone.at-at I’ve been developing tools for building sequencers. The repo is pretty dirty, as it is intended for personal use, but if there was interest to clean it up and make something more generally usable, I think it could become something quite flexible and usable for any number of use cases. I also have a decent (imho) POC of a port of tidal cycles, which uses that repository. https://github.com/diegovdc/time-tiem https://github.com/diegovdc/piratidal

plexus16:10:22

Yeah much of my past overtone experiments have involved trying to build an akai mpc style sequencer, and then I get bogged down in that and forget to actually make music. I've been meaning to make time to play with Orca for ages, so happy to use it now and actually get some sound out of it

plexus17:10:43

I did build a really cool drum sequencer a few years back, which I hope to make more generally consumable in the near future. I've never actually released or announced it.

👍 1
diego.videco17:10:12

There’s been some good learnings on the live coding community with regards to API design in the past few years. Not sure if overtone should handle that anymore, of it should be a more of a basis to build higher level apis

diego.videco16:10:50

I agree that overtone doesn’t have a convenient sequencer, I haven’t used it much but I’ve always felt it rather limiting. Using overtone.at-at I’ve been developing tools for building sequencers. The repo is pretty dirty, as it is intended for personal use, but if there was interest to clean it up and make something more generally usable, I think it could become something quite flexible and usable for any number of use cases. I also have a decent (imho) POC of a port of tidal cycles, which uses that repository. https://github.com/diegovdc/time-tiem https://github.com/diegovdc/piratidal

plexus17:10:39

does anyone have favorite generic controller UIs that send out MIDI cc messages that they like? just looking for a panel with some sliders for volume etc. Maybe some rotaries.

diego.videco17:10:21

Have you tried TouchOSC? Seems like what you are looking for. On another note quil is a great candidate for that. Recently I’ve started using it for visualizing JI lattices and for getting insights into compositions and it’s very nice to not need OSC or MIDI communication.

plexus17:10:49

yeah I'm using quil for my drum sequencer

plexus17:10:53

touchosc looks great, shame it's not open source though

plexus19:10:36

Using Open Stage Control, a bit more complex than necessary but pretty sweet

diego.videco17:10:33

Another issue I have with overtone is that it’s not possible to pass more than 10 (I think) params to a defsynth call, which is made worse when trying using the kv syntax. Would be cool to fix that officially. I have modified a bit of overtone to fix it for myself but I am unsure if other people would find it useful the way it is now.

plexus19:10:59

does anyone have any advice or best practices around cleaning up synths/ugens? I regularly run into popping/crackling and server crasher which I suspect is because I'm creating too many ugens.

plexus19:10:42

In particular if I create a definst with an env-gen with :gate gate :action FREE, and a (ctl ... :gate 0), does that free it?

diego.videco20:10:10

yeah, it should

diego.videco20:10:30

I’d suggest connecting to an external SC server

plexus20:10:50

does that help with stability?

diego.videco20:10:51

the server UI is pretty good at telling you if your ugens are being freed

diego.videco20:10:04

also you may need to configure the memory allocation

diego.videco20:10:22

For example I have this in one of my init files:

(
// Server.default.options.inDevice_("Scarlett 18i20 USB");
// Server.default.options.outDevice_("Scarlett 18i20 USB");
o = Server.default.options;
o.memSize= 512000*20;
o.maxNodes=128*1024;
s.options.maxLogins = 8;
o.numInputBusChannels = 32;
o.numOutputBusChannels = 58;
s.latency = 0.01;
s.waitForBoot({
	().play;
	s.makeGui; // `l` to show meter 
    // TODO figure out a way to mix in all outs for the spectrogram... or something
//    {(0)}.spectrogram;
});
)

diego.videco20:10:31

I often just run it from the command line

diego.videco20:10:16

If you do that then you’ll see something like this:

diego.videco20:10:44

Now if you run and free a synth, then you would see the ugens and synths values come up and down

diego.videco20:10:39

in the IDE you’ll see this which is a little less readable

diego.videco20:10:26

But I don’t know much about definst, I use defsynth

diego.videco20:10:20

oh IIRC definst micromanages some stuff for you and defsynth is more barebones, so perhaps the gate is not necessary in your case and maybe it’s interfering

plexus20:10:36

ok, gonna need to revisit this. running supercollider separately is adding a lot of stuff to manage.

plexus20:10:44

> For example I have this in one of my init files: Where do you put this? > the server UI is this different from the IDE? what's the command name to start this? > I often just run it from the command line what invocation do you use?

diego.videco20:10:39

If you have sclang installed (it comes with an normal installation of SC), the you can put it anywhere, I do this to initialize on bash: sclang ~/Music/code/tieminos/src/tieminos/habitat/sc-init.sc The server UI is created by s.makeGui .

diego.videco20:10:13

But tbh, I think your issue is with the use of definst you may want to try making a defsynth and see if the issue persists

diego.videco20:10:31

syntax is a little different but not much

diego.videco20:10:34

I know installing SC in linux can be a pain (depending on your distribution), so do try defsynth first. I think definst is geared more towards use with overtone as a performance environment, so tied with the sequencer, mixer, etc. May be nice to use those, but tbh I have not delved into that. And if you are using Orca, maybe that’s part of the issue, but defsynth should work as it is simpler.

diego.videco20:10:09

Here’s one that works well for me:

(o/defsynth soft-saw2
  [freq 200
   amp 0.5
   pan 0
   atk 0.01
   dcy 1
   sust 0.3
   rel 0.5
   gate 1
   out 0]
  (o/out out
         (-> (o/saw freq)
             (o/lpf 2000)
             (o/pan2 pan)
             (* (o/env-gen (o/env-adsr atk dcy sust rel)
                               :gate gate :action o/FREE))
             (* amp (o/amp-comp-a freq)))))

plexus21:10:46

Orca just sends midi events

diego.videco19:10:26

are you freeing them?

diego.videco20:10:34

I know installing SC in linux can be a pain (depending on your distribution), so do try defsynth first. I think definst is geared more towards use with overtone as a performance environment, so tied with the sequencer, mixer, etc. May be nice to use those, but tbh I have not delved into that. And if you are using Orca, maybe that’s part of the issue, but defsynth should work as it is simpler.