Coder Social home page Coder Social logo

rack-modules's Introduction

StudioSixPlusOne

Release v2.1

A collection of modules for VCV Rack, a cross platform opensource, modular synth emulator software.

Modules are polyphonic where applicable. Early releases and beta modules can be found here on github, before being submitted to the VCV library.

Building from code

Instructions can be found in the VCV manual https://vcvrack.com/manual/Building#building-rack-plugins

Modules

Wallenda

Maccomo

Amburg

Massarti

Tyrant

TE Tyrant expander

Lala

Eva

Zazel

Iverson

Zilah

Hula

Bascom

Bascom Expander

Mix

Bose

Duffy

Farini

LalaStereo

Thru

PatchNotes

Next

Wallenda

A delay plugin designed for use when using Karplus–Strong string synthesis featuring:

  • Delay time tuned to pitch, via the V/oct input and the two tune knobs, Octave selector and fine tune in semitones
  • Feedback control, focusing on the area required for the string delay
  • Seven voice unison per polyphonic channel
  • Stretch, the nature of strings gives a natural decay, this controls the length
  • Polyphonic, the number of channels is defined by the audio input

The main audio input should be triggered with noise, the color and duration of this has a large impact on the resulting sound. Try experimenting with short bursts, such as snare sounds, longer noise sounds with automated frequency can be used to emulate a bowed sound. All variations of sound input can be used to create sounds.

Omri's YouTube Tutorial

Maccomo

An emulation of a ladder filter, based on the descriptions and block diagrams in Will Pirkles book "Designing Software Synthesizers Plugins in C++" featuring:

  • Six modes, selectable via CV and the knob, allowing for automatiom between lp12, lp24, hp12, hp24, bp12 and bp24
  • Frequency controls are summed, for accurate pitch tracking set the knob to C4 261Hz and use the V/oct input
  • Resonance that allows for self oscillation
  • Drive to add colour and dirt to the sound, works well when self oscillating
  • Polyphonic, the number of channels is defined by the audio input or the V/oct input for use as an oscillator

If the audio input is disconnected, the filter will still run in monophonic mode or with the channel count of the V/oct input, allowing for self oscillation and use as a VCO.



Amburg

Maccomo with some bite. The resonance response has been greatly improved, and the drive control now really does drive.

Massarti

A feedforward comb filter with added feedback loop, can be used to create pitched sounds from noise, or for the adding of overtones

  • Frequency controls are summed, for accurate pitch tracking
  • Comb control adjusts the magnitude of the harmonic bands, positive values boost, negative values cut
  • Feedback adds warmth, and reverb like effect
  • Polyphonic, the number of channels is defined by the audio input


Tyrant

A monophonic in, polyphonic out shift register, with many probability options.

  • Variable number of polyphonic channels for 1 - 16
  • Trigger Probability controls the chance of triggers being skipped
  • Shuffle Probability controls the values in the buffer being reordered
  • Three accent controls
  • Accent A & B apply a fixed offset, Accent RNG applies a random offset with the maximum value defined by the offset controls
  • If any of the probability CV's have no input or a monophonic input all channels are affected simultaneously, If the probability cv inputs have polyphonic inputs the channels are effected independently
  • The Reset input sets the current channel count to 1 and samples the input, the channel count is increased on each trigger input, until the desired channel count is reached



Omri's YouTube Tutorial

Te

Tyrant Expander

An expansion module when placed to the right of Tyrant, provides trigger outputs for the probability actions provided by tyrant.

  • all outputs polyphonic
  • pairs well with polyphonic envelope generator
  • must be placed to the right and touching Tyrant


Lala

A cascadable two way crossover, used for splitting audio frequency bands, for multiband processing

  • Polyphonic
  • Frequency controls the band ranges
  • Summed output has a flat frequency response
  • Can be cascaded for any number of bands
  • Demo project for ideas Demo patch


Zazel

