MUFF WIGGLER Forum Index
 FAQ & Terms of UseFAQ & Terms Of Use   Wiggler RadioMW Radio   Muff Wiggler TwitterTwitter   Support the site @ PatreonPatreon 
 SearchSearch   RegisterSign up   Log inLog in 
WIGGLING 'LITE' IN GUEST MODE

trying to upgrade from 0.1 to 1.1
MUFF WIGGLER Forum Index -> nw2s  
Author trying to upgrade from 0.1 to 1.1
akrylik
So I've been out of the nw2s::b loop for awhile now and would like to jump back in and try the new JSON-based framework. However, I'm having some trouble getting things to work. This is what I've done:

1. On Mavericks, downloaded Bossa and used it to burn bSDFirmware-1.1.0-prealpha.bin to my nw2s::b.
2. Using a blank uSD card, created a directory called programs and in that directory created a text file called default.b with the following contents:

Code:
{
        "type" : "VariableClock",
        "minTempo" : 30,
        "maxTempo" : 240,
        "tempoInput" : 1,
        "beats" : 16           
},
{
        "name" : "basic",
        "type" : "TriggerSequencer",
        "division" : "quarter",
        "triggerOutput" : 1,
        "triggers" : [
 
            1,1,1,1,
            1,1,1,1,
            1,1,1,1,
            1,1,1,1
 
        ]
}


I'm hoping this will get me a simple voltage-controlled clock on digital output #1.

3. Placed the SD card back in the nw2s::b, pressed the reset button.

However, after the initial downward LED scan, there is just the beat #1 LED lit and nothing happens. No triggers on digital out #1 or any output.

What am I missing? help
scottwilson
Is that the entire contents of the file? The documentation is a bit abbreviated to get rid of the outer stuff that's repeated.

Also, if you have a serial cable or BT connection, you can watch the serial monitor and it'll spit out any error messages.

But... here's another similar sample with a few trigger sequences. Note that this is the entire JSON file... you need the outer braces, the program node, the clock node, and the devices node...

Put your variableclock data in the "clock" node, and then add your devices to the devices node...

Code:

{
   "program" :    
   {
      "name" :          "Trigger Sequence Demo 1",
         
      "clock" :
      {
         "type" : "FixedClock",
         "tempo" : 120,
         "beats" : 16         
      },
      "devices" : [
         
         {
            "name" : "snare",
            "type" : "TriggerSequencer",
            "division" : "sixteenth",
            "triggerOutput" : 1,
            "triggers" : [
               
               0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0
                                             
            ]
         },
         {
            "name" : "hihat",
            "type" : "TriggerSequencer",
            "division" : "sixteenth",
            "triggerOutput" : 2,
            "triggers" : [
               
               1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0
                                             
            ]
         },
         {
            "name" : "kick",
             "type" : "TriggerSequencer",
            "division" : "sixteenth",
            "triggerOutput" : 3,
            "triggers" : [
               
               1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
                                             
            ]
         },
         
         {
            "type" : "CVSequencer",
            "division" : "half",
            "analogOutput" : 2,
            "gateOutput" : 4,
            "gateLength" : 125,
            "min" : 0,
            "max" : 5000
         }      
      
      ]
   }
}
scottwilson
So here's what yours should look like:

Code:

{
   "program" :    
   {
      "name" :          "Akryliks 4 on the floor",
         
      "clock" :
      {
         "type" : "VariableClock",
         "minTempo" : 30,
         "maxTempo" : 240,
         "tempoInput" : 1,
         "beats" : 16           
      },
      "devices" : [
         
         {
            "name" : "basic",
            "type" : "TriggerSequencer",
            "division" : "quarter",
            "triggerOutput" : 1,
            "triggers" : [
 
               1,1,1,1,
               1,1,1,1,
               1,1,1,1,
               1,1,1,1
 
            ]
          }      
      ]
   }
}
scottwilson
As an aside... when you define the clock as 16 beats long, your sequences don't have to be the full 16 beats.

You can define a 15 beat sequence with a 16 beat clock and the sequencer will just wrap at 15 beats, so you can create some interesting complex variation that way.

It's the same with the CV sequencers and probabilistic sequencers as well.

s
akrylik
Thank you, Scott. That did it!

As a humorous aside, has anyone else been accidentally catapulting their uSD cards across the room? d'oh!
scottwilson
I haven't launched one yet, but I did let one rattle around behind the panels after missing the slot once. Yeah, wish those were a little easier to get in and out!

There's a bunch of samples on github if you're looking for more:

https://github.com/nw2s/b/tree/b-1.1.0-unstable/flash/programs/example s

s
akrylik
What is the maximum value that I can set VariableClock's maxTempo? My first trials, suggest that 240 is the maximum maxTempo.

Also, is it possible to have some simple LFO objects in the JSON framework? Either 1V/oct or tempo-locked.
scottwilson
The code limits the upper tempo to 500, which was somewhat arbitrary. Interesting that you're finding it seems to be 240.

I don't have any LFOs yet, actually - other than some of the clocked CV generators, but the code that I hadn't gotten to was millisecond-quantized continuous functions. I'll be adding some of that, probably starting with a wavetable LFO which would cover most of the required territory.

(I'd rather be writing code than doing taxes!)

s
MUFF WIGGLER Forum Index -> nw2s  
Page 1 of 1
Powered by phpBB © phpBB Group