One patch to open and close series of patches?
do I get this right :
Exactly.
if both hand on screen --> noise should play as long both user touch screen. animal sounds should play only after the initial offset (5 sec) with +-1 sec
so only if both user hands are touching and 5 sec pass (with +-1 sec above or below) only then animal call should be heard.
hands on screen =TRUE -timer start --> timer above 5 sec --> animal sound is playing and new time is choose (between 4 sec to 6 sec) --> hands pass this new time? --> new animal sound is played etc etc
the urn part is in order to play each time different animal call rather then start each time from the same sound
When should audio playback start ?
Maybe when recording starts ?
the noise sound should start when both user touch.
the animal call should start only if both hands are touching and are more then 5 sec offset.
then each time it will select random number within that offset
is folder with sounds AnimalCalls fixed, or can one drop other folder path ?
fixed
what are keys 1 and 2 doing there as well as mouse state clicks ?
this was only for troubleshoot . no need for that. as well as mouse clicks. no use.
thank for replies, I have soooo many questions...
again
thank for replies, I have soooo many questions...
again
-3 +3
can we not unify that as one float for ± 3 range ?
can we not unify that as one float for ± 3 range ?
I don't think I understand the meaning of this sentence..
What I was looking is to have a offset number and set the minimum and maximum range of that number on each new bang.
so if number is 5 and range is +-2 on each new bang the number we can get is between 3 and 7
can we not unify that as one float for ± 3 range ?
Ok I see now the screenshot you shared. Yes we can.
It makes the same output but takes only 1 float instead of 2.
have a look at screenshot above
It makes the same output but takes only 1 float instead of 2.
have a look at screenshot above
Yes I understand. Looks good
ok. I am out till tomorrow, will have more questions.
Can you post where sounds to play will be located ?
I mean Animal Sounds, Songs and Noise ?
Could be in a single folder named Sounds
one could split them by some means ...
Can you post where sounds to play will be located ?
I mean Animal Sounds, Songs and Noise ?
Could be in a single folder named Sounds
one could split them by some means ...
The way is set now is like follow:
Animal:
Animal folder --> (inside animal folder) Animal patch(.maxpat), Animallcalls folder, noise.wav file, Data folder, AudioRec folder
Play a song:
Now that structure does not exist because everything will take place in same, main patcher.
If you don't mind, place audio_files and AnimalCalls folders
next to main patcher.
noise.wav can be placed into AnimalCalls folder,
it wil be excluded from other audio files in playback menu.
OK no problem..
I have another question: are all Animal sounds longer then 3000 ms ?
that is maximal play time, which must be reached
in order to trigger next.
If file is shorter - no trigger.
I have another question: are all Animal sounds longer then 3000 ms ?
No. minimum 1 sec max 2 sec.
I mean - Animal sounds might be longer but they have envelope of 1 sec - 2 sec.
in order to trigger animal sound users must have hands on screen for 5 sec then sound is triggered and new number is chosen to trigger next sound
That is different in the patch !
range is 1 - 3 seconds.
should it be 1 - 2 seconds ?
FOR ALL SETTINGS IN ALL TESTS
I need min max and initial range.
Look at this : mean time set to zero, ends in negative delay time.
should time between sounds (purple float)
have minimum value ?
And clip delay time to minimum value if random spits -3 or so ?
there are many unfinished thing in the test patches ...
Look at this : mean time set to zero, ends in negative delay time.
Mean time can't be less then3 sec. Ideally it should be 5.
Now** I understand what you mean
The question about animal sounds was can some of them they be shorter then set time ?
if yes, then patch like it is now can not work.
If you guarantee that they are all longer then max settable time - 2000ms, then all ok.
If not, let me know.
if yes, then patch like it is now can not work.
Yes they can.
Why did you not think about it before ?
Why did you not think about it before ?
This was not an issue as there is envelope for the animal sound. envelope set to 1000ms. when sound triggered it will stop after 1 sec no matter is length. This was fine for me
You have no idea what we talk about ?
set play length - between 1 and 2 seconds
needs to be reached to trigger further process.
if file is SHORTER THAN set length, NOTHING WILL GET TRIGGERED.
WHAT GETS TRIGGERED ?
Curve fade-out , which again when ended STOPS playback,
and bangs random delay time, next random sound etc.
But if you are happy with that, I will leave it as is.
So at the end you will have to make all sounds longer than 2 seconds.
Or do you want me to fix that ?
To add condition :
if set length is reached OR file played to the end - TRIGGER ?
It is your decision ...
So at the end you will have to make all sounds longer than 2 seconds.
I guess that all my sounds in that folder was longer then 2 sec this is why I had no problem
Or do you want me to fix that ?
If this not too much of an hassle so yes, then it will work also with shorter files..
Ok , I will do so.
next question :
what is maximum delay time for next sound ?
minimum is 3 seconds, what is maximum which can be generated by
randomiser and set value ?
and do you want it as float or int ?
I mean can delay be 4.33 or 5.12 or only 4 or 5 ?
I mean can delay be 4.33 or 5.12 or only 4 or 5 ?
Yes it can be float.
minimum is 3 seconds, what is maximum which can be generated by
randomiser and set value ?
Max should be no more then 10 seconds
You have so many mistakes in there.
If I understand correctly
ONLY after users keep touching under distance threshold
for set time playback should start.
And whole precedure keeps going ONLY as long as that keeps being so.
As soon as condition is 0, everything stops.
Is that correct ?
And what about that noise sound ?
shall it follow REAL state of playback ?
amplify to 0.5 when NO Playback,
and MUTE when Playback is running ?
I WANT TO KNOW WHAT IS MIN MAX VALUE FOR THIS
"WAIT TO START" DELAY ? that is NOT THE SAME AS Randomised time
between AUTO-NEXT ! (min 3, max 10 seconds)
As soon as condition is 0, everything stops.
Is that correct ?
Correct.
shall it follow REAL state of playback ?
amplify to 0.5 when NO Playback,
and MUTE when Playback is running ?
I WANT TO KNOW WHAT IS MIN MAX VALUE FOR THIS
Yes, amplify to 0.5 when NO playback.
Mute when playback is running.
"WAIT TO START" DELAY ? that is NOT THE SAME AS Randomised time
Yes. Wait to start should be each time there is a TOUCH of two users and the random delay time has passed.
THAT RANDOM DELAY TIME IS ONLY IN BETWEEN DIFFERENT SOUNDS.
WAIT TO START DELAY TIME IS FIXED WITH THAT VIOLET FLOAT !
OK this is fine
AND I WANT TI KNOW ITS MIN AND MAX VALUES !
min 4 max 7 (this is not very critical. I might change that on needs)
and do you really want this volume control of noise ?
Yes this is needed..
or a better question - why this 2 different thresholds for distance ?
1 distance is for noise and the other is for the animal calls. noise should be presented always when both user on screen (position of hands will change loudness)
the distance of the animal calls is in order to make the user getting closer so they will not trigger animal sound always rather only in a certain distance.
Can you confirm this :
Sound Playback gets MUTED if any of 2 Distance Thresholds = 0
It TURNS ON ONLY when BOTH Thresholds = 1
Noise gets MUTED when Threshold 1 = 0
It TURNS ON when Threshold 1 is = 1 AND when Sound STOPS playing.
Noise volume is in addition controlled by scaled Threshold 1.
Can you confirm this :
All sounds Correct
OK.
I will now proceed to main Patch, Display of input, OSC input,
Recording etc.
You wanted to post size of main patcher screen.
What should be the size of pictslider showing 2 users axes ?
another question is :
sensor screens are not 100x100 - equal sized, but wide
like 1920x1080.
You scale that to 0. - 1. and display as 100x100 in pictslider
and show 0. - 1. in that 4 floats.
Is that not strange for users when trying to follow position ?
I can't proceed without that size infos.
......
to the DATA recording :
I want to write float values while users touch the screen,
and 2 minus signs - - when not.
that for all Tests that need xy recorded.
is that ok ?
Tapping needs only 2 ints , touched or not: 1 or 0.
Do you also want to write ALL time steps for tapping,
or is changed value not enough ?
let me put it this way :
it is much easier to see that CHANGED STATES OCCURED AT :
1020 0 1
1880 0 0
2400 1 1
6840 1 0
and so on,
then to have to scroll 10000 lines of repeated
0 0
0 0
0 0
0 0
0 0
till next change happened
1 0
Let me know what you want.
What should be the size of pictslider showing 2 users axes ?
It is only for monitor.. This is to be honest no so much important..
sensor screens are not 100x100 - equal sized, but wide
like 1920x1080.
You scale that to 0. - 1. and display as 100x100 in pictslider
and show 0. - 1. in that 4 floats.
The numbers receiving from screens via the python code into the udp in max are value between 0. 1.
I then scale them to 100x100 just to work with the picslider..
The data receiving is 0. - 1. and this is the data that get recorded.
I want to write float values while users touch the screen,
and 2 minus signs - - when not.
that for all Tests that need xy recorded.
is that ok ?
I think it is fine. I guess it will be easier to process it later in excel rather then using the 0 1 flag I'm using now.
on second thought it might be better leaving the 0 1 flag as it is now or at least give the option to use it (I'm talking for the data recording)
it is much easier to see that CHANGED STATES OCCURED AT :
This sound much better.
I don't think one should use that flag. no need.
Excell ignores minus signs when making calculations
you see here cell A10 is a sum
But now that you agree that Tapping records ONLY changed states,
should that be done as well for other 4 patchers which record axes ?
I don't know how many lines could be spared like that, because we have 4 floats
which change a lot, only when both users are inactive lines could look like :
122990 - - 0.34562 0.78512
123000 - - - -
123450 0.65271 0.445213 0.246812 0.334891
Another question
I don't see any difference between Silent Pre
and Silent Post Tests, only name seems different.
Or did I miss something ?
Another question
I don't see any difference between Silent Pre
and Silent Post Tests, only name seems different.
Or did I miss something ?
You are completely right
should that be done as well for other 4 patchers which record axes ?
what do you mean? all patches apart of Tapping records both x and y axes of the two users
I mean to record axes only when users touch screen.
I mean to record axes only when users touch screen.
I see..
This sound right
Ok, but then we don't need to insert minus signs.
Now what shall we do about Silent Pre and Silent Post ?
Still keep them ?
I prefer to keep them both.
Or at least that both will be presented in the main patch. This to say that it can open the same patch...
only difference is name of the text file to write.
There will be no different patchers.
Sounds great...
ok , will be back tomorrow ...
with probably more questions
In "Play a Song" test one can select different Song in umenu.
If that happens while a Song is playing, playback stops.
What is with conditions that made the Song Play ?
users within distance threshold and pause timer (before reset) ?
Do we reset that or keep current status running?
Can you explain logic in "Play a Song" test ?
Audio player has states play, pause, resume, auto reset after set time.
select next song etc.
I don't understand it really.
what I understand is that user distance can be 1 or 0.
it controls a toggle which itself gets controlled also by playback status and
reset counter.
Can you explain that step by step.
if this then that etc.
Can you explain logic in "Play a Song" test ?
Audio player has states play, pause, resume, auto reset after set time.
select next song etc.
I don't understand it really.
What is with conditions that made the Song Play ?
users within distance threshold and pause timer (before reset) ?
Do we reset that or keep current status running?
If both user hands on screen and within certain distance - song is playing. the more they are close to each other (distance smaller) volume is louder.
if toggle is 0 (users outside of distance or hands are not on screen) song is paused and if toggle is back to be 1 within certain time the song is resume - otherwise song will start from the beginning.
if users finished song - it moves to next one or buy manually changing the song from the unmenu
Is this help?
There is NO TRACE of that volume in Play a Song that you posted.
Can you post the patch with that included ?
I am not getting into any NEW stuff.
Forget that adaptive stuff for the moment.
if toggle is 0 (users outside of distance or hands are not on screen) song is paused and if toggle is back to be 1 within certain time the song is resume - otherwise song will start from the beginning.
In your patch that timer did NOT restart the song but STOPPED it
if pause was longer than set time.
Is that correct ?
I am not getting into any NEW stuff.
Forget that adaptive stuff for the moment.
Sure!
In your patch that timer did NOT restart the song but STOPPED it
if pause was longer than set time.
Is that correct ?
Yes I mean Stopped then on next toggle it start from zero.
There is NO TRACE of that volume in Play a Song that you posted.
Here a screenshot:
ok, yes, sorry I have mixed it with 2nd distance control in Animal test,
here is what it looks now :
just to make sure:
if users keep within distance and current Song played to the end,
next Song in the menu starts playback immediately.
is that correct ?
this is rough GUI, I am still in progress ....
currently 960x580 pixels size.
Beside current axis position, one should maybe also display current distance ?
would it not be better to use 0 - 100 for all, instead of
0 -1. float as you used in your patchers ?
That would make it easier for users to compare current distance to threshold(s)
when we talk about distance, you overlooked diagonal size.
should I scale it to 0 - 100 ?
Well I allready did, but need your confirmation.
next Song in the menu starts playback immediately.
is that correct ?
Yes
Beside current axis position, one should maybe also display current distance ?
would it not be better to use 0 - 100 for all, instead of
0 -1. float as you used in your patchers ?
That would make it easier for users to compare current distance to threshold(s)
Yes!
should I scale it to 0 - 100 ?
Yes!
this is firs test patch
noise sound needs to be in AnimalCalls folder together with other sounds
playsong files into audio_files
sessions get written into Sessions folder
data is written as text - easier to import into excel.
this is firs test patch
This looks amazing! I don't have right now the patches itself so I cannot really test it but UI looks just great!
Do you mind sharing the patch of it (and not the project file) so I will be able look inside?
Sure, here is unlocked patch
All functions are inside, there are no extra "patches".
only thing you need is sensor input.
which you could simulate using another max patch.
I am sending this as mxf because I want patch to remain unchanged
as long as you make tests or decisions.
I will not accept any modified patch to work with.
Also - think that different max versions can break
some functions.
I made this with max 8.3.3, it should work ok also till Max 8.6.5.
I am not sure abour GUI, depends on your preferences
and also if more controls need to be added.
as alternative :
in this case I would make controls for that 2 tests a bit wider to better fit
the space.
Other 3 tests need no settings .
I would suggest that you use a standalone version at the end
for several reasons, also to survive max upgrades one target machine.
Sure, here is unlocked patch
How can I access the edit of the patch?
I have no accesss to the inside nor changing the size of the patch
only thing you need is sensor input.
which you could simulate using another max patch.
OK I will check it asap
Will my previous Animal and Play a Song patches should work or I should wait for your new versions?
did you not see this :
what do you mean by this:
"Will my previous Animal and Play a Song patches should work or I should wait for your new versions?"
There will be NO previous or whatever patches.
ALL IS IN THERE !!!!!
I don't know how to explain it again...
And again - I want to have this finalised soon , if you need any changes
let me know which.
but I will not accept any returned patches.
only work on my local versions.
Once this is done, you can modify or do whatever you wish,
but on your own.
did you not see this :
Thanks!!
ALL IS IN THERE !!!!!
Yes, Now I see it all!
Thank you very much I will check it asap. looks just great!!!
I'm seeing data is recorded only when there is a change in data.. I think we say it will record on each interval regrdless if change or not..
No, check last posts about it.
for example
Jan 8, 2025, 4:56 PM
No, check last posts about it.
True..
No, check last posts about it.
for example
Jan 8, 2025, 4:56 PM
Is this possible to change.. ? also to add the option to change clocker interval? (SORRY!)
Also for Tapping ?
record every tick no matter if they touch the screen or not ?
one could change capture rate, what should be allowed range ?
It could be strange to capture in 13 ms interval or ?
It could be strange to capture in 13 ms interval or ?
I want to be able to change it between 1 5 10 or 50 ms intervals
Also for Tapping ?
record every tick no matter if they touch the screen or not ?
For tapping it can be stay as it is but if it easier so it can change as well...
you come again with 1 ms interval even that input can not refresh faster then 8 ms ?
I don't care any more.
I will do as you wish.
Tapping remains as is, xy gets recorded all the time.
means
5min / 1ms = 300'000 lines of nonesense.
my advice: go for 10, 20, 50 ms.
I will not respond to any crashes or similar when you run this at 1 ms.
my advice: go for 10, 20, 50 ms.
I will not respond to any crashes or similar when you run this at 1 ms.
OK Sound fair
so what is your decision ?
1, 5, 10, 50,
or
10, 20, 50 ?
I am ready to upload the patch ....
so what is your decision ?
I would preffer having all the above options if possible..
if not - 1, 5, 10, 50,
ok, all changes as requested
Amazing! Hopefully one last request if still accepted by you -
I would like to add two folders inside the sessions folder - Data and Audio:
Data for the txt files and Audio for the Audio Files..
Is this complicated to change?
no, but shall I add alerts if any of the folders are missing ?
here is updated patch - has tomorrow's date ....
Thanks!
For some reason i'm getting error message of Data and Audio folder Missing although I added them inside the Sessions folder
ha, ha, yes I have connected alerts to wrong place.
Time was so tight yesterday...
here is a fixed version, sorry for alerting you.
here is a fixed version, sorry for alerting you.
Is it possible to add tab to choose between mouse and sensor input?
This one has no mouse input.
Mouse input served only to check behaviour of distance stuff
ok I see.
Another question - is it possible to change the session name without closing the session itself(with out the need to press stop session button)?
as well to remove the start session button? so it is enough just to change the name?
No, Session controls everything.
Put name - start session - close session.
Done.
I will NOT change that myself.
P.S. you can use some unix tools to rename files,
like replace blabla to blibli in file names that match.
OK will do this if needed
It makes me wonder if you understand the whole proces at all ?
I mean you ask questions which make no sense.
(session name + date-time + test name) form storage path for files.
Once session and recording / storage started you want to rename session ?
It makes me wonder if you understand the whole proces at all ?
Yes I totally understand.
Is just an idea was up that the selection of patches and name entering will be done from a python script (which in my opinion is bad).
At the beginning an idea was suggested to make everything modular.
So user can edit and store sessions form(which patches to include and time of running for each patch) and will be able to load them when needed... (similar to what you showed in your message from: Dec 27, 2024, 11:57 AM)
That was one of many many options we went through this thread.
At one point I decided to make this work for you under last set conditions.
That is done so far.
I will not change anything more . because many thing depend on rules
to make sure tests run as they should.
If you now again change your mind, sorry it is not my problem.
That was one of many many options we went through this thread.
This probably go over my head and I missed it.
if you still have this example has a patch do you mind sharing it?
I will not change anything more . because many thing depend on rules
This is fair enough!
that test selector is only a little part of a complex structure one needs
to bring it to fully functional test runner.
Sure you can have it.
selected tests and lengths get stored into coll order.
then they can get recalled using goto x , next , or numbers to start tests.
How can I plot the new txt data file in python using Matlab library?
I try using chat-gpt for this without a success(of course).
Do you mind help me with that?
Sorry, this is max forum, not python and not matlab.
If you want to use matlab in python, first learn
how to do what you need in matlab,
then learn how to use matlab lib in python.
If you wart to use matlab in python, first learn
how to do what you need in matlab,
then learn how to use matlab lib in python.
Thank for those links!!