Giter VIP home page Giter VIP logo

eurorack-prologue's Introduction

Eurorack Oscillators for Korg prologue, minilogue xd and Nu:tekt NTS-1

Ports of some of Mutable Instruments (tm) oscillators to the Korg "logue" multi-engine.

See releases for latest binaries.

Macro Oscillator 2 (based on Plaits)


Name Oscillator Shape operation Shift-shape operation
mo2_va Pair of classic waveforms Shape Pulse width
mo2_wsh Waveshaping oscillator Amount Waveform
mo2_fm Two operator FM Modulation index Frequency ratio
mo2_grn Granular formant oscillator Frequency ratio Formant frequency
mo2_add Harmonic oscillator Index of prominent harmonic Bump shape
mo2_wta* Wavetable: Additive (2x sine, quadratic, comb) Row index Column index
mo2_wtb* Wavetable: Additive (pair, triangle stack, 2x drawbar) Row index Column index
mo2_wtc* Wavetable: Formantish (trisaw, sawtri, burst, bandpass formant) Row index Column index
mo2_wtd* Wavetable: Formantish (formant, digi_formant, pulse, sine power) Row index Column index
mo2_wte* Wavetable: Braids (male, choir, digi, drone) Row index Column index
mo2_wtf* Wavetable: Braids (metal, fant, 2x unknown) Row index Column index
mo2_string Inharmonic string model Decay Brightness

* Due to the 32k size constraint in the multi-engine the Wavetable oscillator is split into 6 oscillators of 8 rows (scannable by Shape) by 4 columns (scannable by Shift-shape)

Parameters

In the Multi-engine menu you can find additional parameters for the oscillators.

Parameter 1 is oscillator specific and controls whichever parameter is not mapped to Shape or Shift-shape.

Parameter 2 sets the mix between the oscillator out and aux.

LFO Target sets the Shape LFO target, see list below.

LFO2 Rate is rate of LFO2.

LFO2 Int is intensity (depth) of LFO2.

LFO2 Target sets the target for LFO2 according to the list below.

LFO2

The oscillator has a built-in additional cosine key-synced LFO which can module an internal parameter (set with the LFO2 Target parameter in the oscillator menu):

LFO Target Parameter Notes
1 Shape
2 Shift-shape
3 Parameter 1 Not implemented for Wavetable oscillator
4 Parameter 2
5 Pitch
6 reserved (Amplitude?)
7 LFO2 Rate
8 LFO2 Int

For more information please read the excellent Mutable Instruments Plaits documentation.

Tips

Many parameters 'neutral' settings are in center position, such as va Detune or fm Feedback, however the prologue defaults all parameters to the lowest value, hence get used to going into the menus and set the first parameter to 50% when instantiating the oscillator.

Modal Resonator (based on Elements)

Physical modeling synthesis

Name Oscillator
mod s Strike exciter with modal resonator

Parameters

Parameter Parameter LFO Target Notes
Shape knob Resonator position 1 Position where the mallet strikes, has a comb-filtering effect.
Shift + Shape knob Resonator geometry 2 Geometry and stiffness of resonator. Set to 25-30% for a nice tuned sound.
Strength menu Strike strength 3 Mallet strength, high values causes the strike to bleed into the resonator output.
Mallet menu Strike mallet 4 Type of mallet, over 70% is bouncing particles.
Timbre menu Strike timbre 5 Brightness/speed of the excitation.
Damping menu Resonator damping 6 The rate of energy dissipation in the resonator. High values cause long release effect.
Brightness menu Resonator brightness 7 Muting of high frequencies
LFO Target menu multi-engine Shape LFO target Sets which parameter is modulated by the Shape LFO (see LFO Target column)

For more information please read the excellent Mutable Instruments Elements documentation.

Limitations

Due to compute and memory (32K!) limitations in the prologue multi-engine quite a few short-cuts had to be taken:

  • Only the Strike exciter is used
  • Sample-player and Granular sample-player mallet-modes did not fit in memory
  • Resonator filter bank is reduced to 24+2 filters from 52+8
  • Resonator filters are recomputed one per block instead all-ish every block
  • Samplerate is 24KHz vs 32KHz in Elements

Sounds pretty great IMO but go buy Elements for the real experience!

Tips

When you first select the oscillator it will make no sound, all parameters are at 0%! Increase the Strength and Damping parameters until you start hearing something.

Try a nice pluck:

Parameter Value
Shape 50%
Shift + Shape 30%
Strength 90%
Mallet 45%
Timbre 45%
Damping 70%
Brightness 45%

Issues

  • The prologue Sound Librarian tends to timeout when transferring the user oscillator, however the transfer is still complete. Try adding the user oscillator one at a time and Send All / Receive All for each oscillator.

  • There's been many reports that the Modal Resonator oscillator doesn't produce any sound. I've included a few versions which lower CPU usage which may yield better results. On my prologue there's been cases where I've had issues after a factory-reset where the oscillator wouldn't produce sound. Installing sequentially in the same oscillator slot the lightest CPU version osc_modal_strike_16_nolimit (16 filters and removed limiter), followed by osc_modal_strike_24_nolimit followed by osc_modal_strike resolved the issue for me. Your milage may vary.

  • When first selecting the oscillator in the multi-engine, all values default to their minimum values, however the display seems to default to 0. For bipolar values it means the display might still show 0% while internally in the oscillator the value is -100%.

Building

  • Checkout the repo (including subrepos)
  • Follow the toolchain installation instructions in the logue-sdk
  • Make sure you have the jq tool installed (brew install jq)
  • Build with make

(only tested on MacOSX)

Acknowledgements

All credit to Emilie Gillet for her amazing modules!

eurorack-prologue's People

Contributors

peterall 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  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  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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

eurorack-prologue's Issues

Modal oscillator: no sound on Prologue 16

Hi Peter,
First: Thanks for implementing mutable osc in Prologue. Amazing job!
I have problem with the modal oscillator: no sound at all.
I tried to send it (alone) from librarian several times to Prologue. It appears in it. I enter parameters as you describe in your readme tips (no "0" values)... And I still have no sound.
Is it a known issue, or maybe I missed something?
Thanks again for all your works,
Regards,
Mathieu.

Modal Strike, weird notes

Hi! I really like the sound of the Modal Strike osc on my NTS-1, but every first note in a new key sounds as if some part of the program is still running the previous key, resulting in a kind of portamento effect, or maybe more like two notes at once. It is most pronounced when going between octaves.

Br
Martin

Wavetable Oscillators Row and Colummn messed up.

Hi Peter:
First of all thank you for porting this oscillators to Prologue, they are great!
I found that there is somenthing wrong with the Row and Column selection and how the waves are selected in the Wavetable Oscillators (mo2_wta to mo2_wtf).
In the documentation you say there are 6 oscillators with 4 rows each, and I asume that there are 8 columns in each row. And you say that Shape selects the Row and Shift+Shap selects the Column.
But I can count 8 divisions (setting Interpolation to 2) when I turn Shape knob, so I think Shape meant to control Column instead of Row.
And I can count 5 divisions when I turn Shift+Shape knob. I think that should be the Row selection but I don't know why there are 5 Rows instead of 4...
The inverted nomenclature is not big problem, but according to the Braids manual within a row, the waves are sorted by spectral brightness, so there is some correlation in the order of the waves within a row and I expect that scaning the waves within a row using Shape the output will be correlated waves wich increases in harmonic content. Instead of that there are 3 or 4 waves correlated and the rest are mixed from other rows, and if I change rows I can found the waves that supposedly belong to other rows.
I don't have a Plaits module to check all this, but I tried it in the VCV Rack version (which is free) and confirmed that the wave order within a row is different in the mo2_wtx .
I think that you planed to assign Shape to Row and Shift-Shape to Column as stated in your documentation but at some point changed the amount of waves per turn of the knobs (because is more logical to have more divisions/waves in Shape knob) but didn't changed the assignment of the knob...
Hope you understand what I mean...

KORG NUTEKT NTS-1

Will this support also the upcoming KORG NUTEKT NTS-1? Would be great if it would.

Thanks for sharing this project.

Interpolate reversed

Hi Peter! Welcome back!

Thanks for fixing up R&C on wta-f. Please change this line:
parameters.harmonics = p_values[k_user_osc_param_id1] == 0 ? 1.f : 0.f;
To this
parameters.harmonics = p_values[k_user_osc_param_id1] == 0 ? 0.f : 1.f;

That will reverse the sense of Interpolate back the way it was, and still keep wavetables straightened out.

Loaded the oscillators, killed a voice

Tried loading all the oscillators onto my 3-week old minilogue xd โ€“ that had basically no problems prior โ€“ and immediately every fourth note i played in poly mode didn't make a sound. I don't know if i just got a bad unit, but it was working fine until i loaded the oscillators.

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.