SignalFunctionSet Release Announcements

SignalFunctionSet 2.19 is now live with a few new and updated modules. Here are the highlights:

WHEEL is a drone instrument inspired by the Hurdy Gurdy. It is definitely not a H-G simulator, but you can control the pitch of five strings to create and evolve some very nice drones. Scale offset, per-string gate and more are controllable by CV.

SIGMA is an additive voice inspired by the Crumar GDS. You create timbres by controlling between 16 and 64 partials. You can set the amplitude, pitch offset and exactly how the built-in envelope affects each partial. SIGMA also includes three built-in LFOs and a matrix mixer. There are tons of presets built in which help demonstrate the range of what is possible. Working on this one has made me feel that additive is the most slept-on form of synthesis right now.

TRACE is a looping CV generator that is meant to feel like working with paint. This is inspired by a workshop I’m putting together based on Daphne Oram’s Oramics synthesis system. She painted pitch, timbre and other attributes onto slides and film and used optical scanning to process the result. This creates an immediacy and fun that contrasts the more technical and precise world of other modules.

Trace works like a four track tape loop. Choose one of four brushes and use your mouse (or CV) to draw the shape on screen. ‘Ink’ controls the thickness of the line, and you can choose how much ink is added and removed with each pass through the playhead. Both Volt and Ink are available as inputs and outputs per channel.

You can get some fun effects by playing this speed, slew and spread. The loop length can bet set manually or synched via clock.

KIT is a pretty flexible drum voice that does a pretty good job simulating everything from a tom to a gong to a timpani and weaving between them via CV. A number of presets are included to help you get started.

OP MORPH is an expander for OPERATOR. This turns the OPERATOR voices into something like a morphing wavetable. You can control the algorithm in each of 16 cells and how the selected voice moves between them. This one was suggested by somebody on the Discord, but it ended up being a bit different on build.

A few more improvements:

  • METER now has better DAW sync support.
  • Custom scales from KEY now sync to NOTE, CHANCE, FUGUE, MUSE, LOOM, SLIDE and CHIME.
  • KEY now supports up to 64 scale degrees for Scala files.

One more note: TOUCH was released a bit prematurely. It is a left-hand expander for SLIDE that is still being worked on. Play with it if you wish, but it is not as good or helpful as planned just yet. (if you’re curious, I neglected to set the hidden flag when pushing the new release).

Read more details and full manuals for each at the website here.

16 Likes

I started playing with Kit immediately because of my interest in physical simulation. It is very cool! The variety of presets sound great and are helpful for getting started. I love the 3D graphical display of the membrane. It’s extra cool that you can click on different parts of the drum head to affect the timbre.

I have one UI recommendation: I find it hard to track whether a knob/port belongs to the text above it or below it, because of the spacing. It would be easier to perceive them as a unit if you would move the text label closer to the knob/port it belongs to.

I have another request: can you make a stereo mode? Maybe a right-click option that makes all 3 audio output ports be polyphonic with 2 channels: left(0) and right(1). Sample the drum head at two different locations, then send one signal to the left channel, the other to the right. This could provide an amazing stereo field with the kind of physics model you have. This approach is similar to how I create stereo in Elastika and Nucleus.

3 Likes

Thanks for the suggestions @cosinekitty ! I agree that the labels have drifted a bit, easy fix. I like the stereo suggestion as well, will play around with it a bit!

1 Like

I’ve shipped a new nightly build that has the fix for KIT. If you enter stereo mode you can drag the L/R ‘mics’ to refine the position. Combining that with x/y on the strike target creates some pretty cool results. Thanks again for the suggestion! Feel free to join the Discord here to get the nightly’s right away.

If you’re interested in Daphne Oram - you might want to get in touch with Tom Richards the artist who did a PhD at Goldsmiths - remaking and reinterpreting her devices and methods. He’s a very friendly cool guy. Daphne Oram's Mini-Oramics synth is built and played for the first time in 40 years | MusicRadar

2 Likes

Oh wow, amazing! I didn’t think you would implement that so quickly. I’m glad you like the results. It is cool that you can make a satisfying stereo signal with just about any physical simulation like this.

1 Like

Update: I just built SignalFunctionSet from source so I could try the stereo feature. It is great! I like being able to move the microphones around. It is fun to drum near one, then keep drumming closer and closer to the other on the surface, for the movement through acoustic space it creates.

1 Like

Thanks for the suggestion! I saw that video, which is great. I’m working on a software version that scans in paper drawings, which should scale pretty well to the workshop setting.

1 Like

SignalFunctionSet 2.21.0 is now live