A performance-based controller, designed to be connected to MIDI triggers, to allow smooth fades using easing functions between parameters on other modules, pairs well with VCV MIDI-Gate.

  • Parameter select widget, display the module and parameter currently controlled, left-click then click on the desired parameter to assign and adjust to set the end parameter, right-click to unassign
  • Curve display. Shows the currently selected easing, and form depending on one-shot or cycle mode
  • Easing shape, the full selection of Robert Penner's Easing Functions
  • Start value, sets one extreme of the parameter value
  • End value, sets the other extreme of the parameter value
  • Duration, the time taken to automate the parameter from the start to the end value. see Clock below
  • Cycle - Oneshot, when in cycle mode the selected parameter is always translating from start to end value and back. when in Oneshot mode, a positive trigger at the "start" input automates the selected parameter from the start to end value, a negative-going trigger will reverse the automation
  • Sync, the clock signal provides the time multiplier used by the duration control, if no input is provided the duration is multiplied by 1 second, this range can be adjusted in the context menu.
  • Triggger, this is the trigger input used in one-shot mode
  • Pause, this is a pause control
  • Out CV output reflecting the controlled parameter
  • Sync, Trig and Pause inputs, have a small grey tab below the input that can be used as buttons when connecting to MIDI-CAT
  • retrigger mode selectable in context menu

Eva

A slimline mixer for audio and cv.

  • All inputs and outputs polyphonic
  • CV controllable attenuverter

Iverson

A performance based trigger sequencer with integrated support for MIDI grid controllers.

Iverson comes in two versions: a 16 step and an 8 step (Iverson Jr).

  • Eight individual tracks.
  • Four pages per sequencer, giving a maximum of 64 steps for Iverson and 32 steps for Iverson Jr
  • All controls are internally MIDI mappable, with factory presets in the right click menu for various controllers. User defined mappings can be set by clicking the MIDI learn button on the UI, then triggering the MIDI controller, followed by selecting the required UI element. The context menu provides options to clear single and all MIDI mappings alongside changing the ordering of midi learn mode. If you define a MIDI map for a controller not provided in the factory presets you may, if you desire, submit the module preset for inclusion in a future Iverson release.
  • Independent track lengths allowing for polyrhythms. Each length can be set by clicking the length button on the left of the UI and selecting the last step to be played on the sequencing grid.
  • Per track active/mute controls.
  • Each track has two outputs: Main and Alt. Main follows the programmed pattern. Alt output is for steps that are not triggered by the pattern, this can be used for ghost hits, open closed hat patterns, and alternating voice triggers of a pattern when used in combination with envelope generators and VCA's. Both tracks can be controlled with the probability controls.
  • Probability controls
    • The main probability control is used for the programmed steps. With a value of one, the main output mirrors the programmed grid. With a value less than one this is the chance that the programmed step will be played. For values greater than 1, there is a chance that non programmed steps will be played on the main output.
    • The Alt probability controls the chance that non programmed steps will be played on the Alt output.
    • These can be used in combination to perform fills.
    • The context menu provides options for adding a zero deadzone to the probability controls. This is useful when used in combination with a MIDI controller removing the requirement for exact zero placements when requiring only the programmed steps to be played.
  • The clock input is passed to the outputs on triggers steps, this allows variable width clock pulses to be used.
  • The reset input can be used to sync all tracks to restart.
  • The lower region of the UI contains MIDI assignment controls. Both the input and output must be assigned. Iverson allows for the use of two controllers for the sixteen steps, while Iverson Jr only allows a single grid controller.
  • Euclidean beats. Length can set selected via the normal length control, the number of sets can be selected by selecting the Euclidean control, and the step number on the required track
  • The factory presets for APC Mini
    • Iverson JR
      • Maps the sequencer grid.
      • The lower buttons map the page selection, loop length reset and rotate.
      • The shift key is used to set Euclidean patterns.
      • The faders are assigned to the main probability controls.
    • Iverson
      • When used with dual controllers, same as above.
      • Additional sliders are assigned to the Alt probability controls.
  • The factory presents for Launchpad Mk3
    • Grid Only
  • The factory presents for the Launchpad Mk2
    • Iverson Jr - kindly provided by TroubledMind
      • Grid
      • Top left, page buttons
      • Right, track active buttons
  • The factory presets for the Akai apc key 25
    • Iverson Jr - kindly provided by hexdump
      • 5 rows of matrix buttons are mapped to the first 5 rows in iverson
      • The 5 buttons on the right to the matrix are mapped to the first 5 active buttons
      • The four arrow buttons below the matrix are mapped to the four page buttons
      • volume is mapped to length
      • pan to reset
      • the first five rotary controllers are mapped to the main probability of the first 5 rows

Zilah

