BPM to set V-Master percentage

Ansicht von 11 Antwort-Themen
  • Autor
    Beiträge
    • #218317
      Jdprod
      Teilnehmer

      Hi Guys,

      I’m wondering if there is any way to have the Audio DSP control the percentage of a V-Master? What I need is for the measuered incoming BPM to set a versatile master but in an averaged fashion. i.e.: 60 BMP =50% but as the speed of the music increases then the V Master percentage increases i.e.:120BPM =90%.

      In this way I could use a V-master to effect FX speed based on the incoming music. I need the master to fade between BMP values so that any changes would be smooth.

      I was playing with Beat sense on the V-master but that doesn’t give me the results i’m after.

      Any Input is welcome.

      Cheers,
      JB

    • #223344
      bkruse
      Teilnehmer

      Hi,

      hmm, the option to add an (Audio DSP) FX Effekt to a Versatile Master probably doesn’t help here…
      Also there are no escript commands to read values from the Audio DSP engine.

      Just an idea: create a chaser cuelist (with no DMX content) and apply chaser auto speed from BPM.
      Write a macro that checks the time between cue switches, that should give you roughly the BPM value in escript. Then you can map this BPM to a V-Master value.

      Will probably have some delay until a changed BPM value “arrives” at the V-Master…

      No other idea from my side, sorry.

      best regards, Björn

    • #223356
      mhlighting
      Teilnehmer

      Hello Björn,

      I am looking for the same thing but I am having a hard time to find out how to write the macro. If its not too much work could you maybe just write it for us or at least give some hints which functions could be used, to get the BPMs from the running Cuelist?

      Thanks!
      Martin

    • #223357
      bkruse
      Teilnehmer

      Hi,

      I created a simple example show. Please take a look and see if it fits your need 😉
      The first number in the macro configures what a V-Master of 100% means (currently set to 180).
      So a bpm of 90 will lead to VMaster 50%, a bpm of 180 to VMaster 100%, etc.

      hope that helps,
      Björn

    • #223358
      mhlighting
      Teilnehmer

      Vielen Dank!

      Kannst Du mal den macro text posten, ich bin auf 5.3 und krieg die show nicht auf..
      .

    • #223359
      SaschaLindemann
      Teilnehmer

      Hi Martin,

      here´s Björns script in plain text:

      // getBpm script comment

      int vmMaxBpm = 180; // V-Master on 100% means a bpm of 180 (or change if necessary)

      if (undefined(_prev))
      int _prev=0;

      int now = GetSysClock();
      int bpm = now – _prev; // distance between two beats in milliseconds
      bpm = (60*1000) / bpm; // in minutes and inverted
      int vm = bpm * 4096 / vmMaxBpm;

      VersatileMasterSetValue(1, vm);

      printf(“_prev %d, now %d, bpm %d, vm %dn”, _prev, now, bpm, vm);

      // for next call
      _prev = now;

      Best,
      Sascha

    • #223360
      Jdprod
      Teilnehmer

      Thank you guys, This is really great stuff. I will test this in our lab next week.

      Cheers,
      JB

    • #223361
      mhlighting
      Teilnehmer

      Thank you for posting the plain text!

      As I didn’t have the whole show I expect the following: the macro gets called repeatedly by two cues in a chaser which are auto triggered by the Audio-DSP (Auto BPM), right?

      With this setup and a constant music loop which is recognized as 120bpm I get the following:

      08/28/13 11:36:03 : _prev 26509680, now 26528090, bpm 3, vm 68
      08/28/13 11:36:04 : _prev 26528090, now 26528400, bpm 193, vm 4391
      08/28/13 11:36:04 : _prev 26528400, now 26528910, bpm 117, vm 2662
      08/28/13 11:36:05 : _prev 26528910, now 26529390, bpm 125, vm 2844
      08/28/13 11:36:05 : _prev 26529390, now 26529900, bpm 117, vm 2662
      08/28/13 11:36:06 : _prev 26529900, now 26530410, bpm 117, vm 2662
      08/28/13 11:36:06 : _prev 26530410, now 26530920, bpm 117, vm 2662
      08/28/13 11:36:07 : _prev 26530920, now 26531370, bpm 133, vm 3026
      08/28/13 11:36:07 : _prev 26531370, now 26531880, bpm 117, vm 2662
      08/28/13 11:36:08 : _prev 26531880, now 26532390, bpm 117, vm 2662
      08/28/13 11:36:08 : _prev 26532390, now 26532930, bpm 111, vm 2525
      08/28/13 11:36:09 : _prev 26533390, now 26533900, bpm 117, vm 2662
      08/28/13 11:36:10 : _prev 26533900, now 26534410, bpm 117, vm 2662
      08/28/13 11:36:10 : _prev 26534410, now 26534910, bpm 120, vm 2730
      08/28/13 11:36:11 : _prev 26534910, now 26535370, bpm 130, vm 2958
      08/28/13 11:36:11 : _prev 26535370, now 26535910, bpm 111, vm 2525
      08/28/13 11:36:12 : _prev 26535910, now 26536420, bpm 117, vm 2662
      08/28/13 11:36:12 : _prev 26536420, now 26536930, bpm 117, vm 2662
      08/28/13 11:36:13 : _prev 26536930, now 26537380, bpm 133, vm 3026
      08/28/13 11:36:13 : _prev 26537380, now 26537890, bpm 117, vm 2662
      08/28/13 11:36:14 : _prev 26537890, now 26538400, bpm 117, vm 2662
      08/28/13 11:36:14 : _prev 26538400, now 26538910, bpm 117, vm 2662
      08/28/13 11:36:15 : _prev 26539390, now 26539900, bpm 117, vm 2662
      08/28/13 11:36:16 : _prev 26539900, now 26540410, bpm 117, vm 2662
      08/28/13 11:36:16 : _prev 26540410, now 26540920, bpm 117, vm 2662
      08/28/13 11:36:17 : _prev 26540920, now 26541370, bpm 133, vm 3026
      08/28/13 11:36:17 : _prev 26541370, now 26541880, bpm 117, vm 2662
      08/28/13 11:36:18 : _prev 26541880, now 26542390, bpm 117, vm 2662
      08/28/13 11:36:18 : _prev 26542390, now 26542900, bpm 117, vm 2662
      08/28/13 11:36:19 : _prev 26542900, now 26543360, bpm 130, vm 2958
      08/28/13 11:36:19 : _prev 26543360, now 26543890, bpm 113, vm 2571
      08/28/13 11:36:20 : _prev 26543890, now 26544200, bpm 193, vm 4391

      Any ideas about the jumps and how to smooth them out?

      Martin

    • #223362
      bkruse
      Teilnehmer

      I had only one cue in the cuelist (the QL loops), but correct.

      I’m not sure if the looping plays a role, you may try only one or more (like 10-20 cues).

      First/quick idea is to replace
      int vm = bpm * 4096 / vmMaxBpm;
      VersatileMasterSetValue(1, vm);

      by
      int vm = bpm * 100 / vmMaxBpm;
      VersatileMasterStartAutoFade(1, vm, 4000);

      This will make the VMaster fade in 4000 milliseconds to the target value (play with the 4000 value a bit).

      You can also store that last 10 (or so) bpm values and do some average calculation or some fancier interpolation to smooth it.

      regards,
      Bbjörn

    • #223363
      mhlighting
      Teilnehmer

      A great thing so far…

      Any idea about how to get the “valid beat” -value from the Audio DSP?

      The thing is: If the beat is not recognized correctly (which happens quite often) the bpm value is jumping a lot and connected circle speed and chasers freak out…

      The Audio DSP has these nice “beat valid” and “reliability” values but we can’t make any use of it or am I missing something?

      Martin

    • #223364
      SaschaLindemann
      Teilnehmer

      Dear Martin,

      no, unfortunately there is no chance to access the Audio DSP values from e:script.
      But maybe another solution fits your needs – did you try to multiply the V-Master with LiveFX values?
      You can assign individual Equalizer Bands to your V-Master (V-Master -> Properties -> Tab: FX create -> Fx Function: Equalizer Band x), maybe that works for you?

      See attached picture how it works…

      Best,
      Sascha

    • #223365
      mhlighting
      Teilnehmer

      Well finally I managed to get something together…

      But I don’t see why the values from the Audio DSP are not available. I just made a customer buy a Enterprise Dongle to have some stand-alone functionality with sound-to-light and now I have to spend days to write macros to compute values which are already computed by the program itself.

      If the Audio-DSP would make any use of the computed values it would maybe work without much extra effort but it seems that the values are just computed and displayed. The BPM-triggered cuelists are played no matter if the “reliability” of the Audio-DSP is high or low….

      This doesn’t make sense to me.

      Anyway thanks for all the help!

      M.

Ansicht von 11 Antwort-Themen
  • Du musst angemeldet sein, um auf dieses Thema antworten zu können.