Kara-Moon Forum
March 28, 2024, 05:06:10 PM *
Welcome, Guest. Please login or register.

Login with username, password and session length
News: You can go back to the main site here: Kara-Moon site
 
   Home   Help Search Login Register  
Pages: [1]
  Print  
Author Topic: Randomizing  (Read 4032 times)
sciurius
Sr. Member
****
Posts: 443



« on: January 22, 2019, 08:48:10 AM »

Some thoughts...

RDuration 10 means a random, max 10% change in the duration. As always, MMA uses percentages.

However, according to the docs, RTime 10 means a random change of max 10 ticks. Really? Or should this have been percentage as well?

With RDuration and RTime (and Articulation set to 100 (percent?)), is it possible that notes will overlap?

Have you considered RTempo to make small changes to the tempo, as normal musicians do?
Logged
bvdp
Kara-Moon Master
****
Posts: 1436


WWW
« Reply #1 on: January 22, 2019, 04:10:44 PM »

Some thoughts...

RDuration 10 means a random, max 10% change in the duration. As always, MMA uses percentages.

However, according to the docs, RTime 10 means a random change of max 10 ticks. Really? Or should this have been percentage as well?

Using a % here makes little sense to me. A % of what would be the question. At this point MMA has no idea of the note duration, just a start and end point in tick offsets.

Quote
With RDuration and RTime (and Articulation set to 100 (percent?)), is it possible that notes will overlap?

Absolutely. Proceed with caution.

Have you considered RTempo to make small changes to the tempo, as normal musicians do?
[/quote]

Actually had it running in an early test. IIRC, it reminded me too much of a grade school band Smiley

Where would the variance be applied? On each bar, note, or? Tempo is a value inserted in the META track and used by the player. The individual tracks don't have a concept of Tempo. So, it's possible to insert a bunch of timing values that the player can follow, and that's what things like "Tempo +20 4" (increase tempo by 20 BPM over 4 bars) does ... again, IIRC this command inserts a new tempo value on every beat.
Logged

My online life: http://www.mellowood.ca
sciurius
Sr. Member
****
Posts: 443



« Reply #2 on: January 22, 2019, 10:26:07 PM »

Actually had it running in an early test. IIRC, it reminded me too much of a grade school band Smiley

This may depend on how much and where the variance is applied.

Quote
Where would the variance be applied? On each bar, note, or?

I was thinking of what happens during a normal performance of normal musicians. Given a tempo of 100, in practice it will vary between say 98 and 102. So after 4-5 measures 100->99, another 6 bars 99->98, after some 5 bars back to 99 and so on. I was wondering whether that would be perceived as 'natural' (or 'human'). Or as a 'dweilorkest' Smiley .
Logged
bvdp
Kara-Moon Master
****
Posts: 1436


WWW
« Reply #3 on: January 22, 2019, 11:58:36 PM »

Might be an interesting project for a plugin? Or, if wanted for every bar one could set up an AFTER rule to trigger on each bar and have it adjust the tempo?
Logged

My online life: http://www.mellowood.ca
folderol
Kara-Moon Master
****
Posts: 5296

Who? Me?


WWW
« Reply #4 on: January 23, 2019, 03:04:57 PM »

Definitely 'here be dragons' country!
What exactly are you trying to emulate. My experience is that there are two types of timing 'wiggle' in real playing.
The first is note-by-note and depending on the musical style can be anything up to +- 50mS.
The other is a slow longtime drift and per bar might only be a few microseconds so that even an eventual change of (say) 60BPM to 70BPM is barely noticed by most people,.

However, someone very sensitive to timing (like a good drummer) would be highly irritated by whole BPM steps.
Logged

If you have a poem, I have a tune, and we exchange these, we can both have a poem, a tune, and a song.
- Will
bvdp
Kara-Moon Master
****
Posts: 1436


WWW
« Reply #5 on: January 23, 2019, 04:32:59 PM »

Using the builtin accelerando/dec it's not on the beat. From the fine manual:

  Tempo +20 5.5
      tells MMA to increase the tempo by 20 beats per minute and to step the
      increase over the next five and a half bars. Assuming a start tempo of 100
      and 4 beats/bar, the meta track will have a tempo settings of 101, 102,
      103 ... 120. This will occur over 22 beats (5.5 bars * 4 beats) of music.

So, the changes are not falling on the beat, but wherever the number of ticks from here to there divided by the number of changes needed falls.

I've never met a drummer who can sense 1 bpm differences, let alone micro-changes Smiley I'm sure they exist, just not in my circles!

Logged

My online life: http://www.mellowood.ca
bvdp
Kara-Moon Master
****
Posts: 1436


WWW
« Reply #6 on: January 26, 2019, 05:44:37 PM »

If someone wants to play with some randomizing, I've made a modification to the parser so that you can do this.

1. In the module safe_eval.py insert line 27:
     from random import randint

2. In safe_eval.py extend 35 so that it reads:
     'int', 'in', '.join', 'str', '.split', 'for', 'randint' ]

We have now enabled a new command Smiley It will be in the next release.

To use it you can do things like:

   Tempo $( 100 + randint(-2,2) )

This could be wrapped in an AFTER command to get random tempo stuff, etc. Please let me know if it's useful.
Logged

My online life: http://www.mellowood.ca
sciurius
Sr. Member
****
Posts: 443



« Reply #7 on: January 27, 2019, 08:34:13 PM »

Cute... I'll have a play with it. Thanks.
Logged
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Valid XHTML 1.0! Valid CSS!
Page created in 0.049 seconds with 19 queries.