INTERACTIVE METRONOME TEST FOR AUTISTIC CHILDREN PATCHER

jason prosser's icon

Hi, I have this patch I put together for my final music technologies dissertation project. It is a metronome based test for autistic children to use. I have been trying to work out how to make it automate, so when you load up the presentation window it bangs the toggle and starts the test. then it is fully automated until the end of the test and stops.

I also have another conundrum ???

I want to use this background, yes as a fpic it works amazingly good but I now I wanted to make the zebra crossing what lines flash as the metronome sequence is this possible, I have tried so many things this evening and over the weekend but to no avail, the only thing I could think of was perspective crop the image then fpic over the white rectangles and then change the colour but how ???

I hope there are people to help me. and I hope you like the work I have done.

cross-roads-final-Fpic-.jpg
jpg
Source Audio's icon

1- You can use loadbang to start anything when patcher loads.
2 - I would paint several Pictures having Zebra stripes colored,
and then load them as sequence in fpic, following the counter.
But You have 7 white stripes in that picture, so what would be the count ?

Source Audio's icon

here are the stripes

Z-1.jpg
jpg
Z-2.jpg
jpg
Z-3.jpg
jpg
Z-4.jpg
jpg
Source Audio's icon

and the rest

Z-5.jpg
jpg
Z-6.jpg
jpg
Z-7.jpg
jpg
Roman Thilenius's icon

look into the other GUI objects, pictslider does what you want.

its helpfile show you how a picture document has to look like in order to play sequences of images.

jason prosser's icon

I um, was only going to use the fist two and last two white stripes as 4, and I have a metronome on a cycle so would I just replace the buttons with the f pic ??

I know about the load bang, I have but I want to run a sequence then stop then run the next stop run the next with time intervals.

Source Audio's icon

You need to ask precisely what You need, so then one can help You.
Otherwise one has to guess and just lose time.
fpic can load a pict for the 4 beats and display them as metronome
counts 1,2,3,4 .That's the idea
so just send message "pic pic1.jpg" for beat 1, "pic pic2.jpg" for beat 2
or whatever You want to call them.
If You want a sequence of metronome, just do it, is that so difficult ?
You can use delays, counter, coll with number of steps, timing etc...

jason prosser's icon

I mean when you do a test questionnaire online, you start on page one, you answer the question, in this case on my patch you run the test and press the spacebar keeping in time with the metronome. then after the set time the test then stops and then moves on to the next step as question 2 this in my case is the next timing and again you press the spacebar along with the metronome, and then again a third time and then the test stops. That's what I mean by automated a automated test.

jason prosser's icon

Here is my patch so you can look what I am doing !!!!

jason prosser's icon

Sorry, I am a beginner so can not work out how to save as a test file to upload the patch. but her is a screen shot on what I am doing

Source Audio's icon

Hi Jason, You can select all in the patch and then "copy compressed" in the edit menu.
You can paste that directly here in the message.

Source Audio's icon

Till I get the patch, just one thing - from the screenshot one sees that
You don't measure tapping related to metronome, but just the tap time.
So one does not know if the test person taps together with click,
or totaly off beat...
Doing timed sequences are also easy to do, just I can't get what
You really want.
How many beats should each test have ? Like 8 bars of 4/4 making 32 beats ?
Or You just let metro run for set time, like 5 seconds ?
And should sequence wait till test person starts taping, or makes so and so many taps,
before going to next tempo etc, etc, etc, etc

jason prosser's icon
Max Patch
Copy patch and select New From Clipboard in Max.

jason prosser's icon

you do by the traffic light it indicates if you're before on time and after time. it is routed through the select box and then it flashes, the patch is above so you can see how it works !!!

Source Audio's icon
Max Patch
Copy patch and select New From Clipboard in Max.

I just had a look in the patch.
Tapping is not related to metro progress, I could cheat it by tapping
same speed, but off beat, between the click.
It tells if you tap slower or faster than click, but not if you are tapping in sync.
I would do it differently, bound to what one hears.
Other thing is the sequence, using cycle to distribute bangs could be replaced by counter
so that You could specify how many beats per tempo change.
Do You want a break between the speed changes ?
Or maybe Auto OK when test person collects 4 sucessful taps ?
Anyway here is a bit changed patch that runs click 5 seconds, pauses for 1 and then continues.

jason prosser's icon

I looked at your patch and yes I get you, but it does work when you're on time to the click I tried to work it out with a bpm to tempo conversion chart, as the before and after works the same. it flashes green when on time red before yellow after, I get the way you have done it, I used the cycle to project the buttons as on my presentation mode you can see.

I like the way you have done the sequencing it is cool. Yes I would like it to start on say the 1000 mill seconds for a 80 seconds to rund that test sequence the wait 60 seconds maybe 30 depending on reaction time but 60 seconds would be fine then run the 500 milliseconds test then the last 375 section. then finish. this will be recorded as the tapping the spacebar recation time of the left then the right hand.

jason prosser's icon

SOUND AUDIO. I have progressed with your timing patch it works very well just very short? I know how it works but I have a problem now with the Fpic I have overlayed it but only used 4 of the zebra crossing tiles. this works fine but when you see the presentation mode it glitches! is there any way to make this stable and work in synchronisation smoothly without it stuttering or glitching.

the next dilemma is resetting the timing part after every tempo test as you will see even with the same timing the synchronisation stops after the first start and stop of the counter, I hope you can help me.

Max Patch
Copy patch and select New From Clipboard in Max.
jason prosser's icon

Sound Audio, I have updated, my presentation mode the Fpic is not running from picture to picture smoothly it glitches is there any way to avoid this. Also, I have worked out and added the counter timing part you designed and know how it works, and it works very well, but I need to reset the sequence after every test or time like you was saying about time I plan on running one sequence 30 - 60 seconds the stop rest the fpic then star again on the next tempo and then finally again for the last tap test then stop. I can work out the time and the gaps, but not how to re-set the fpic sequence to run consistently.

jason prosser's icon

I can not load up the patcher due to been a massive size. Is there a way to compress and then add so you can see as well as having the explanation. ????

jason prosser's icon

Hi, SOURCE AUDIO, I used your counter and timing and it works amazing now just got to work the timing out in between tests ! I managed to also get the tiles on the zebra crossing to work with fpic, but still after a few hours of getting the right dimentions of the picture it still is jumpping frame to frame any ideas how to make this a constant flow of fpic to fpic? as I have had enough for tonight, thank you all for the help !!!!

this is my updated code !

Max Patch
Copy patch and select New From Clipboard in Max.

Source Audio's icon

Hi Jason, sorry it took so long to reply, I am not allways online.
Unfortunately all I get from the patch above is a fpic object
with embedded picture inside.
---------
This is what You should do :
Make fpic object as big as the pics are, like 400x400 or whatever size they are.
DON'T autofit, autoscale or embedd, just send messages to fpic
to load pictures. Like pic P1.jpg, pic P2.jpg, pic P3.jpg etc
Take care about having picts in search path or provide absolute path
like pic "Mac Hd:/Users/Mac/Desktop/Metro/P1.jpg"
That simply works.
-------
Now if You have to embed pics into patcher, You should rather use pictctl.
Create one Picture containing all and use them as dial.
That would be the easiest way.
If You need further help, just ask.
Making pictctl version should be easy to do, if You have troubles with that,
just upload the pics and I will do it.

jason prosser's icon

Sorry about not been able to load the patch it seems to large to post, But I get what you mean so make then the screen size and then over lap ?

I also added an extra part to the sel box that times the test as I wanted to run one at 100 bpm. this will get them use to the tapping of the spacebar before the 3 test sections I forgot to add the black wire first of all but then figured out that was what was making it stop for the required time. I will try the other things you have said. It's just I am so close to finishing this patch for testing, Then I can start typing up my dissertation.

I really thank you for the help though sound audio.

Source Audio's icon

Hi Jason, don't worry, I also have problems uploading files here,
sometimes it works, sometimes not...
Here is example patch using both approaches,
fpic wit 4 load messages, and pictctl.
Have a look at Z.png to see how the picts have to be glued.

Source Audio's icon

..

JASON-PICT-METRO.zip
zip
jason prosser's icon

Yes I have seen but for the life of me can not work out the file path I have tried everything.

Source Audio's icon

If You put the Picts in the same folder as the patch it will load them
without absolute path, just pic P1.jpg etc.
If You want to build standalone app as final product, then that should also not be a problem.
One just places files next to mxf file.
Just let me know what exactly You want to do at the end...

jason prosser's icon
Max Patch
Copy patch and select New From Clipboard in Max.

jason prosser's icon

Hi sound audio , the patch is above it seems to have worked this time, I have tried everything the folder is here as well
uner this text .

Source Audio's icon