A MIDI 1.0 14 bit CC controller. The MIDI 1.0 standard defines cc 0 - 31 can be used in conjunction with cc 32 - 63 to form 14 bit pairs. This gives greater resolution than the default 128 steps. Options are given in the context menu as to how the pair of CC values are processed, MSB wait for LSB is my personal favorite, but the MIDI 1.0 option is compliant with the specification.
The smoothing filter can be adjusted, and both unipolar and bipolar outputs.

Hula

A small form fm oscillator that can be used both as a VCO and LFO, each instance has it's own small detune applied and it's own custom noise floor, hence the lack of a fine tune control. The context menu gives options to use as a vco or lfo, trade polyphony for unison, adjustable oversample rate, scale and offset, and a selection of speeds.

It starts emitting a sine wave, turing up the feedback will increase the harmonics. The fm input can be supplied an audio signal, with controllable depth. There are many guides on the web that will explain the principals of FM synthesis much better than I ever could.

Bascom

A performance filter, with analog sampled Non linear distortions at every stage.

Having spent the last 18 months building a DIY modular, I wanted to bring some of the analog world to my modules. One of the big differences I noticed was the additional character caused by the inaccuracies. In the physical world all cores of a filter may have slightly different tunings and gaines, caused by component tolerance and age. Good musical filters are known for adding colour, Bascom bases this colour on the sampling of various analog circuits.

To keep the UI simple, Bascom has limited controls, with a library of presets covering various modes and colourings. If you wish to dig deeper and design your own filter model, then Bascom Expander

A note on stereo, only the left input is polyphonic, with the right input copied to the second channel

BascomExpander

Bascom Expander must be placed to the right of a Bascom module, and gives you the tools to design your own filter mode and colouring. While designing this module I have prepared # a document explaining how Bascom works as a filter, and the various controls. At the end of the link is a list of additional material that explain ladder filters in depth.

Ladder Filter Design

Mix

A simple 5 channel mixer build after my own diy module. The context menu has options for various flavours of non linear distortion. The mixer is ac coupled and is suitable for use with both audio and cv data.

Bose

Bose is a randon voltage generator, based on a couple of sample and hold diy modules I made. One was an analogue sample and hold, that had a droop. I didnt like the droop so I made one with with a microcontroller, no droop, more outputs and just noise as the sample source. Thing was I missed droop.

A single polyphonic trigger input generates and holds five random voltages, these can be uni or bi polar and with or without droop. Each output has it's own attenuverter.

Duffy

A Utility module that was designed to sequentially add fifths to an incoming voct signal, with keeping in the original register. The design allows for the selectioon of jump size, 7 semitones is suggested as a starting value. The transposes require triggers to the up or down inputs.

Farini

A fully featured voltage controlled envelope generator, with stereo vca. This module is based on two modules in my DIY synth, the timing curves have been modeled after the CEM3310 design. The Vca has optional shaping available in the context menu, recorded from VCA's I have built, a different variation on left and right channels.

  • Selectable ADSR, AD & AR shapes
  • Retrig mode, when selected restarts attack stage at current level.
  • Reset, Quickly reset to zero before attack stage, only included for emulations
  • Cycle, endlessly cycle, when the envelope is complete it is triggered.
  • Cv controllable with attenuators for all stages
  • Gate outputs for each stage
  • End Of Cycle gate output

Thru

Thru is a collection of 1 in 1 out Mults, each with it's own editable label. This can be used to label in's and out's on subsections and selections.

PatchNotes

A Slimline patch note module, with nostalgic display.

Next

I sure more will come.

rack-modules's People

Contributors

curlymorphic avatar kant avatar mattcollier avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

rack-modules's Issues

Feature request for Akai MPD218

In addition to IVERSON JR, I also use other Midi modules to get various functions.
Among other things, the Midi-Gate module from VCV to trigger i.e. the Mute Buttons from a MindMeld Mixer
Now, however, the MPD218 does not show me via red LED whether a channel is muted or not.
Now IVERSON JR comes into play, because
In this case, I only use the IVERSON JR to control the LEDs of the pads of the MPD218.
I can't really use it as a sequencer with the MPD218 because the pads are somehow on different rows.

So it would be cool if it had a few functions for a live performance.
Mode Latch or Mode Trigger (one trigger each for on and off)
and s&h for velocity
Although it would work with latch and velocity alone
The desired trigger function could be expanded with OctaTrig from ML Modules.

So as an idea, even if it is a paid module

thank you for your great work

Iverson APC mini fader crashes Rack

