Voxglitch Community Feedback

I think that the module is stable and working! For those who know how to build modules, you’re welcome to give it a test drive: GitHub - clone45/voxglitch at digital_programmer

I’ve been moving at a mile a minute, so I wouldn’t be surprised if there are some bugs. :bowing_man: I still need to render some dummy data for the user library preview.

I’ll try to get this published in the next few days. The output range for each slider is currently from 0 to 10. I may make this more flexible in the future unless there’s a poly voltage range converter that could do the job?

Enjoy!!

2 Likes

I just put them on menus. trying to steal keys from VCV is a losing battle (imao).

btw, I’m not crazy about the results, but my Seq++ uses ctrl-c and ctr-v for copy paste. Just tried it in VCV 2.x and is seems to work fine. Ended up with this on the clipboard:

{
  "vcvrack-sequence": {
    "notes": [
      {
        "type": "note",
        "start": 2.5,
        "pitch": 0.416666687,
        "length": 0.212500006
      }
    ],
    "length": 8.0
  }
}

@robert.kock would have done any 2.0 specific stuff to get that to work.

1 Like

No rush, Bret! Take your time. It doesn’t matter if use it “from this Friday to eternity” or “next Saturday to eternity”.

Although things look OK so far for me.

BTW I like this ‘copy selected’ solution.

I’d expect Ctrl-C to copy all 24 scenes that I can paste into another DigitalProgrammer module in my rack. (And then changing the range, or snap value of that module for having some variation in my patch.)

The Digital Programmer is boxed, labeled, and shipped. It should be arriving on your doorstep any day now. :gift:

9 Likes

Here’s a short video overview of the module:

7 Likes

Thank you so much Bret. Can’t wait to fire this up!

Looks really interesting Bret, looking forward to trying it out. Is it possible to right-click on each column and set a specific value?

The new module looks really intriguing!

I’m still working my way through your back catalogue, as you make some really interesting stuff. I’ve just fallen in love with Ghosts (great name for it by the way!) and I would really love to be able to play it as a voice… i was wondering if it would be possible to add a (preferably polyphonic) v/oct input? Just a thought - perhaps there’s already a way to do this which I haven’t thought of?

@Warth0g I’ve had that request a few times but just haven’t gotten around to it! I’ll try to shuffle in that feature, but it could be a little difficult. It’s difficult to wrap my head around how granular synthesis playback and pitch work together. Ha ha ha.

1 Like

That’s not possible at the moment. The sliders’ natural range is 0.0 to 1.0. Right before being output, they’re re-scaled to 0 to 10 volts. In the future, I might add different “rescale” options, but the natural range internally will always be 0.0 to 1.0.

This makes it particularly tricky to allow for exact measurements to be specified.

Let’s pretend that I have an output range of -10 to 10v selected. I’d have to take the entered value (say “7”), then (taking the selected range into account), map it to 0 to 1. Then, right before output, I’d have to map it back into the -10 to 10v range. If any of the mappings resolve to non-terminating numbers (.3333333…), things might get wonky. Any ideas?

In your module constructor when you call configParam(), you can set a displayBase, displayMultiplier, and displayOffset. These parameters affect the value that’s shown when a user hovers or right-clicks on your parameter and they also are applied inversely to the values that a user enters into the context menu.

So, say your parameter’s range to 0.0 to 1.0 and set displayMultiplier = 20 and displayOffset = -10. If the parameter’s internal value is 0.5, the user will right-click and see 0. If the user then inputs 5 and hits enter, the parameter’s internal value will be set to 0.75.

A catch here for you is that configParam() can’t be called outside the module’s constructor, so you can’t just call it again when the user changes the parameter’s output range. To get around this, you can either save the pointer to the ParamQuantity returned by configParam() so that you can later modify its settings, or you could also subclass ParamQuantity in order to override its methods like getDisplayValue(), setDisplayValue(), etc.

1 Like

That’s very interesting. I’ll have to dig into that. The other complexity is that my sliders are all custom widgets. They aren’t parameters. I’d have to learn how to override parameters (if that’s possible). I’m taking a little mental break from programming for a few days after a little coding marathon, but I’ll try and delve into this soon.

2 Likes

In response to a comment on my YouTube video, I’ve modified Digital Programmer to always render the bank patterns. I think that it’s a nice upgrade!

This update has been submitted to the user library. Hopefully it will be released soon.

11 Likes

Hello Bret is there any audio of what this module does to the sound of a vco, say Atelier Palette? It does look interesting. Much appreciated.

This module just produces control voltages. But it could be used to modulate the inputs of an Atelier Palette. I’ve gone ahead and made a demo for you. :grinning:

7 Likes

Awesome demo! Eager to try it out. Any idea when this thing will pop up in the library? I checked earlier and didn’t see an update for voxglitch.

1 Like

I’m wondering that myself. It feels like I submitted it weeks ago. Ha ha ha. If it’s not available by tomorrow, I’ll ping VCV support. Maybe it got dequeued with all of my updates somehow.

A few ideas for the digital programmer:

  1. It would be useful if there was a simple way to quantize the slider values. For example, a right-click menu option to set the quantize value (perhaps in number of steps). Then when entering values, it can be free-form or quantized (when holding a modifier key). It’d be a faster way to program various use-cases.

  2. This could be used as a MSEG if there was a smoothed/slew output, perhaps with a selectable number of steps?

  3. Could the 24-panel preview show what the programmed+additive values will output in real-time? This might be a lot of CPU but could be a useful way to visualize what’s happening