Hi Jason,
I have looked in.
You have done a mistake, prepending Pic instead of pic to load
pictures into fpic.
And I have difficulties reading Your patch, I mean in non presentation mode
I have to scroll arround like miles to see what is going on in there,
on my macbook pro 1440x900 pixels it just makes no sense.
---------
I don't understand really what You want to display in 4 fpic fields
following metronome, hiding, unhiding etc
I thought that You want 1 fpic which displays 4 pictures which have
zebra fields painted according to 4 beats.
It is all so simple, and Yor patch looks so complicated.
In fact You need 5 pictures - first one when metro is not running.
Then 4 which represent 4 beats.
Put this extracted Metro.maxpat and BLACK.jpg in same folder as the first patch
and pictures I sent You and have a look at Metro.maxpat

Source Audio's icon

.

Metropatch.zip
zip
jason prosser's icon

Hi, I am sorry for the pickkel of the patcher, I was trying to do the same thing but of course I am not as good as these things and been awake on other project now for a few good hours, I have go lost a bit, but now i know how to do what you said all I have to do with in that patch is change my names of my images to the same as yours and it should work, !!!

I am trying to make a patch that works as an interative metonome test, you follow the zeber crossing tiles and with the tempo you press the spacebar to keep the beat. this will then be recorded through the text and write cvs and into a excell document to then be put into graphs and data for my dissertation. I wanted to make the test into 4 sections, 600 milliseconds to start the test, this will get the user to tap the spacebar for 30 seconds and get the brain and recation time in sync for the test, I will make this a random selection from the next 3 , this been 375 millisecond, 500 milliseconds and 1000 miliseconds. each tempo sequence will run for 30 seconds and then the taps on the spacebar will be recorded for data analysis.

Yes it is still a work in progress and I apreciate the help and you must be mad as I am not really a computer wizz, but I really am so grateful.

jason prosser's icon

Yes, it works, I have figured out the why it is doing what it is doing it;s because the pictures as images are not the same size all of them are different or a little off on access so they seem like there not in sync. This is why they do not run smoothly. I had to use power point to change the colour of the Squares from white to red. so the snapshotting them from power point so this is where I have been going wrong.

The metro works better than hiding and works with the patch.

Thank you again, I will try and tidy up and then let you try the test? when it is finished.

Source Audio's icon

Hi again,

Max Patch
Copy patch and select New From Clipboard in Max.

here is a patch which let's You adjust the tollerance for tapping.
It is a bit easier than writing split values etc.
default 30 ms on both sides, so total 60 ms...
Maybe it would help You to tidy up the patch a bit

Source Audio's icon
Max Patch
Copy patch and select New From Clipboard in Max.

And to continue, here is another patch which measures how close the taps and the click are.
Playing a bit with Your patch I felt that just measuring tap time is not really a good option.
If You are early on one beat it displays the mistake, than another measurement would have to be longer
than the set time in order to produce satisfying result.
Trying to achieve that and listenning to the Click at the same time is quite challenging.
Another thing is that if You miss a beat next measurement is definitely wrong.
In this patch it does not matter, it just shows if You are in sync with the click.
One could set the detection tollerance a bit longer for slow tempos.
In order to work well one should keep vector size low so that Click output
does not get too much latency. 128/64 would be a good choice.
----------
Now it's up to You to decide what is better, but remember - You are dealing with autistic children.
If You decide to go that way, storing data for analysing would have be to a bit different,
also I would explain in detail what happens in the patch.
Store the patch in same folder as previous ones.

jason prosser's icon

Again thank you for the help, I do not understand the tolerance part? I am not testing autistic kids with this patch as I was not granted by the university to do this so I guess will have to settle with as many people that use the media centre at my university these are young adults and older generation tutors. All music technologies and media.

This is built for autistic children in mind, though, I would like this really to do what I wanted it to do measure if you were too early, on time or late at tapping the spacebar, I do not agree the spacebar is a good test and I would build something with an Arduino microcontroller. But I have not much time now to test and then write up my dissertation!

But I do like the concept of both of the new patches the second I would like you to explain how it would work with my patch I have but I also like the first new patch too.

Source Audio's icon

In both patches tolerance in ms means deviation from set timer.
So for example if metro is 500 ms and tolerance set to 30 ms,
measured tap 470 - 530 ms will be accepted as ok, 471 and lower as too fast, and 531 and more as too slow.
Means You can be 30 ms to early or too late but still pass as ok.
That is so in the first patch.
In the second one it is more complicated.
Metro runs counter which multiplies timer value.
So for 1, 2, 3 we get 500, 1000, 1500 ms and so on for 500 ms timer.
At the same time clocker with 1 ms resolution is running in parallel and each tap on space bar sends
clocker current value and compares it to where metro counter is.
So we get the info if tap came earlier or later than the metro-click,
and how much difference there is.
So the goal here is to measure if one taps in sync with metronome.
In the original patch that is not the case, only tap time is measured, but to no relation to metro - click.