Hi there,

Many thanks for this awesome plugin. Instant techno FTW! 😊

I'm on Windows 10 using the 1.1.6 version of Rack. Often Rack will crash when one or multiple faders (default bind to probability) are moved rapidly. Based on my observations it does not matter what other plugins are used. I have seen this behavior on 2 different PC's.

What information do you need to debug this issue?

Stereo LaLa?

Hi,

First, thanks for your efforts. I am delighted to have your modules back in my library. I actually just looked for LaLa in my module browser.

A stereo LaLa would be a boon to my workflow. AFAICT, the library has no crossover filters or other "multiband" processor that functions in stereo. And hopefully it's not too difficult to implement?

Best,
George

Beta KS Delay: comparing to other vcv modules

String theory – frozen wasteland

note, course tuning delay time = 1/261.63 = 3.82219ms for C4, that should give V/oct control
I seem unable to tune accurately due to the resolution of controls.

Features not in KS Delay

  • built-in noise source for trigger, various noise types or external, triggered by gate.
  • Grains allows multiple instances of the same string to be plucked simultaneously, these can be detuned with the spread control. Grains can be ring-modulated together Sounds very nice
  • Can patch external filter into feedback, changes tuning, was in an early version of ksdelay, can create interesting sounds
  • Not polyphonic

Notes.

Tuning is fixed when triggered, tested with lfo + sequencer with octave steps. This could be a quick fix, however not very string like, in KSDelay slides + vibratio are possible, abrupt changes in pitch resemble hammer-ons

Curlymorphic thoughts.

  • The grains idea is nice, like a unison, should be tried.
  • Built-in noise source and trigger should be tried
  • I would prefer to keep the tuning correct so it can be played like an instrument, my earlier experiments showed that allowing external modules in the feedback path remove this functionality. Will try again
  • The locking of pitch between triggers should be tried, maybe an optional feature.

I shall make prototypes of the points above so we can discuss, I wont spend time reorganizing the ui yet, so expect knobs in ugly locations.

KarplusStrongPoly - Bacon music

Tuning works with V/Oct, default pitch octave lower than normal at C3. tunning seams to be good.

Features not in KS Delay

  • No external audio input, just trigger with internal buffer generation, various types

  • Only produces correctly pitched sounds when the internal buffer generation of of a
    noisy type

  • Pitched is fixed when trigged the same as above.

Curlymorphic thoughts.

No additional comments on above

Beta: KS Delay, changing pitch causes plucked sounds

@mattcollier reported in #15

At some FM-OP frequencies like 429Hz as in the included patch, when the tune knob is lowered to another octave, a plucking sound occurs. Switching to octave 1 or 2 while FM-OP is at ratio 1 or 260.5 Hz produces a similar effect. With the feedback at 100% the unintended plucks can reverberate for a long time. Altering the input frequency seems to clear things somehow.

change_tune.vcv.zip

Tyrant expansion module

Feature idea that came to mind seeing how the accent stuffs work. Is that it would be cool to have a polyphonic trigger output for all/both accent channels. Such that when the accent happens, a trigger also occurs. This could be used solely for the purpose of changing an envelope for some other effect, or in combination with CV changes generated by Tyrant.

This is an excellent idea and a perfect candidate for our first expansion module.

compact mixer comparison

put this together to see what other compact mixers were up to.

Specifically related to how they address dealing with hot signals on the output when lots of signals are combined.

I actually had not looked at the Lindenberg model before. But the attenuverter and built in attack envelope is a nice touch. Lindenberg is no longer maintained as open source, so having an opensource version with a similar feature set could be cool.

compact_mixer.vcv.zip

BETA: KS Delay an polyphonice inputs and outputs

I suspect KS Delay is not polyphonic. However it seems to not be communicating this appropriately to Rack. It gladly accepts a polyphonic input, but only channel 1 of the polyphonic output is valid. I can't descern what the the remaining outputs are except that they make the mixer go into overdrive protection.

ks_delay_polyphony.vcv.zip

Your comb filter measures very badly

Just sitting there static it's showing a lot of aliasing. Which is odd - why would a comb filter distort in the first place.

I also noticed in the source code that the delay line uses integral number of samples for delay time. This is bad for two reasons. 1) If you sweep it you will get a terrible "grainy" sound as you just from one sample to the next, rather than smoothly moving, 2) If you use it as a tuned resonant delay the pitch accuracy will be bad.

Even the VCV Fundamental delay does a linear interpolation. Which maybe isn't good enough for Karplus-strong, but at least you can sweep it and have it sound pretty good.
image

Dark Theme

Following from THE forum thread and seeing how interested you were in dark themes I thought I'd have a go at darkening your modules.

Sidenote, very interesting and important perspective you provided mentioning accessibility and visual impairment. It's a subject largely forgotten when people are discussing UI.

Here is what I have come up with, I would be interested to here what you think. I particularly like the Iverson modules like this:

Screenshot_20201006_182059

If you are interested in including a dark theme, and this being a candidate, I'd be very open to feedback. I left the knobs background/outline black as it looks a bit weird with any other colour. They could perhaps be made the same colour as the rest of the knob?

This is the general colour scheme I have made for NYSTHI, Fundamental, and a few others so it works for me but I'm by no means a graphical designer so if anyone else provides a better theme then by all means use that.

Pre release to do

  • Check Manifest, tags + new urls
  • update all readme images
  • Update readme, instructions all modules
  • include team member names
  • rename modules
  • update Tyrant
  • produce tutorial videos, and link in manual - outsource
  • produce demo video, no voice, a series of nice sounding patches
  • remove Eva
  • update UI's

APC40 Iverson Jr - multi channel MIDI?

Sadly your nice Iverson Jr Module does not work with the Akai APC40.
The APC40 uses one MIDI channel per column, and there is no way that the Iverson does recognize that one note comes from one or the other channel.

Would be nice if your could add an option for multi Midi channel in and output.

Thanks for your work!

Wallenda feedback loop

Turn the Density knob on Dust up a bit to send in some noise and then turn it off. A feedback loop begins in Wallenda that continues to grow instead of fading. I can stop the feedback loop by turning the feedback knob down a bit. The process can be repeated after returning the feedback knob to full on.

wallenda_feedback.vcv.zip

[FR] IVERSON/JR - Per-Channel Clock

Hi,
I'm not sure if this is the proper way to go about making a feature request (mea culpa).

I'd very much like to run the sequencer channels in Iverson at different speeds.

My suggestion is to add 2 new controls per channel:

  • Clock-In [port] : supersedes the master Clock-In on its channel if patched
  • Div/Mult [knob] : a bipolar clock modulator, where 0= bypass, negative values= divide the clock, positive values= multiply the clock

[Clock-In] per channel is sufficient to accomplish the base functionality, and allows integration with existing clock sources

[Div/Mult] allows basic per-channel rate customization without any additional modules/clock modulators, and adds another layer of performance control (via MIDI learn)

Here is a quick-and-dirty mockup showing one way the existing UI could be adapted for these controls:

IVERSON-JR_clock-adj

Thanks for your time + consideration

Build failure on macOS platform

Build failure on macOS platform during integration:

n file included from src/modules/Hula.cpp:2:                                                                                                              
./src/composites/Hula.h:116:40: error: implicit instantiation of undefined template 'std::__1::array<rack::simd::Vector<float, 4>, 4>'
    std::array<float_4, SIMD_CHANNELS> lastOuts;                                                                                                           
                                       ^                                                                                                                                                                                                                                                                              
src/modules/Hula.cpp:19:17: note: in instantiation of template class 'HulaComp<WidgetComposite>' requested here                                            
        config (Comp::NUM_PARAMS, Comp::NUM_INPUTS, Comp::NUM_OUTPUTS, Comp::NUM_LIGHTS);                                                                  
                ^                                                                                                                                                                                                                                                                                                     
/home/build/rack-plugin-toolchain/local/osxcross/bin/../SDK/MacOSX10.13.sdk/usr/include/c++/v1/__tuple:223:64: note: template is declared here
template <class _Tp, size_t _Size> struct _LIBCPP_TEMPLATE_VIS array;                                                                                      
                                                               ^                                                                                                                                                                                                                                                      
In file included from src/modules/Hula.cpp:2:                            
./src/composites/Hula.h:117:40: error: implicit instantiation of undefined template 'std::__1::array<rack::simd::Vector<float, 4>, 4>'                     
    std::array<float_4, SIMD_CHANNELS> phases;                                                                                                                                                                                                                                                                        
                                       ^                                                                                                                   
