pachde Imagine - New "sound from image" module

Oh also other than your first item, the current one we use in surge BaconPlugs airwin etc does all your other points!

1 Like

Just to record the pattern for not building commits that are pure doc check-ins:

The key is paths-ignore in the on:

on:
  push:
    paths-ignore:
      - 'README*'
      - 'docs/**'
      - 'design/**'
      - 'dev-notes/**'

I use this pattern to segregate stuff that ends up in the distrbution zip from things that don’t, Builds only happen when you change something that effects the built package. Particularly good for doc maintenance, as you don’t get a lot of CI traffic in your github just for doc updates.

I take care to move stale assets like SVGs or fonts I don’t use anymore out of res but want to keep for later or for design reference. I like to keep my dist package neat and as small as necessary. Some modules ship assets they don’t use (anymore), probably because the stock makefile includes everything under res.

2 Likes

Update

Hooray! The pachde One plugin has been accepted to the library, to appear in the next library update.

When it arrives, you can check out a couple of simple demo patches on patchstorage, linked from the module and plugin docs. I’m eager to hear what you make of it!

5 Likes

Given the discussions on this thread, and that the plugin is being published, I’m thinking of moving this thread to Development, to avoid conflicts with a new thread here in Plugins and Modules for the released plugin.

What do you think?

It is customary for plugin developers post one thread per new module to Announcements. Once you post, you have to wait for moderation by an admin. This lets everyone know the post is legit. Also, many people subscribe to Announcements because they want to hear about all the new stuff coming out, so it’s the perfect place for this.

1 Like

Thanks for the tips! I was planning on posting to Announcements once I verify that my plugin has hit the library page (should be in the next couple of days).

1 Like

Imagine (and the 3 other modules) are officially in the library!

VCV Library - pachde One (vcvrack.com)

Read the announcment: pachde One, featuring Imagine

4 Likes

I’ve always found address sanitizer to be less painful than valgrind. You might try that. I run them both under Ubuntu in VMWare Player. Should be the same in WSL…

Interesting! I have used Valgrind before, but I had never heard of AddressSanitizer. I’m reading about it now, and very interested that it comes built-in as options to gcc and clang.

Valgrind does make code run really slow, but one of the things I like about it is how it very reliably detects and reports any access to uninitialized memory. Does AddressSanitizer do this also?

I’m not sure - I think it does? but you can run much faster – I’m sure it finds less, but it’s super good. At work I used to work on something with a lot of native XCode. In xcode it’s just one button to turn it on (for their make files). Same in windows now with Visual Studio. All my code I care about I can build in visual studio anyway, so that’s pretty cool.

There’s also an amazing thread sanitizer, which finds lots of subtle stuff. But not so much use in VCV.

I just found this that says AddressSanitizer does not detect accesses to uninitialized memory, but there is something else called MemorySanitizer that does.

Interesting…

I have just tried your pachde demo 1 and I’m loving how versatile it is and it’s only a relatively simple patch. Congratulations on making these modules and no glitches either!

1 Like

What platform are you on? I’m not able to test on a Mac, so I’d like to know if it’s working there.

I’m on Windows 10 and it is working wonderfully on that.

Thanks for the nice words on the demo patch. You can try swapping in different images, and it can be surprising the different results you get from a different image – certainly the evolution that happens as an image is scanned… The speed, slew, and g/t that work best depends very much on the image and what you’re driving with it. I’ve often found that the output voltage usually needs taming with quantization, attenuation, scaling, or slew. I haven’t run it through S&H yet, but that could be interesting as well.

So how would I got about putting one of my own images into the module? Do they have to be a particular format png etc?

Click the picture button to use the file browser, or simply drag the image file onto the image area.

Imagine's Image button

Supported formats are JPG, PNG and GIF (Imagine uses Rack’s image library for graphics file support, so it supports whatever rack supports).

Thanks for the good info, I am trying to think of what modules to torment using Imagine and some fractal images I have collected. Any ideas or will all sound modules be accessible with it? Much appreciated.

Imagine generates voltage you can use for any v/oct input, and gates and triggers for any gate or trigger input. You might scare the cat or enrage the neighbors with the noise, but just plug in, twiddle knobs, and see what you can get.

What I’ve found so far is that photographs generate pretty wild output. This can be tamed with the built-in speed, slew, and g/t thresholding, or by using other modules such as VCAs/slew limiters, quantizers, and S&H.

Another approach is smoothing and blurring the images in an image editor, and by reducing contrast (range). To iterate while modifying a source image, use Shift+Click on the picture button to reload the selected image from disk.