jason prosser's icon

That is really really cool, I like the second patch. I will be using the text write and (cvs) to gather my numerical data! I now have to do a comparison as just tapping to the metronome is one thing, but I have to compare it to something else, like blind testing or A/B testing, this means, of course, you know what it means. I was thinking of having the 3 tempo millisecond timing as a random so when you start the test it then picks to run the test randomly always starting with a different tempo. the also just the click and just the picture as well. what do you think?

But I still want to use the patch I have designed as it has taken me a bit to work it all out and would not be my work, but I do like the concepts you have put forward I might try and incorporate the second one as I like how it works out the exact timing, I just need to be able to record this into an excel documentation.

Source Audio's icon

I came up with this patches simple as I found that original patch had mistakes.
Split points were set wrong, that's why auto calculation of tolerance is better,
You just put in new time and the rest goes automatically.
Now to the measurement, from my experience visual metro is never as
good as audio click. Specially with faster tempos, some people tend to inverse
light on / light off after a while.
In a test like this, one could try to get different infos about a test person.
Like how long he/she needs to adapt to new tempo, once tuned in
how long concentration remains etc etc
I don't really want to get too involved and make too many suggestions,
because it is Your concept, on the other hand You asked for it, and all this is
what I would do if I were in Your position.
For me the next question would be how do You want to collect data for storing
the results.

Anyway, whatever You decide and go for, if You need further assistance, just ask.

jason prosser's icon

I really appreciate, the help and it has opened up more thinking and how to plan the next phase. I am a music technology student well nearly finishing my BSc in music technologies. I am an avid DJ and producer well was before I started my second year and Arduino was shown to me and then designing other max patches too, we built a Chandni plate at the start of the fist semester from nothing but a driver and some aluminium pronounced the British way (lol) I built coded some ultrasonic senors to control the plate like a theremin.

I wanted to build a fully working potentiometer DJ mixer as they are going for thousands and of course I would like one for myself so it would be good to build, but my son was diagnosed with Aspergers before I came back here to start the year so I came up with this and I would like to go and do music therapist or occupational therapies with the use of music technologies.

I will deconstruct your patches and then rebuild so I completely know what is going on and try adding to my patch. Yes, I thought using the TEXT box and then message write into the top as then when you click on write you can save as a **** CSV file and it adds the data covered by the integer box that records the tap timing. It would be good I guess to record the miss timing and then divide them by the both by the original tempo to get an overall time or miss time. ? But I thank you again.

Source Audio's icon

Hi Jason,
I am away today, but as soon as I get back I will send You the patches with
all explanations, so that You don't need to spend time deconstructing them.

Source Audio's icon

Here is patch with some infos, and ideas for data storage.

Metro-Test2.maxpat.zip
zip
jason prosser's icon

Hi, sorry I have been working on an audio poster this is for a speaker design for another module I have 3 one live sound one max and one locational recording. My poster has to be in this wed so I am working today tomorrow on this. But I will be happy for you help me and teach me how it works. and I can accumulate the data needed.

I um put all files in one folder this has made the metronome not work, I think I can rectify this easily. I will get back after checking the latest patch you sent me later, I live by a socca stadium and there about to play English football it gets loud and off-putting so I will start after with my work again.

Jay !!!

Source Audio's icon

Hi Jason, I made a mistake and named one of the patches I sent You Metro.maxpat
That conflicts with the metro object, so please just rename Metro.maxpat
to whatever You want, than all would be ok again.

Sorry about that.

jason prosser's icon

Cool, I guess it was that from learning from your style of patching, I deconstruct it to learn too!

I will be back at it tomorrow just having time out tonight brain needs a rest so bit of Japanese anime some sleep and back to work.

Source Audio's icon

Hi Jason,

I hope that You are doing well with the deconstruction.
I have in the meantime created a new patch which has somewhat different structure.
As first it let's You write a script (coll document) which contains start times,
Clock Time, pauses and when the whole test ends.
That can have default embedded test stored with patcher, or read new test option too.
Text object collects Tap results of each Clock Time into EXCEL formated (Tab separated)
columns, which can be easily loaded into EXCEL.
You have to decide what gets stored, that might also depend on what You want to do with the data.
I mean getting some kind of report, graph, average test result etc
As all gets somewhat automated, one has to take care what gets stored into text and what not.
For that reason there is separate Warm Up button, which just runs 500 ms Click,
without collecting anything into text object.
Warm Up time can be done manually, but could also have fixed length.
---------------
I also thought that it makes no sense to test first 2 beats of new tempo,
because 2 beats are a bare minimum to recognise a new tempo.
Rather there should be a 2 beats count in before we test the person's reaction.
Do You agree to that ? If so, I will implement that in the new patcher.
At the test end, one should store the result, for that one could
enter test person's name, document could be stored into predefined
folder location.
--------------
As soon as You decide about count in, I will upload the new patch.