/home/build/rack-plugin-toolchain/local/osxcross/bin/../SDK/MacOSX10.13.sdk/usr/include/c++/v1/__tuple:223:64: note: template is declared here
template <class _Tp, size_t _Size> struct _LIBCPP_TEMPLATE_VIS array;                                                                                                                                                                                                                                                 
                                                               ^                                                                                           
In file included from src/modules/Hula.cpp:2:                      
./src/composites/Hula.h:118:40: error: implicit instantiation of undefined template 'std::__1::array<rack::simd::Vector<float, 4>, 4>'                                                                                                                                                                                
    std::array<float_4, SIMD_CHANNELS> fineTuneVocts;                                                                                                      
                                       ^                                                                                                                   
/home/build/rack-plugin-toolchain/local/osxcross/bin/../SDK/MacOSX10.13.sdk/usr/include/c++/v1/__tuple:223:64: note: template is declared here                                                                                                                                                                        
template <class _Tp, size_t _Size> struct _LIBCPP_TEMPLATE_VIS array;
                                                               ^
In file included from src/modules/Hula.cpp:2:
./src/composites/Hula.h:123:93: error: implicit instantiation of undefined template 'std::__1::array<sspo::Decimator<4, 1, rack::simd::Vector<float, 4> >, 4>'
    std::array<sspo::Decimator<oversampleCount, oversampleQuality, float_4>, SIMD_CHANNELS> decimators;
                                                                                            ^
/home/build/rack-plugin-toolchain/local/osxcross/bin/../SDK/MacOSX10.13.sdk/usr/include/c++/v1/__tuple:223:64: note: template is declared here
template <class _Tp, size_t _Size> struct _LIBCPP_TEMPLATE_VIS array;
                                                               ^
In file included from src/modules/Hula.cpp:2:
./src/composites/Hula.h:124:69: error: implicit instantiation of undefined template 'std::__1::array<std::__1::array<rack::simd::Vector<float, 4>, 4>, 4>'
    std::array<std::array<float_4, oversampleCount>, SIMD_CHANNELS> oversampleBuffers;
                                                                    ^
/home/build/rack-plugin-toolchain/local/osxcross/bin/../SDK/MacOSX10.13.sdk/usr/include/c++/v1/__tuple:223:64: note: template is declared here
template <class _Tp, size_t _Size> struct _LIBCPP_TEMPLATE_VIS array;
                                                               ^
In file included from src/modules/Hula.cpp:2:
./src/composites/Hula.h:125:54: error: implicit instantiation of undefined template 'std::__1::array<sspo::BiQuad<rack::simd::Vector<float, 4> >, 4>'
    std::array<sspo::BiQuad<float_4>, SIMD_CHANNELS> dcOutFilters;
                                                     ^
/home/build/rack-plugin-toolchain/local/osxcross/bin/../SDK/MacOSX10.13.sdk/usr/include/c++/v1/__tuple:223:64: note: template is declared here
template <class _Tp, size_t _Size> struct _LIBCPP_TEMPLATE_VIS array;
                                                               ^
In file included from src/modules/Hula.cpp:2:
./src/composites/Hula.h:126:54: error: implicit instantiation of undefined template 'std::__1::array<sspo::BiQuad<rack::simd::Vector<float, 4> >, 4>'
    std::array<sspo::BiQuad<float_4>, SIMD_CHANNELS> lpFilters;
                                                     ^
/home/build/rack-plugin-toolchain/local/osxcross/bin/../SDK/MacOSX10.13.sdk/usr/include/c++/v1/__tuple:223:64: note: template is declared here
template <class _Tp, size_t _Size> struct _LIBCPP_TEMPLATE_VIS array;
                                                               ^
In file included from src/modules/Hula.cpp:2:
./src/composites/Hula.h:128:54: error: implicit instantiation of undefined template 'std::__1::array<sspo::BiQuad<rack::simd::Vector<float, 4> >, 4>'
    std::array<sspo::BiQuad<float_4>, SIMD_CHANNELS> depthFilters;
                                                     ^
/home/build/rack-plugin-toolchain/local/osxcross/bin/../SDK/MacOSX10.13.sdk/usr/include/c++/v1/__tuple:223:64: note: template is declared here
template <class _Tp, size_t _Size> struct _LIBCPP_TEMPLATE_VIS array;
                                                               ^
