Voxglitch Community Feedback

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

If true, that’s pretty astounding. I’ve tried to make custom widgets that were not backed by params, but it’s a huge amount of work.

are there really no widgets behind them? Astounding!

Saving and loading is a bit of a pain, but the code turned out to be pretty simple! Here’s an example: voxglitch/src/DigitalProgrammer/DPSliderDisplay.hpp at master · clone45/voxglitch · GitHub It was probably easy because I probably did it wrong. ha ha ha. I mean, these would be impossible to control via MIDI CC. I only have so much time to invest, so I tend to cut a lot of corners.

1 Like

I could do that. (I may have to start a product board for tracking requests!)

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

I thought about this and I’m not sure if I need to implement it within the module since it seems fairly easy to do with external modules. Here’s a pretty good example setup which I got working:

(what I have here is a polyphonic slew limiter being fed into a split module to split up the 16 channels. I used this in a patch and it worked beautifully. It doesn’t have the steps that you’re looking for, but I imagine that some module may. I just grabbed something simple for illustration.)

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

I’m certain that I could do it if the … I call them “mini-maps”… show only the computed final value. Those guys would be animating their butts off if you were adding LFOs or VCOs, which might be a little visually overwhelming. I could make this an option in the right-click menu. It wouldn’t take any additional CPU to do that. I don’t see any reason why not!

Quick note as well: I do hope to eventually offer some different color themes for this and Digital Sequencer. However, it’s not super high on my priority list.

Thanks @trevormeier for your recommendations!

3 Likes

Does addressing this mean that the poly add input has been implemented (or fixed)?

1 Like

Yep. It was super easy to fix. When the module becomes available, I’m expecting it to have that fix in place, but I don’t know squiggly squat about the release process, so I can’t say for certain. I’ll go ahead and ping VCV Rack tonight to see if the module is in line for a release. :ramen:

2 Likes

Hi @clone45,

What a huge pre-release interest from the community! :grin:

Just a question about quantization. Do you consider using the same context menu SNAP option as in Digital Sequencer?

1 Like

I’m afraid to admit that I haven’t checked out your modules before now Bret. Just loaded up your “Digital Sequencer” - what an awesome powerhouse of an easy to use sequencer. Instant favorite. Now if it could record also… :stuck_out_tongue_winking_eye:

It was 3 days ago since you re-opened it. The guys are probably really busy but you might also want to gather your changes in bigger chunks, and they might be holding back a bit because you’re spamming them with changes :slight_smile: