Really enjoying Sines, thanks for sharing. Very relaxing to play and stare out the window at winter right now.
Really enjoying Sines, thanks for sharing. Very relaxing to play and stare out the window at winter right now.
super fun! I tried to get some of the frequency ratio to index values into a harsh realm but I think itās the envelopes that keep it smooth. It could be cool to put in arc support for some of the envelopes.
wow. im finally getting the shot to mess with this script a bit and im in love. its really beautiful and inspiring, thanks so much for it. thoughts that come to mind are things like āoh, iād really love to be able to add some sort of drift modulation to certain parameters based on thresholdā or āwould be cool if i could change the bpm in order to have slower pulse envelopes (didnt seem to be able to change the clock speed in >param>edit>clock
)ā
but all around, a very beautiful instrument you have created! love the simplicity of the interface too.
I wonāt be able to do this, sorry. I donāt have an arc to test with⦠thatās not to say someone else couldnāt do this and PR? or maybe a fork?
Yes I think the next version should have some kind of global LFO/animation system. BTW - the current envelopes have no relation to the global clock. They are simply looping envelopes.
Iāve created a develop branch. Will start working on some of this stuff in the new year.
I could only help with testing it. Arc/grid is here.
However, some kind of LFO bank would be cool, not sure if it would overload the script, but this cc lfo by @Markeats is really cool.
Other ideas: bitcrush/decimation sounds great on simple waveforms, also a combo script with @Justmatās otis (see oats) could be great but I am unsure if this would mean running two engines which I am unsure if that is possible.
I think the script is supercool as it is already.
sold.
thank you for this btw. very cool
*edit: why couldnāt they make the digitone do this? that would be so dope to have this on a synth like that. itās like the operator from ableton. its genius
I have this week off the day job. Iāll give this a try.
There is a sample/bit rate reduction update on the develop branch if anyone wants to test it out. Youāll need to git checkout develop
on Norns over ssh. You wonāt be able to get this from maiden just yet.
This script is getting better and better. Aidan made the sample/bitrate per sine, not just global.
I think Iām up to speed on the state of the art. Went through the norns/circle/02 video on the clock subsystem and I donāt think thatās necessary for arc animation. The Cccccccc lib uses the global metro. is there a reason to use clock for hardware drawing?
It seems like the envelopes in @Oootini source are parameters passed directly to the EnvGen in the engine. Is that correct?
Yes. If you can think of a better way to do this Iām all ears!
so i dove into this script pretty heavily for last nightās noiz sessionā¦
such a cool generator and i look forward to future updates!
running v0.7 on one norns and v0.8 on another with Cheat Codes 2 thrown in with a few other noiz weapons.
update update
I got a PoC working where channel 4 on the Arc controls the envelope named pulse4 on voice 1. Passing values to the set_env() function you wrote for every encoder delta works fine. I also answered my own question about the difference between an envelope and an LFO. One has a frequency in cycles per second and the other has a frequency in seconds per cycle. So now when I make the envelope longer the LED ring spins faster because Iām increasing itās frequency value but passing that same value to the decay time of the envelope. Iāll figure it out later. A good stopping point for new years eve.
Update! I got a spinny ring animation to work on my fork mostly through copy + paste from the Cccccccc library. In that lib there is no engine and the LFOs are interpolated to MIDI 7bit, which we donāt have to do. I donāt yet have code for and hardware connection to the SC engine so there will be no changes in sound. Iām working on that part now.
Regarding ideas of how to interact with the engine, itās been over a year since I worked on a Norns project so Iām getting back up to speed.
There is the question of whatās the difference between an envelope and an LFO? Iām not sure I know the answer to this but there are distinct UGens in Supercollider for doing āenvelope stuffā and āLFO stuffā. My first try is going to stick with EnvGen in the engine. My second idea is to use LFSaw and friends by changing the engine. Iām not sure if thatās more trouble than itās worth. Thirdly, thereās the polls feature to get information from the engine. This might also be the wrong path, since I think the only control we need is to get the answer to the question āhow fast is each LFO cycleā for the ring animation and āset the LFO cycle to this speedā for the knob control. It seems like just passing params through to the engine is The Right Way.
@Oootini thanks for this simple yet evocative script! had a chance to mess with it todayā¦
hereās a little something from this morning.
sines with the eventual accompaniment of barcode thatās on an aux send/return
hi all- was just curious if thereās a way to control the root note of the script with the keys on my midi keyboard? i have a komplete kontrol a49 that i use as my primary keyboard. it has 8 encoders on it and 4 pages for them, so im controlling the volume of the 16 sines with the first two pages of encoder mappings and the envelopes of the 16 sines with the other two pages. the mod wheel is controlling the scale mode, so i would love to be able to control what note the root note is when i press a key on my keybed. if you have any ideas, let me know! thanks!!
add to the midi event function (e.g. at line 148, presently):
if d.type == "note_on" then
params:set("root_note", d.note)
end
Iāll add this to next version.
Aight, I got something presentable. Apologies in advance for the volume levels in the recording. Iām not set up for tech demos and this is me holding my phone and playing the sound through monitors. @Oootini while Iām still working on this, it doesnāt effect existing functionality without an Arc. Iāve tested hotplugging/disconnecting the device and everything just works. I could make a PR if anyone out there wants to try this without running my fork on-device. Iāve already done a short live session with a Fender Rhodes and it was sounding decent.
These are my unchecked list items
[*] test what happens when the frequency is negative
update file this one under ābreaks in an interesting way and is recoverableā
[*] determine how to switch between envelope types
[*] determine how to switch between harmonic groups
[*] reduce resolution of encoders
Nice! Iām nearly finished a refactor job which hopefully clears up a lot of the silly param stuff that was done. Wait for that before sending a PR.