Browse Source

Add Oneiroi docs

Tweak EvenVCO so oscillators have same phase relationship as before
pull/55/head
hemmer 5 months ago
parent
commit
62c5d69c1b
3 changed files with 18 additions and 2 deletions
  1. +16
    -0
      docs/Oneiroi.md
  2. BIN
      docs/img/Oneiroi.png
  3. +2
    -2
      src/EvenVCO.cpp

+ 16
- 0
docs/Oneiroi.md View File

@@ -0,0 +1,16 @@
# Befaco Oneiroi

Based on [Befaco Oneiroi](http://www.befaco.org/oneiroi) Eurorack module. For the official manual, see [here](https://befaco.org/docs/Oneiroi/Oneiroi_User_Manual.pdf).


## Differences with hardware

* Randomisation can optionally be applied to every parameter using the built in VCV randomisation
* Input gain switch (available on hardware) has been removed as this makes no sense in VCV
* Undo/redo is natively handled by VCV Rack
* .wav files can be loaded from the context menu (naive loading no sample rate conversion!)
* Additional LED indicators have been added for filter type, filter position, modulation type and oscillator octave
* Distinct virtual knobs are used for each parameter so parameter catch-up (used on hardware) is not needed.
* As yet, slew of parameter values on randomize is not supported

![Oneiroi](img/Oneiroi.png)

BIN
docs/img/Oneiroi.png View File

Before After
Width: 1002  |  Height: 840  |  Size: 298KB

+ 2
- 2
src/EvenVCO.cpp View File

@@ -169,14 +169,14 @@ struct EvenVCO : Module {

if (outputs[SINE_OUTPUT].isConnected() || outputs[EVEN_OUTPUT].isConnected()) {
// sin doesn't need PDW
osBufferSin[i] = -simd::cos(2.0 * M_PI * phase[c / 4]);
osBufferSin[i] = -simd::cos(M_PI + 2.0 * M_PI * phase[c / 4]);
}

if (outputs[TRI_OUTPUT].isConnected()) {
const float_4 dpwOrder1 = 1.0 - 2.0 * simd::abs(2 * phase[c / 4] - 1.0);
const float_4 dpwOrder3 = aliasSuppressedTri(phases) * denominatorInv;

osBufferTri[i] = simd::ifelse(lowFreqRegime, dpwOrder1, dpwOrder3);
osBufferTri[i] = -simd::ifelse(lowFreqRegime, dpwOrder1, dpwOrder3);
}

if (outputs[SAW_OUTPUT].isConnected()) {


Loading…
Cancel
Save