In file included from src/modules/Hula.cpp:2:
./src/composites/Hula.h:129:54: error: implicit instantiation of undefined template 'std::__1::array<sspo::BiQuad<rack::simd::Vector<float, 4> >, 4>'
    std::array<sspo::BiQuad<float_4>, SIMD_CHANNELS> feedbackFilters;
                                                     ^
/home/build/rack-plugin-toolchain/local/osxcross/bin/../SDK/MacOSX10.13.sdk/usr/include/c++/v1/__tuple:223:64: note: template is declared here
template <class _Tp, size_t _Size> struct _LIBCPP_TEMPLATE_VIS array;

and

In file included from /home/build/rack-plugin-toolchain/local/osxcross/bin/../SDK/MacOSX10.13.sdk/usr/include/c++/v1/algorithm:643:
/home/build/rack-plugin-toolchain/local/osxcross/bin/../SDK/MacOSX10.13.sdk/usr/include/c++/v1/memory:4233:28: error: assigning to 'std::__1::__shared_weak_count *' from incompatible type 'std::__1::unique_ptr<std::__1::__shared_ptr_emplace<HulaComp<WidgetComposite>, std::__1::allocator<HulaComp<WidgetComposite> > >, std::__1::__allocator_destructor<std::__1::allocator<std::__1::__shared_ptr_emplace<HulaComp<WidgetComposite>, std::__1::allocator<HulaComp<WidgetComposite> > > > > >::pointer' (aka 'std::__1::__shared_ptr_emplace<HulaComp<WidgetComposite>, std::__1::allocator<HulaComp<WidgetComposite> > > *')
    __r.__cntrl_ = __hold2.release();
                   ~~~~~~~~^~~~~~~~~
/home/build/rack-plugin-toolchain/local/osxcross/bin/../SDK/MacOSX10.13.sdk/usr/include/c++/v1/memory:4600:29: note: in instantiation of function template specialization 'std::__1::shared_ptr<HulaComp<WidgetComposite> >::make_shared<Hula *>' requested here
    return shared_ptr<_Tp>::make_shared(_VSTD::forward<_Args>(__args)...);
                            ^
src/modules/Hula.cpp:20:21: note: in instantiation of function template specialization 'std::__1::make_shared<HulaComp<WidgetComposite>, Hula *>' requested here
        hula = std::make_shared<Comp> (this);
                    ^

Problem getting one-shot behavior in Zazel

Hi, this may be just a newbie question or maybe something is not working right. Basically, I have it set in one-shot mode but as soon as I send a trigger to it, it goes to cycle mode and the cycle/one-shot switch is stuck in the Cycle position.
I really just want a one-shot transition between the start and end values, and I want to only have to hit the trigger once.

Sometimes, just setting up the controls the way I want them, the cycle/one-shot switch changes position and can't be switched back.

I have Zazel set with:

Easing shape: diagonal straight line upwards
Start value: 0
End value: 1
Duration: 1

There is nothing connected to the sync input.
I have a manual trigger connected to the trigger input and the output is connected to a volt meter and scope.

