Thank you kindly woggle! Keep at it, it'll come together. I'm still a amateur at best. Always will be.woggle wrote: Fri Jan 04, 2019 10:02 am some amazing work there mannymang - and AZZIN of course. I am still very much at the struggling stage but luckily am in no hurry.
Architect beta for macOS, Windows, and Linux. 0.10.5 now available
-
- KVRist
- 140 posts since 11 Mar, 2014
-
- KVRian
- 911 posts since 10 Dec, 2013
I've attempted to implement AZZIN's Henon map code as an LUA script, seems much easier than attempting to do it with objects! I've never used LUA before so this is probably horribly done ha...
Just paste this into a new LUA object, add two data inlets and two data outlets.
Just paste this into a new LUA object, add two data inlets and two data outlets.
-- First attempt at Henon map implementation
-- First data inlet ticks the algorithm on one step (I'm sending metronome to it at whatever rate is required for patch)
-- Second inlet resets algorithm to initial state (I'm sending a signal on playback start but you could explicitly reset this with a manual signal if required)
-- x output to data outlet 1, y output to data outlet 2
function arc.module.reset()
-- Reset x & y
x = 0.0
y = 0.0
end
function arc.module.setup()
-- Sets up initial variables when LUA object is created on graph/compiled
alpha = 1.4
beta = 0.3
x = 0.0
y = 0.0
end
function arc.module.receive(inlet, object)
-- Handle inputs when either of them receive a value or signal
if (inlet==1) then
Henon()
arc.module.outlets[1]:send(x)
arc.module.outlets[2]:send(y)
elseif (inlet==2) then
arc.module.reset()
end
end
function Henon()
-- self explanatory
tmp = 1.0 - alpha*(x*x) + y
y = beta * (x)
x = tmp
end
Last edited by Hez on Fri Jan 04, 2019 12:06 pm, edited 3 times in total.
-
- KVRAF
- 2357 posts since 24 Nov, 2012
thanks - I will plod on, I dont understand the node based language at all but once I get the idea I will be fine. I'm very comfortable with the ideas of generative music algorithms. just not this implementation - yet!mannymang wrote: Fri Jan 04, 2019 10:08 amThank you kindly woggle! Keep at it, it'll come together. I'm still a amateur at best. Always will be.woggle wrote: Fri Jan 04, 2019 10:02 am some amazing work there mannymang - and AZZIN of course. I am still very much at the struggling stage but luckily am in no hurry.
what you don't know only makes you stronger
-
- KVRAF
- Topic Starter
- 2728 posts since 25 Aug, 2003 from Bournemouth, UK
Hearing the creations you've come up with, I feel like both a proud father, and also a little sad that algorithms make much better music than I ever will. Keep at it, guys.
Architect, the modular MIDI toolkit, beta now available for macOS, Windows, and Linux.
-
- KVRian
- 911 posts since 10 Dec, 2013
Colin, I'm working on creating a metronome that takes tuples of (numerator,denominator) to set the meter and I'm wondering what the best way to make it 'tick' is. At the moment I'm using <On Every Tick> to call <Is Nth Tick> with input <Beat Ticks> with the numerator & denominator to check whether or not to send an output signal, but I'm worried that this is excessively CPU intensive (as mentioned in the <On Every Tick> info)? Is there a better way to do this?
- KVRian
- 642 posts since 22 Jun, 2018
It's your tool that allows people to do these things!colin@loomer wrote: Fri Jan 04, 2019 10:32 am Hearing the creations you've come up with, I feel like both a proud father, and also a little sad that algorithms make much better music than I ever will. Keep at it, guys.
I hope Architect will get more people into generative music in the future. With things like PD and Max, there has always been quite a big entry barrier, but I think Architect could change that. Provided with the right macros and examples, which will come over time, the whole generative thing could be much more "drag and drop" then ever before, allowing even less experienced users to experiment with this kind of stuff.
I think Architect is just really well designed, and you clearly seem interested in improving it even further.
-
- KVRAF
- Topic Starter
- 2728 posts since 25 Aug, 2003 from Bournemouth, UK
You should be fine. This type of thing - where you need to check something every single tick - is what that module is there for. The comment was more to dissuade people from doing `print` every tick or something.Hez wrote: Fri Jan 04, 2019 10:38 am I'm worried that this is excessively CPU intensive (as mentioned in the <On Every Tick> info)? Is there a better way to do this?
Architect does some sneaky things with objects behind the scenes to ensure it can do things fast. For example, for common objects such as signal, true, false, number 0, etc, there is only ever one object created. if you send one of these, Arc doesn't actually create any new objects at all, just shares the global one.
Architect, the modular MIDI toolkit, beta now available for macOS, Windows, and Linux.
-
- KVRian
- 911 posts since 10 Dec, 2013
Oh wow, that's very nifty!colin@loomer wrote: Fri Jan 04, 2019 10:50 amYou should be fine. This type of thing - where you need to check something every single tick - is what that module is there for. The comment was more to dissuade people from doing `print` every tick or something.Hez wrote: Fri Jan 04, 2019 10:38 am I'm worried that this is excessively CPU intensive (as mentioned in the <On Every Tick> info)? Is there a better way to do this?
Architect does some sneaky things with objects behind the scenes to ensure it can do things fast. For example, for common objects such as signal, true, false, number 0, etc, there is only ever one object created. if you send one of these, Arc doesn't actually create any new objects at all, just shares the global one.
I think I may have spotted a small bug in the <Is nth Tick> module here. I'm sending 3/8 as an interval to my 'new metronome' (obviously not really a normal timekeeping division but just as a test I guess...), which works out at 1440 ticks per beat after running (3,8) through <Beat Ticks>. However, running this into <Is nth Tick> is returning strange results - the first three trues are correct (true on 0, 1440 and 2880), but then it returns a true on 3840, which is the number of ticks in a whole bar, which doesn't coincide with 3/8. It then 'resets' its internal counter and does the same next bar - 3 correctly spaced 3/8 beats followed by a true hard reset at the start of the 3rd bar (this is assuming a 4/4 meter which is what my host DAW is set to).
In other words:
-
- KVRAF
- Topic Starter
- 2728 posts since 25 Aug, 2003 from Bournemouth, UK
Ah right, yes, I think I know what's happening. I'll get this looked into when I tackle the transport bugs.Hez wrote: Fri Jan 04, 2019 11:07 am I think I may have spotted a small bug in the <Is nth Tick> module here.
In other words:
![]()
Architect, the modular MIDI toolkit, beta now available for macOS, Windows, and Linux.
-
- KVRian
- 911 posts since 10 Dec, 2013
Awesome, cheers!colin@loomer wrote: Fri Jan 04, 2019 11:18 amAh right, yes, I think I know what's happening. I'll get this looked into when I tackle the transport bugs.Hez wrote: Fri Jan 04, 2019 11:07 am I think I may have spotted a small bug in the <Is nth Tick> module here.
In other words:
![]()
- KVRist
- 124 posts since 25 Jul, 2004 from Italy
That's exactly the idea...mannymang wrote: Fri Jan 04, 2019 10:01 am Sorry, can't help myself.Diggin AZZIN's algo rock. Tweaking live:
https://soundcloud.com/user-332831953/e ... chitect-15
Last edited by AZZIN on Fri Jan 04, 2019 12:11 pm, edited 1 time in total.
- KVRist
- 124 posts since 25 Jul, 2004 from Italy
Great! Yes, I believe that this is way more compact than the graph=based algorithms.. I' ve to look at LUA, don't know it..Hez wrote: Fri Jan 04, 2019 10:15 am I've attempted to implement AZZIN's Henon map code as an LUA script, seems much easier than attempting to do it with objects! I've never used LUA before so this is probably horribly done ha...
-
- KVRist
- 261 posts since 14 Apr, 2006
Call me stupid but I like to see a gridsequencer with just one row in other words one pitch. This seems to me very useful for creating drumparts where each sound can have its own speed, swing, divide etc settings. Idea? Or just use the normal 8-grid sequencer and forget the other 7 rows?
-
- KVRAF
- Topic Starter
- 2728 posts since 25 Aug, 2003 from Bournemouth, UK
Someone already asked for more grid rows too, but yes, I can absolutely see the merit of a single row grid sequencer too. I have other sequencer types (that missed the beta) that kind of fit with what you are suggesting, so good chance I'll get this in at some point.
Architect, the modular MIDI toolkit, beta now available for macOS, Windows, and Linux.