This release includes several new modules and expanders as well a couple of improvements to existing modules.

FLOCK

A synthetic granular voice inspired by the hypnotic movement of bird flocks (particularly starlings) and thinking about each member as an individual grain. In the base mode, you control the number of grains and how they generate sounds. The base voice is a sine wave with macro control over variation, chirpiness, the speed at which a new note propagates and more. Startle sends a hawk through the birds scattering them away from its vector. Like that cartoon coyote, our hawk never seems to catch any birds. Read more.

FLOCK IN

This turns FLOCK into a sample based granular voice. Feed in any audio rate signal and grains from the buffer will be substituted for synthesized ones in default. There are a few controls. I imagine that some people would prefer this be the default grain generator, but I want to keep exploring synthetic. When I port the module to Metamodule, I’ll Frankenstein the two together. Read more.

SPOOL

Four track tape sampler. It is inspired by the Mellotron, but has a few neat tricks. Each track is set independently and is modulated with 1v/oct CV in and a gate. You can choose whether subsequent notes (polyphony is supported) are generated at the current playhead location or back at the beginning. Use this to gradually worth through a longer sample or create a delay-style effect. You can dynamically record into each track and the outputs are available per channel or at a summed stereo out. The module also includes saturation, wow and flutter for that vintage feel. Read more.

FIELD

Create lots of related modulation signals. FIELD has 19 voltage outs which sample their values from a series of simulated cells shown beneath the outs. There are a number of algorithms that you can choose from and each is controlled by the pots below the array. The way each jack relates to its neighbors changes with the different algorithms, which can do some interesting things. Wave is my favorite. Send a series of waves from right to left and they’ll hit the jacks in sequence. Suggestions for more algorithms are welcome! Read more.

KIT (Update) + POLYKIT IN

If you’ve played with KIT, you know it is a chonky boy. It felt too much so for a single voice, so I made it live up to its name with 7 more tabs. All of the jacks are now polyphonic and each voice is indexed.

KIT now defaults the eight voices to something like a traditional drum kit, but some are a bit of a stretch.

If you don’t like littering your patch with dozens of MERGE modules, you can use POLYKIT IN which exposes jacks for all parameters across all eight voices. It also now includes control of stereo mic positioning, shout out to @cosinekitty for suggesting and helping test that. Read more.

7 Likes

Played around with poly kit, great idea for the module!! Fun stuff.

1 Like

Your modules are really great! But there is CPU load in Kit, even when I use just a single monophonic voice.

1 Like

Thank you very much for making these and continuing to improve the line up. I enjoy using kit it sounds great but I have a small request to ask. Can you make the V/oct input to the instrument pitch follow rack standard and calibrate it to 0V = Notation (“middle C”, MIDI note 60, f0f0​ = 261.6256 Hz = dsp::FREQ_C4) it would be very helpful even if something we can activate by context menu. Cheers ! And please !

Thanks for flagging this, this became very apparent when I was building the Metamodule version. I’ll bring some of the efficiency patterns from there back to the VCV version for the next release.

1 Like

Thank you, glad you like it! I will look at this, and I think a context menu setting sounds right.

Thanks for your wonderful modules. Had fun jamming at Knobcon with 2 instances of Operator running on a 4ms MetaModule. All these new modules will keep me busy!

1 Like

Thanks @artola glad you’re enjoying them! I have a big batch of the more recent modules getting prepped for Metamodule in the next week or two.

1 Like

I spent some time with this and I’ve added an option that allows you to track each channel to C4 if you wish. The default non-standard tuning is due to pitch being derived from the size and tension attributes of each instrument, but offering standard tuning should help with pitch consistency across each voice. It’ll be live in the next full release, or feel free to join the Discord if you’d like to try an early release (will publish later tonight).

2 Likes

@egor.yashukov I’ve got a build with a lot of optimizations to performance here shipping soon. On my computer (M4 MacBook Air) it dropped CPU usage from 7% to 3% and I’m interested in what you will see. In this build I’ve also added proper support for hi hat simulation which is cpu expensive in the open position. I will publish a nightly build later this evening if you would like to test it out early.

PHASE is a beautiful module, lots of ways of using it!

Would it be possible to add individual volume controls for the output of each loop (A/B)? Especially when using two different samples, one sometimes overpowers the other. Or is it already there and I missed it?

Alternatively (or in addition), have a polyphonic output with the two loops on different channels, so they can be processed differently.

Just an idea.

Ok, I will test this. Thank you for responding!

Admittedly, I usually use a 96 kHz sample rate. But if the CPU load stays around 20%, that’s actually pretty good for my laptop.