groove~ / dictionary

derf07's icon
Good morning. I'm trying to use the groove~ object. I would like to use the "dictionary" message to momentarily change the reading speed and then return to the initial reading.
Obviously this is not how I wrote the "dictionary" code. Can you help me?

Thank you.

MIB's icon

What exactly are you trying to do? If you just need to change the "reading speed" you just need to change the number in your sig~ object. If you need something more complex, maybe you could explain more clearly what you are after?

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

derf07's icon
Hello. It's difficult to explain because I use an automatic translator. I read the groove~ object tutorial~. A "dictionary" message allows successive stretching effects when playing an audio file. From a moment on, reading is slower, then, after that, reading goes faster and so on. There is an example given in the tutorial, but it doesn't work.
I would therefore like to program for example: from 5 seconds, reading slows down, then at 9 seconds, reading accelerates for 10 seconds, then we find the initial reading time. I hope the translation is correct. The problem is: how to write the arguments of the "dictionary" message to achieve this result.
Sébastien Gay's icon

I would use [line] for this. Something like :

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

Or, even :

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

Source Audio's icon

he is asking about this :

which does not work at all, because line in that example is not valid in dict.

Sébastien Gay's icon

I was just proposing an alternative, for the sake of the discussion ;-). As often, not sure how admissible it is, though ...
Btw: how do you guys manage to reduce the screenshots' size ?

Source Audio's icon

screenshot size ?
honestly , I have no idea , I just take it and paste it.
How it gets displayed is out of my control.

derf07's icon
I thank the moderators for their help.
derf07's icon
I tried patching it. Apparently the tempo change is gradual (there are ramps). The problem is that I would like this: we start playing an audio file. At one point, the tempo changes, then suddenly the tempo returns to the same as at the beginning. Is it possible?
Sébastien Gay's icon

Do you get ramps using the dictionary method or the line~ one ? Could you send the patch you made ?

derf07's icon
I'm trying to use the dict object. My problem is that when the dictionary editor opens, I type a code which is refused. An error message appears: "syntax error in value for key".
Then I can't save the .json file


So when I click "loop 1, 0.", then "read" the tempo of the audio file being played does not change.

👽'tW∆s ∆lienz👽's icon

if you use 'desttime', it is just the number alone without quotes like this:

"desttime" : 1.0

if you use 'desttimebbu', it is the bars.beats.units within quotes like this:

"desttimebbu" : "1.1.0"

same thing with 'sourcetime' and 'sourcetimebbu'.

also, i tried 'pitchshift' and 'pitchshiftcent'... i'm not sure they work very well(?) :/
it may be we are limited to just the source and destination stretch/time values.

if you look closely at the error, it will tell you exactly where it went wrong, you can sometimes tell how to fix it just by looking in the general area:

this error says "line=10" and "char=23", and shows it went wrong at "1.2." (the second decimal point doesn't register as it believes it's looking for a regular floating-point number)


it's easier to go into the groove~ helpfile, under the 'complex warping' tab, and use the visual tool there to draw markers into a 'dict', then you can detach the 'dict' and edit from there in order to have a working version to start from:



...it seems too, you can use "start" (i think?), and it seems other math operations like "+" and "-" etc.
like this:
"sourcetime" : "start", "desttime" : "+800"

and even this:
"sourcetimebbu" : "1.2.240", "destimebbu" : "+0.2.0"

(^ just remember to put everything in quotes when using 'bbu' -> "")...but i didn't test thoroughly to see if some of these things are just accepted because of the quotes(" "), or if i can actually hear the change.
try these different ways, it will become apparent with use.

even though i'm not entirely sure of what's possible(cycling74 may not have added all the features fully yet: i don't hear 'pitchshift' or 'pitchshiftcent' working the way i would expect 🤷🏽), hopefully this can help you figure out by trial and error and ear 🙉🫣😅
🤗 🍻

derf07's icon
thank you the resident  alien.
I apparently solved the .json code problem. They are accepted when I save them.
On the other hand, no code causes a tempo change. Additionally, I have the impression that the buffer size has changed. It got shorter. While I haven't changed the buffer; odd.