-
esaruoho
@mario said:
This is the hAcKAI LPureData 8 v0.2, it's now possible to get presets from the controller
http://mbuoninfante.tumblr.com/post/152204960890/hackailpuredata8-v02
hi are you able to modify this so that it could load up a LPD8 preset (.lpd8)?
lpd8_preset_2017_05_15_for_multimagic.lpd8.zip -
esaruoho
@oid said:
@esaruoho My abstraction here should do what you need. You can change the knob velocity and it can be used to manage multiple parameters with a single encoder. Another one of those patches I should really finish up and put it somewhere that people can find it.
so it seems that this only works with rotary encoders.. or did i misunderstand? i guess i'll have to write some touchosc stuff that is rotary knobs and hope for the best
-
esaruoho
i used to have a faderfox uc4 and a 8 rotary knobs for my 8 sample-loopers.
i sold it for some reason, because BCR2000 was better. then i upgraded to TouchOSC.
and checked out a gig recording from 2017 within which i was using the uc4.
and it made me think, i want really slow (think radio frequency tuning slow) knobs that just keep adding or subtracting from the current situation.
how would one go about doing that within puredata? i don't have a problem using objects from the ELSE library, if there are such?
rotkno.pdhere's what i was working with.
what within PD could i use to control this? -
esaruoho
wow, even having one ceammc ui.menu displaying results in the else/multi.vsl's grinding to a halt updating-wise, no more being able to draw content onto them. looks like i'll not be able to use them then
-
esaruoho
@seb-harmonik.ar said:
@esaruoho compiled objects (unfortunately) can't be created that way.
you have to use[declare -lib ceammc]
and then[ui.menu]
thanks!
i .. really .. had no idea. it's a big TIL day for me. -
esaruoho
@60hz said:
What you displayed is the global ceammc help.
You can click on the link [ui.menu] in runmode it should open [ui.menu] specific help.Also, I did rewrite the [ui.menu] help a bit...
EDIT: i tried adding
[ceammc/ui.menu]
to a script of mine, and all i see is this:
weirdly enough, the cyan text CAN be clicked on from the help, but i dunno why i can't just add it as an object to a script of mine? like what am i missing here?
EDIT2: i had to open the help, then select and copypaste the object, and then i was able to add it. it made the whole screen grey for a while until i clicked away.
i've never seen objects that behave like this. what..?? -
esaruoho
@60hz said:
i'm using PD 0.54-0. i got ceammc from dekken and the help looks like this:
is this a M1 Apple Silicon ARM thing, or is the dekken not complete, or..?
-
esaruoho
i'm currently using lists and pack/unpack to feed them to 10 frequency overtone generator abstractions.
but i'm wondering, is there a better way to pick frequencies from a list, or a large list, larger than 10 frequencies, so that they can be picked at will. and also, can the frequencies have a larger description.like "440hz A-note traditional" would, when picked from the dropdown menu, send 440 to the outlet.
Something like that? -
esaruoho
hi, let's say i'm sent a 440hz tuning fork recording. i.e. someone gets a microphone, hits a tuning fork and waves it around the microphone. how would i go about using PD to analyze it for "main frequencies"? i mean, like, let's imagine that the 440hz tuning fork does not only play 440hz but also plays say 30 or 50 harmonic overtones of it, like a piano might (i guess?)
what would the process be of outputting this kind of frequency analysis data out of a recording, using PD?
-
esaruoho
Is it possible for an array to somehow be used for smooth ramp ups and ramp downs of parameters?
What I'm thinking of is a method for cycling between 15hz and 8hz but so that it takes say an hour to get from 8hz to 15hz for instance?
like, how to use an array for stepping, so that there would be a glide going on where let's say you lower from 8.5hz to 8hz in 5 minutes, but then ramp up to 8.5hz back again in 15 minutes, and then for 25 minutes ramp up to 15hz? i would prefer to have this kind of control, but the milliseconds really throw me. -
esaruoho
i would be perfectly fine using an array-generator squarewave to do the gapping at specific intervals, but i'm not sure how to create a legit squarewave and how to use that to control what comes into
[*~]
-
esaruoho
hi, i have an osc~ set to a frequency. i also have an array with a ramp up and ramp down of volume.
how do i use the array to set the amplitude of the osc~ to zero and to maximum and then to zero, basically a fade in, fade out.here's what the array looks like:
i was thinking i can just put a metronome into
[tabread4~ envelope]
but for some reason that doesn't seem to work. i'm basically wanting to create amplitude modulation that can be controlled, so a specific amount of time there will be sound out, and the other amount of time, there's silence. so like gapping the audio. but i'm not entirely sure how to do it or how to accomplish that mathematically.it would be wonderful to be able to sync this to say 1/4 or 1/16 or 1/8 and to modify at will, but i'm really not sure how to do this.
-
esaruoho
@whale-av said:
@esaruoho I might have made it too hungry...... updating every millisecond.
If you change the [line 0 1] inside [fade] to something like [line 0 250] it will output the list every 250ms which might be fast enough for your purpose, but stop dropouts.But if you are adding the outputs of the oscillators together you could use just one [line] or [line~] to set the final summed level at 1 as [else/multi.vsl] sets their volumes, and then ramp down the summed level to zero in the required time...... which will be much more efficient.
thanks! i set it to 0 250 and it's awesome!
this is great. oh. i actually set it to 0 50 and it works like a charm. -
esaruoho
@whale-av said:
@esaruoho Split the message using [unpack] and then use [line] to decay each output ... and then [pack] to put the list back together?
this.zip ... is not very elegant, but fairly simple.....thanks! i tried this, unfortunately what happens is that the multi_vsl object does not visually update in any way, which is strange. maybe the GUI is too busy to update, due to the flood generated. ouch. but thanks for providing something to try with! unfortunately also when i set the decay to 9500ms or more, the audio started dropping, which is weird. guess my setup is too complex to be fed data into with a fade like that, maybe it's because the subpatches have sliders updating themselves visually to maintain the hz etc. and the amplitude. that might be why the gui freezes from updating.
-
esaruoho
I'm a bit hooked to TouchOSC nowadays, but now I want to take something that TouchOSC provides, i.e.
Default Pull
and use it in a script.The script uses
[else/multi.vsl]
and it controls the amplitude of oscillators.
i'm using one message to set the amplitude of these 11 oscillators. they are set by throwing in a number:0.5 0.125 0.083 0.062 0.05 0.042 0.036 0.031 0.028 0.025 0.023
but i wish for the numbers to go down, i.e. decay back to 0, in a lockstep fashion, i.e. if it is -0.001 per second, for instance, then each will be set to a lower and lower number until they all reach 0.
how do i accomplish this kind of "decay after 5 seconds or 10 seconds or 3 minutes" type thing, so that i can control, with a slider, how long it takes for the numbers to die off.
all of these numbers are sent out as a message to the multi.vsl object.so, how do i take these numerous numbers, and then slowly ramp them down to 0?
if it helps, i'm trying to simulate tuning forks, or an acoustic instrument, well, not simulate, but the "release/decay" portion of it. i.e., "die after 5 seconds" or "die after 15 seconds".
-
esaruoho
@whale-av just in case, here's the modified .pd + .tosc
plom_modified_but_no_feedback_yet.zipnot sure how to get the messaging right for the colour change as of yet.
-
esaruoho
now the array on PD is actually muddying up the content on the iPad's grid, with an offset of 1. hard to describe properly
..
ok, solved this by changing a[+ 1]
to[+ 0]
- now the "back from PD to TouchOSC" no longer bugs out.
if only i could solve how to send the correct OSC message from PD to TouchOSC to change the color. then this'd be pretty much ready to be used.
-
esaruoho
so now i have a simple message without the $3 $1 $2 formatting, which just sends out
[set 1 multifader1 1 color, format s, symbol red(
and i can see it being received.
what i can't see it doing is changing any colouring.
i guess the next step is to modify the grid-object's init state to set a specific fader to yellow and see if it works, instead of using the numbers for yellow, the text yellow.ok, based on what i'm seeing, the number for yellow, as specced in plom.tosc, is not valid.
local red = Color(1.,.16,.11)
will not work
local red = Color(1,1,0)
will work.
so in that case.. what's not working currently is the "take that message and react to it" part of it. if i could get a PD-button feasibly working that would change the color on a grid, i could continue troubleshooting this, but so far i just don't know how to do it
-
esaruoho
@whale-av said:
You will have to assign a midi control to the colour value in your TouchOSC layout..... for each control.
"Color corresponds to the control color, indexed by the control's MIDI message controller value, note velocity or program number value, ranging from 0 to 8"
I don't know how that would work with a grid.well, luckily i have some prior art from asking around on the TouchOSC Discord - i got told how to change the colour of a grid object (in this case, a fader from purple to yellow, to differentiate them).
so here's 9 grids that auto-initialize to having the fourth slider (which corresponds to the fourth send in ableton live, which is a specific type of send (+1 octave pitch grain/granulator), set to yellow.
the OSC command for this fourth one is:function init() if self.name == "4" then -- only executed in control 4 self.color = Color(1,1,0) end end
so in essence, it should be possible to take this and set the color right.
i'm not sure how though but at least there's the functional color changing code.ok so i tried to change the formatting for yellow from what was specified in the plom.tosc,
green = Color(1,93,0),
togreen = Color(1,1,0),
but that did not seem to result in any specific change.but i am getting these messages of
/1/multifader1/3/color
and/1/multifader1/4/color
type stuffs and one of them receives the string red and the other the string green.
so maybe what's going on is that they're just not receiving the actual right message. if i was maybe sending a string with the required content, maybe that'd be the trick?
-
esaruoho
@ddw_music said:
If you enable "Ping" in TouchOSC, then it will automatically send a message to the computer, which will trigger the "connect" logic right away.
hi, i'm not sure what Ping in TouchOSC is?
is it maybe this? i'll try to enable it and see what happens.