jason prosser's icon

Yes, I would like to have a warm up first before the test starts at around 80 bpm for 30 seconds, then stop the stop time should then be implemented to 30 seconds as well this will be all the way through the test.

So warm up, stop 30, the first test, stop 30, the second test, stop 30 third test.

The data stored I think should be how far out from the bpm you are so I can build a graph to show the discrepancy in the test. Meaning to see how far they are out or before the tempo time.

I also was trying to work out a way to A/B test or blind test, this will be one with picture and one without just the click and then one with both click and picture.

I did not want to get too technical really as the time it takes to deconstruct the patches I could be testing this as I have like 6 weeks until my deadline this is testing and then typing up 8500 words. So I really need to be testing by Friday this week or start Monday latest.

Source Audio's icon

Do You want all this to be automated ? I mean starting Warm Up, Pause 30 sec, start Test.
30 seconds seems quite long for a pause... But it's Your decision.
I have done 2 beats count in, than the Click and Picture Scroll starts.
As You want 3 kinds of test, I think best would be to implement that into Test Script.
At the moment it looks like simple coll document:
adress is time when something happens, followed by time / stop or end as value
for example :
0, 600;
10, stop;
15, 666;
30, end;
When Timer starts, Test with metro 500 starts and after 10 seconds stops
at 15 metro 666 starts
at 30 Test is ended
Now we could include a second value - kind of test
1 for Both Picture and Click
2 for just Click
3 for just Picture
------------------------------
New Script could look like this :
0, 600 1; = test 1 starts with metro 600 and both Pict and Click
10, stop; = needs no second value
15, 666 2; = test 2 starts with metro 666 with just Click
35, 750 3; = test 3 starts with metro 750 with just Picture scroll
48, end; = test ended
--------------------------
You can have the numbers in other order if You prefer so.
What do You think ?
You could then write different test scripts and load them as You wish.
Would it be important to store info about test in database ?
like if it was with both Click and Pict, which tempo etc ?
or You want just deviation ?

jason prosser's icon

Yes, I wanted it to be automated so in presentation mode all you see was the Fpic and tiles move with click test one, then just the click test 2 and then just the fpic test 3. I was thinking about 10 milliseconds for the stop times the in between tests so it gives you time to be ready for the next test.

I wanted the tempos to be randomised on loadbang. So every test starts randomly and then goes through the test sequence. I also need to get the results, as much as I tried I could not get my head around the way I worked out the tap timing was it left to right in the excel then you add the first two and divide by the 3rd cell?

But I really want it to be a bit more simplistic for me to understand. or could you explain a bit slower so I can take in?

Source Audio's icon

Now that time gets tight, I think it is most important to get things going.
I am willing to finish all this to Your needs, You can learn and deconstruct
later as much as You want.
Also I would be glad to explain everything as slow or detailed as You wish,
just before doing so, we need to have exact plan what is going to happen,
so that I know what to do.
As first I don't know how to understand 30 seconds pause in Your previous mail, and now 10 miliseconds ?
10 miliseconds is nothing.
I would suggest at least 2 - 3 seconds of pause between Tests,
than at least 2 audible Clicks in new tempo before test starts, does not matter if it is test
with Click or not. It would be even better to have 4 Clicks count in.
You can write pause durationin the Test script.
It is limited to 1 second steps, though.

When You say randomise tempo , how would You do it ?
What would be the range ?
And You are aware that random number from 300 - 1000,
could give You for example 400 and then 402, or ?
-----------
Now to EXCEL Format, You have to explain a bit better what You need.
There are different ways to enter values into text, and import later into excel.
Most important thing is what it should look like in excel.
Where do You want to have values ?
from cell A1 down towards 2A, 3A etc
or A1, B1,C1 D1 etc ?
Values are ranging depending on test Tempo.
So if metro time is 500 ms, it can range from -250 (maximum too early)
to 250 (maximum too late)
Do You want 1 column for each test Speed ? Or all tapped Values in one column
from beginning to the end ?
That would not make much sense, because deviation in percentage is different from test to test.
As You see there are many open questions, and that is difficult for me.
--------------
What I need is simple and definite statements.
Like :
warmup is 80 bpm ( i will calc the metro time) and lasts 30 seconds.
After 2 seconds pause Test starts automaticaly.
Test Modes ( Click + Pict, just Click or just Pict), Duration and Pauses in between are predefined in Test Script
but Tempo ( metro Time in ms) has to be randomised.
How ?
As soon as that gets cleared, I will finish the patch.
And don't worry, it will all be done on time.