Again, as soon as I hit the trigger, the cycle/one-shot switch switches to cycle position (and can't be switched back) and the voltage goes up and down.

How do I get true one-shot behavior? What I want is for the voltage to start at 0 (before I press the trigger) and ramp up to 1 after I press the trigger, and stay there. Maybe this is not how Zazel is supposed to work; if that is the case, are you aware of another module that will do what I describe?

Thanks.

Iverson Jr MIDI issues

Hi.

Just trying out Iverson Jr with my APC Mini. Select APC Mini preset, select APC Mini for MIDI IN & MIDI OUT, all works as expected but the MIDI control and feedback stops after a while. Selecting Slow midi feedback extends the time before it stops. Selecting no device on MIDI OUT then reselecting APC Mini restarts midi feedback, selecting no device on MIDI IN then reselecting APC Mini restarts midi control, until it stops again.

Iverson exhibits the same behaviour but takes considerably longer before MIDI stops working.

Running under Linux.

Beta: KS Delay, color filter adjusts tuning

When reducing the cutoff frequency of the color filter, the tuning of the delay becomes flat. The correct tuning only occurs when the filter is fully open. This is incorrect behavior.

Master branch build error [Win 10]

In file included from src/KSDelay.cpp:23:
./composites/KSDelay.h: In member function 'void KSDelayComp<TBase>::step()':
./composites/KSDelay.h:284:59: error: there are no arguments to 'drand48' that depend on a template parameter, so a declaration of 'drand48' must be available [-fpermissive]
  284 |         auto useStretch = (1.0f - nonStretchProbabilty) > drand48();
      |                                                           ^~~~~~~
./composites/KSDelay.h:284:59: note: (if you use '-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated)
./composites/KSDelay.h: In instantiation of 'void KSDelayComp<TBase>::step() [with TBase = WidgetComposite]':
src/KSDelay.cpp:52:18:   required from here
./composites/KSDelay.h:284:66: error: 'drand48' was not declared in this scope; did you mean 'srand'?
  284 |         auto useStretch = (1.0f - nonStretchProbabilty) > drand48();
      |                                                           ~~~~~~~^~
      |                                                           srand
make: *** [../../compile.mk:69: build/src/KSDelay.cpp.o] Error 1
make: *** Waiting for unfinished jobs....

BETA KS Delay Unexpected behaviors

Built from source bc5e843

Channel 1 - FMOP

  • The useful range of the colour knob seems pretty limited. Seems like to the left of the 12 o'clock position it's just decreasing the volume. Perhaps this is expected behavior.

Channel 2 - Noise

  • Plugging noise into in seems to make the module malfunction. Extreme amounts of feedback etc.

test_harness.vcv.zip

Update requested for Rack 2

I am not sure if this is in the right place, but there is mention of requesting an update if these are used, and I'd love to see them updated to work in Rack 2. Thank you

Poly Zazel

Extending Zazel to control 16 parameters. Info copied from Discord

Here is a VERY rough sketch of one way that a PolyZazel MIGHT be laid out. I'm trying to think about the end goal of expressively modulating a parameter over time and this layout felt like it may point in the right direction. That's why the shape knobs are in different locations on the left and right sides. This is on a 24 HP blank for reference. A wider module might help fit things comfortably but I didn't want this thing to become a beast either. I tried to change some of the labels to reflect the proposals from above

The red light indicates what the different windows are displaying. The top row shows that the control mapping is set up for the left side. Row three is a one shot and we see its mapping and easing info in their windows. I just realized there are 8 One Shot buttons missing for the other side so those would need to go in over there.
Here is how I think it might operate.

  1. Click the Map window to put it in "write" mode.
  2. Click an Easing wheel to set the side. The light changes to match the knob clicked by the user
  3. Click a control to modulate on another module
  4. Proceed as with a normal Zazel

Ins and Outs are through the Poly cables. This means the user will need a Split module to get CV out, but I don't think that's a problem since they'll need a Merge to get CV into it
Let me know what questions come up from this, I'm sure there will be a few. Also, the sketch is trying to capture functionality with a nod to usability. However, I am in no way an expert on interface design and am not attached to that layout. Feel free to chop it up and remix it however you feel wold work best to capture the Studio Six Plus One style.

Release reminders

  • Update readme graphic for Maccomo to reflect new 'gain' knob.
  • Update readme description of Maccomo to include that fact that it supports polyphony.

V2 Update

I think at least a basic version of your plugins cane be gotten by simple find and replace - MidiWidget has changed to MidiDisplay.

Beta: KS Delay, changing tuning causes plucked sounds

@mattcollier reported in #15

At some FM-OP frequencies like 429Hz as in the included patch, when the tune knob is lowered to another octave, a plucking sound occurs. Switching to octave 1 or 2 while FM-OP is at ratio 1 or 260.5 Hz produces a similar effect. With the feedback at 100% the unintended plucks can reverberate for a long time. Altering the input frequency seems to clear things somehow.

change_tune.vcv.zip

Beta: KS delay changing pitch causes plucked sounds

@mattcollier reported in #15

At some FM-OP frequencies like 429Hz as in the included patch, when the tune knob is lowered to another octave, a plucking sound occurs. Switching to octave 1 or 2 while FM-OP is at ratio 1 or 260.5 Hz produces a similar effect. With the feedback at 100% the unintended plucks can reverberate for a long time. Altering the input frequency seems to clear things somehow.

change_tune.vcv.zip

Beta: KS Delay at 256Hz

While testing #ksDelay-hp 5b67133 I found this.

Strange resonances/harmonics occur at around 256Hz and other places on the spectrum. I've included chronoblob for comparison where this does not occur.

I expect that if this happens under the FM-OP use it likely will occur with these frequencies under other circumstances.

256Hz.vcv.zip

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.