jason prosser's icon

Yes agreed 5 seconds would be good between tests, And what I mean randomised I mean the tempo as we have 3 tests and one warm up?

the warm up needs to stay the same, then the other 3 tests would be good if they were randomised so everybody would get a different full test, this making it a blind test!

I also want to do it so there is one test with pic and click then the second just click and the 3rd just fpic, this with the moving tiles of course. I have already done the pictures in photoshop so they are exactly all the same.

The data are taken from this then I can say that the test subject was better with just the picture or just the click or with both, this will be then worked out in an excel document. Using the write and text boxes for the data analysis.

Finally, I can get graphs of how close they were to getting their timing to the original tempo, this will be put into my appendix of my dissertation.

I still want to use this as I have done most of and I know how this one is working.

Max Patch
Copy patch and select New From Clipboard in Max.

Source Audio's icon

Hi Jason,

I have to go away now, but will come back to post the patch I have now and have a look at Yours.

till then

Source Audio's icon

Hi Jason,

just had a look at Your last patch.
Well nothing really changed compared to previous one.
The thing is - You can't use that kind of tap detector, point.
The reason is simple - You are measuring time between 2 Taps.
If one just leaves out one tap, result is twice the length.
You can't use that to make any kind of data analysing.
I hope You understand that.
One option would be to run the tap result through modulo (%)
but even so You can't tell if tap came before or after the Click,
just the length of the Tap.
I will upload one patch now and I want You to test it.
It will run 30 seconds Warm Up with 750 ms metro time,
pause 2 seconds and then run Test.
each test has 4 audible Clicks as Count In .
To see the test sequence double click the coll (yellow)
At the end of sequence dialog will open to store the result.
At the moment, it is not clear what gets collected.
We have to discuss that.
I think that it would be very handy to have the Patch itself do the math.
It could count early Taps, OK Taps, and too late Taps,
calculate average deviation in both early and late directions
and store that info.
Think about it.
I have no time now to explain the patch, please just run it.
Everything else, like randomising test tempos, data storage etc
can be easily implemented.
But I will do no more till You decide if You want to use this or not.
-----------
If You prefer to go on with Your patch, I will help You with whatever
problem has to be solved, but I find it simply wrong...

Source Audio's icon
Max Patch
Copy patch and select New From Clipboard in Max.
jason prosser's icon

Hi, I understand now what you mean with this last patch, this is what I exactly wanted. I am unsure how it saves the data still, and then also the time in between the tests maybe a little longer but not much, and then also a dialogue box explaining the change of test , from click to click with picture, then to no click ect ect ! But I will use this deffo amazing really pleased.

Source Audio's icon

Hi Jason, if You want this kind of patch, let's go on and adjust everything to Your needs.
As first You can write Your own test parameters in coll. I will send You detailed explanation.
The only thing left to change is that instead of fixed time
one has to apply random tempo.
How much random do You want ?
It is not easy to just get some random time between 350 and 1000 ms,
because it could happen that tempos get too close, like 380 followed by 400.
So we could maybe use predefined tempo, but everytime test is run,
it could randomly increase or decrease time by some percentage.
What do You think about it ?
-------------------------------------
Now to data collected -
at the moment every Tap creates a string containing Metro Count number
and Tempo, followed by result, which is word early, ok or late, and offset to beat.
for example 3-500 ok -12 means on Count 3 in Tempo 500 ms Tap came 12 ms too early
but is ok as within tolerance.
That is nice looking Information because You can also see if test person left some beats out.
Text format is arranged so that each Tempo gets own column in EXCEL,
so in EXCEL it would look like :
1-500 ok 10 3-666 early -78
2-500 late 33 4-666 ok -10
3-500 early -56 5-666 late 87
there You could see that test person missed first 2 beats in test 2
BUT this format will be difficult to analyse.
One could simply create Column per Tempo and just put Tap result
Like :

T-500 T-666
10 22
-70 -10
44 17
36 44
12 -67

and so on.
But still how would You deal with that ?
Would it maybe be better to do some kind of report in patch itself ?
Like count of too early Taps, Ok Taps and too late Taps, then average offset etc ?

Source Audio's icon

here are details on setting up the test :

Coll-Test.png
png
jason prosser's icon

Cool, Thank you again really cool I can start testing next week, What I mean by the time or the break time in between the test phases, need to be a bit more than 5 seconds as I would need to explain what is happening to the test subject as it running through all the tests without explaining what to do is the last part to consider !!!

Source Audio's icon

Hi Jason,

You can programm the pauses as You want, now that You know how to do it.
Pause between Warm Up and test start is defined by delay object which is now
set to 2000 ms. You can see it in left lower corner.
{sel 41} is duration of Warm Up ( 41 x 750 ms = 30 seconds + start beat)
---------
I have few little things to optimise in the patch, like preventing
test person to Tap more than one time between Clicks and similar.
But before You start testing You must decide how to store test results.
I mean in what format, and what to store. Before that's done, testing makes no sense.
---------
I can build some kind of Test explanation into patch, and also display of test
running info, like "Warm up 30 sec", "Test-1 Click & Slide 400 ms" , "Test-2 Click 675 ms" etc
If You want one could display test time in BPM rather than ms ... like "Test-3 Slide 86 BPM 30 sec"
Well, all is possible if one knows what to do.
At the time THE MOST IMPORTANT is Test result data storage.
Did You read my suggestion about making a report in the Patch itself ?
Automatic count and analysis of early, ok and late Taps ?

jason prosser's icon

Yes, I have connected the CR from the spacebar so it collects the data into test format, I was thinking that every tempo/bpm is different so the click times will be different like 60 bpm say has 30 presses, so 120 is double so will have more this will make the data in conclusive, as they will not be pressing the spacebar the same amount of times for each tempo.

I need to label up the patch too so I can explain the parts I know some parts but others are um a bit over my head, as this is my final for my dissertation I need to express what it is doing and why, as well as the testing and then a presentation mode for the test. But I can do that part, I also can do the change of the time for the test as I know how to do this too.

And could you build test info into the patch as it would be amazing as it is running you know what is going on and also the BPM, as this is running 3 different BPMs as the patch I sent you, I know you said the data would be wrong and took me a little time to understand why and thank you I know so much more.

Thank you again. Jason

Source Audio's icon

Hi Jason,
I am almost finished with the new patch version.
It has some changes in there and also display of infos etc.
I will upload it in short time.
It looks rather complicated, because there are a lot of things inside which
take care that everything goes right.
But I will send You detailed info about everything.
Collecting data - I will Ignore it for the time being.
I want to finish this stage and leave the data storage for next step.
Maybe I will send You later one patch which does what I thought.

Source Audio's icon

Here is new Patch.
It has all needed stuff in, just the data storage has to be done.
New inside is :
option to let Tap produce a click, I think one can do much better
timing when tap on the space bar produces a click.
When Tap Click is switched On, Metro Click is panned Left, and
Tap Click Right, also they sound a bit different.
Test Info includes mode and BPM and is displayed next to start button.
Metro Time which is programmed in coll is run through randomiser
which is now set to apply 40% of either slower or faster tempo
to preprogrammed time.
That can be reduced if wanted to .
Above 4 Count in Beats are indicated.

Well go on and try it, we should just discuss data storage.
Also I included thispatch aproach, which locks the window to fixed size,
sets background colour etc.
You can unlock the patch with toggle in upper right corner.
That can be removed if You just want Presentation mode toggle.
Well it was a bit challenging, but I am quit happy with the result.
Please let's try to arrange something for data storage,
than I would try to go in detail about all that is in the patch.

Metro-Test5.maxpat.zip
zip
jason prosser's icon

Another thought on the data, we could have it as..... So a single test duration last 30 seconds. There are 3 test sequences for 1 tempo so there are 9 tests all in 10 with the warm up. So need to work out how to record the data in tap times and how close to the set tempo the tap is.

As I can then with the data work out how far over the time is and also how much time before the test participant is too as the data will be entered within the Excell doc for me then to average out

Tempo 1, click test time 30 seconds, click test time 30 with pic, no pic test time 30.

stop.

Tempo 2 the same.

Stop.

Tempo 3 the same.

I hope this is a bit better and explains it more ???

Source Audio's icon

Hi Jason, that is different than what You told me before.
I thougth just 3 tests, each having own Tempo and Mode.
Now there are 9, which is no problem, just I need to find a way
to arrange coll data entry for that.
The problem is Randomising Stored metro Time.
If You want to keep same tempo for 3 tests, I can't let every stored step in coll randomly change the tempo.
So we need just to change mode, but also restart the counter or ?
You see it is all a bit complex and I don't really like to change the concept every few hours,
that simply makes me troubles, because I have to start from the beginning.
So please be more precise in the future.

Let me explain what I wanted with data storage.
There is no need to use excel to do that.
Max can do it all for You.
We can count how many Taps were on time, how many to early and how many too late.
Also immediately calculate the average (and the median if needed) of both deviations.
If that is cleverly stored in Text, one can later scan ALL STORED Text files and create
report about all using Unix commands.

Source Audio's icon

So again the question I need answered now is if You want to
restart the counter for 3 modes within 1 Test.
I mean when Test starts there is a counter which counts beats.
Till now this counter restarts from zero when Tempo changes.
In new situation where 1 Test has same Tempo but 3 modes, do we count through
or restart the counter ?
And do You want later separation of data between modes in one Test ?
So that one can tell if Test Part in mode 2 (Click only) is easier to Tap
along then one with just Picture Scroll ?

That would mean 9 reports per Test Person, so arranged that it can be
retrieved easily later.

jason prosser's icon

Sorry, you are right there are 3 tempos, 60 80 120 bpm, the thing that changes are the picture with a click, no picture, and just click.

SO for test one, 60 bpm test one just click, stop, test two click and picture, stop, test three just picture! stop

10 seconds

test two, 80 bpm test one just click, stop, test two click and picture, stop, test three just picture! stop

10 seconds

test three, 120 bpm test one just click, stop, test two click and picture, stop, test three just picture! stop.

Sorry, I thin this explains it better?

But before this test phase starts there should be a warm up of saying bpm to get the brain working with the finger tap. this should be 30 seconds.

So It is ok the way it is real, just need to have more time gaps between the tests, and then work out what I am testing as unsure now as been round and round today?

I think testing the how accurate the person is with picture without picture and just the click??? but tired been up a long time on other work.

Source Audio's icon

That is much more clear, thanks.
But You still want Randomizing of the Tempo do You ?
I can make it so that the initial tempo for each of 3 tests gets tempo random and than keeps it for 3 modes.
Do You really need stop between 3 modes in one Test ?
if so how long ? I find it a bit strange because prior to Test-1 one gets 4 beats Count In.
then if metro stops for 3 seconds, one has to catch first beat of Test-1B and Test-1C blind.
That is bad.
I would keep all 3 variations of 1 Test going without stop, just reseting the counter on each variation , so that one can average it later.
like Count In 4 beats / Test-1A 60 BPM Click Only / Test-1B 60 BPM Click & Pict / Test-1C 60 BPM Pict Only
then stop for 10 seconds
Count In 4 beats / Test-2A 80 BPM Click Only / Test-2B 80 BPM Click & Pict / Test-2C 80 BPM Pict Only
stop 10 seconds
Count In 4 beats / Test-3A 120 BPM Click Only / Test-3B 120 BPM Click & Pict / Test-3C 120 BPM Pict Only
Test END and storing result in Test File.

I have another question :
would it be better to have number of beats per Test/Tempo rather than time length ?
That would make Tests have different length, because of different tempo, but would be better for
making reports.
Another thing is "Count In 4 Beats" which at the moment steals time from each test.
That has to be changed.

jason prosser's icon

I agree on the testing.

Just do what you think would be best, But I need this all commented so I can show how it works what does what and why it does it, or close to what and why.

Yes, the bpm sound a good way to go as well. I just am a bit head dead at present as been researching psychoacoustics and interactive metronome dissertation papers for my own paper.

I have now until Tuesday to get this test operational and learn it inside out, also how it will collect the data so I can work out if one is better than the other by tapping.

I was talking to my supervisor and he said about if the bpm is 60 and then one is 120 then the time of taps doubles so how will that be a good test if they are not in sync if the time of the test is 30 seconds ?

Source Audio's icon

I will try my best to make it on time.
Regarding test over 30 seconds, maybe it would be better to run test over amount of beats
instead of set time.
for example 60 beats does not matter which tempo.
in tempo 60 that makes 60 seconds, tempo 80 45 seconds, tempo 120 30 seconds.
I can do whatever You prefer, just tell me on time, because that changes a lot of things in the patcher.

And again do you still want Random Tempo or not, simple yes or no, please.

Source Audio's icon

Hi Jason,

I would prefer to continue this as private messages.
You can mail me at audiosource@mail.com
I have done some changes to the whole concept, and there are also other
reasons to continue privatly