OhmerPrems announcements thread

Hi everyone,

For the new FranKe module, available since few days, there are some patch files as ready-to-use demo.

FranKe - Melodic tracks 1 & 2 + CV OUT (WT Pos) + TM track 8.vcv (4.4 KB)

This patch uses following modules (all of them are free):

  • FranKe module (OhmerPrems) v2.6.9, either full (license V2 key) and free/trial (as player).
  • Button (Little Utils), to trigger PLAY, RESET, REVerse play, PENDULUM play.
  • Macro Oscillator 2 (Audible Instruments).
  • XFX Wave (Blamsoft).
  • XM-OP (Venom).
  • Mix 4 (Venom).
  • ADSR EG (VCV).
  • VCA (VCV).
  • AUDIO (VCV), the two channel audio module.

:warning: Don’t forget to configure the AUDIO module, regadling your audio hardware (internal soundcard or external audio interface, ASIO, CoreAudio, and so on).


Following patch as harmonic demo, using 3 melodic tracks to play 3-note chords progression - slow BPM, aka 120 / 4 = 30, to simulate 120 BPM at whole note (instead of quarter note):

FranKe - Harmonic chord progession (tracks 1-2-3).vcv (2.4 KB)

This patch uses following modules (all of them are free):

  • FranKe module (OhmerPrems) v2.6.9, either full (license V2 key) and free/trial (as player).
  • KlokSpid MkII (OhmerPrems) v2.6.9, free for everyone.
  • Macro Oscillator 2 (Audible Instruments).
  • Merge (VCV).
  • ADSR EG (VCV).
  • VCA (VCV).
  • AUDIO (VCV), the two channel audio module.

:warning: Don’t forget to configure the AUDIO module, regadling your audio hardware (internal soundcard or external audio interface, ASIO, CoreAudio, and so on).


Following patch uses eight Turing Machine lines (self-generative path):

FranKe - Turing Machines (all tracks) - Befaco PonyVCO.vcv (4.7 KB)

This patch uses following modules (all of them are free):

  • FranKe module (OhmerPrems) v2.6.9, either full (license V2 key) and free/trial (as player).
  • KlokSpid MkII (OhmerPrems) v2.6.9, free for everyone.
  • PonyVCO (Befaco).
  • Button (Little Utils), to trigger PLAY, RESET, REVerse play (all tracks).
  • ADSR (Bogaudio).
  • MixMasterJr (MindMeld).
  • VCA (VCV).
  • AUDIO (VCV), the two channel audio module.

:warning: Don’t forget to configure the AUDIO module, regadling your audio hardware (internal soundcard or external audio interface, ASIO, CoreAudio, and so on).

:warning:

For non-OhmerPrems users (users who don’t have a license), the FranKe module is working as ā€œplayerā€: in this case, all tracks are played, but nothing can be modified. Only savings (whole sequencer, pattern, or track) are allowed, but no loadings.

OhmerPrems plugin v2.6.9 can be downloaded from here, for manual installation (or update). Not yet available from VCV Library, however.

User’s Manual (under construction) can be opened from module (Ctrl + F1 while mouse cursor is over FranKe module, Command + F1 on MacOS X computers), or can be opened from here.

OhmerPrems on GitHub (main page), from here.

thank you for your hard work to create this sequencer. I only spend 1-2 hours with the Prem version, but i like it. Will explore deeper in the next days.

Karl

1 Like

Hi Karl (in live!), you’re welcome, don’t forget the day duration is 24 hours only! :wink:

I’m working on v2.6.11 (v2.6.10 is bypassed, staying as ā€œinternalā€ release), who add - via right-click context menu - many edit commands, for whole sequencer (open/save), patterns (open/save/copy/paste/move/initialize/insert/remove), and tracks (open/save/import Turing Machine/export Turing Machine/copy/paste/move/initialize/randomize).

i will stay tuned and will be suprised for new features.

1 Like

As example…

And new VCO module is planned, using a ā€œparticular synthesisā€ (?), but no more public communication about it at the moment (I’ll tell about it, but in private) :wink: This future VCO is ā€œin the pipesā€, on a white paper only (no code, no SVG design at the moment).

For now, I’ll must to finish the FranKe module (right-click context menus I’ve mentioned above, for future/next v2.6.11 release), then its user’s manual - aka a long and tedious task for me (updated once or twice per week).

Also, 6OP-DX module development remains frozen and delayed. No date at the moment. I’d like to redesign the QuadPercs module (to add features such pitch alteration, decay envelope, and so on, another tricky development)…

Hi everyone,

The OhmerPrems plugin was updated as stable v2.6.12, because the FranKe module development is finished: have added required right-click context menus for Seqencer / Pattern / and Track file operations (to save and load whole sequencer, a pattern, or a track to separate file(s), and some editing features such copy/paste, move swap (for patterns), initialize (patterns, tracks), insert/remove (patterns), move up/move down, initialize randomize (tracks).

Available from its GitHub repository (lastest release section), for manual installation or update at the moment. Version 2.6.12 will be available shortly (I hope) from VCV Library.

New FranKe analog step-sequencer is operational and its development is completed.

Added right-click context menus (OhmerPrems members only, hidden for Free/Trial):

Packages/instructions for this release can be picked directly from here.

Screen captures…

image

image

Releases page: https://github.com/DomiKamu/OhmerPrems/releases

OhmerPrems plugin repository page: https://github.com/DomiKamu/OhmerPrems

3 Likes

Hello everyone,

Have started a new project: Vektor as digital vector synthesis oscillator module (16HP), inspired by the Prophet VS synthesizer (Sequencial Circuits, 1986), but sound sources + mix envelope parts only (other parts like filters, LFOs, additional EG and so on, may be done by other modules around Vektor in your patches).

:information_source: As good news for everyone (I hope), I assume this module as gift to our community, by the way this module will be entirely free, as full version for everyone without any limitation (license file will be not required, exactly like KlokSpid MkII and KordZ modules, also provided as free by the OhmerPrems plugin).

This is the advanced skeleton of Vektor module at the moment (started May 29th morning - design & first lines code at the ā€œsame timeā€). Finally (I changed mind), Vektor will be available by eight GUI variants, as usual (because it’s the identity of Ohmer Modules).

The entire family:

(Updated screen capture June 9th, added: ā€œA/B/C/D diamondā€ + spheric base of the joystick but not final, DATA ENTRY continuous encoder, five left-side momentary buttons, momentary buttons+LED ā€œrailsā€ for OSC A, OSC B, OSC C, OSC D and MIX (aka ā€œmix envelopeā€), solid yellow LED for V/OCT input (lit while patched), blue LEDs for GATE input, custom homemade TrueType font for the OLED display (will be touchscreen for ā€œMix Envā€ editor)… Also I’ve added a second audio output/mix jack (for L/R stereo, or mono if only L jack is connected).

Of course, as missing control, the joystick itself - the more challenging stuff about GUI design (gradients by VCV Rack 2 are pain, too limited IMHO), so it will be gradually designed and implemented! FM input (above >X input) is under consideration, but not for first release.

By respecting ā€œmilestoneā€, Vektor module will be available in future/next Release v2.6.13.

:wink:

4 Likes

Hello, as announcement for future next v2.6.13 release (no given date at the moment):

  • QuadPercs & FroeZe (both as Free/Trial): no more restricted to 44100Hz only (will be from 44.1kHz upto 192kHz, about Engine Samplerate, like full version for OhmerPrems members). Other limitations are kept, however.
  • FroeZe (as Free/Trial): first fourth tracks (BD/SD/CH/OH + AC) can be used/edited, instead of BD/SD + AC only (so, less restrictive). Other limitations are kept, however.
  • 6OP-DX (development is in standby at the moment) will be free for everyone (troublesome tones/noises, for Free/Trial, are removed). Its development will be resumed start of July!
  • Vektor (in development) will be free for everyone, too.

(updated screen capture June 11th, now with the static representation of the selected waveform, ala ā€œscopeā€).

:wink:

1 Like

Hi Dominique, just out of curiosity: Why is the 6OP-DX development on hold? Is it because of the Vector development?

1 Like

Hi, to be honest, Vektor module development was… unattended, but my brother needs it for VCV Rack 2 (he uses a Behringer Pro-VS MINI hardware synthesizer, but he’d like to sell it). Be sure 6OP-DX development is just postponed, development will be resumed approx begin of July (as soon as Vektor module development is finished).

Also, due to very long dely (unacceptable for mine eyes, I admit it) about 6OP-DX, first due by FranKe sequencer development (an order from a customer), then Vektor for my brother… It’s the reason why both modules (Vektor + 6OP-DX) becomes as full version to everyone (they don’t need license V2 keyfile to run as full/unlimited), it’s a way of making amends concerning delayed 6OP-DX module! :wink: Kind of ā€œpardonā€.

Also, FranKe user’s manual remains under construction, too… it’s a very long (and tedious) task, believe me!

2 Likes

Vektor (in development): useless feature, by the way… essential feature! :grin:

The (useless→essential) feature is the OSC waveform is drawn ā€œlike a scopeā€ (but stay static), wow what an achievement, I ask for a medal, or a fresh beer :beer_mug: (I don’t drink alcohol, lol) - but to be honest, it’s the first time I do it!

Now polyphony upto 16 channels (4 osc x 16 channels = 64 soundsources). It’s working, but I’m not using SIMD implementation (ATM) because it’s not clear in my mind (and totally newbie about simd). I’m studying this carefully, because I’d like to implement it!

By not using SIMD, my objective is reached, in particular for polyphonic gate, because I need to register every incoming ā€œhigh gateā€ in a list (array of 16 uint8_t) - a kind of ā€œstackā€ - to determine the most recent active gate (channel ID) in any situation (to draw the most recent mix envelope in live).

1 Like

Finally I’ve changed (a bit) the layout of Vektor module:

X and Y output jacks will be ported to an expander module named VX not the nerve agent :grin: , but a 3HP right-side expander for… Vektor (really?), see below for a preview from Inkscape - who have 2 inputs (PB pitch bend / pitch wheel PW, and FM with amount by a tiny potentiometer), and 4 outputs (joystick X, joystick Y, mix envelope X, mix envelope Y). Expander SVGs are already designed (see below), but not yet implemented as module in C++ source code.

At the bottom-right side, it’s the MIX (mono, post joystick/mix envelope) output, but previous X and Y (during development) was replaced by… discrete A, B, C, and D oscillator outputs (post joystick/mix envelope + internal VCA, per polyphonic voice), instead. Assuming it will be useful for particular FX processings, by 3rd party module(s). All of these outputs are polyphonic (1 to 16 channels, regardling V/OCT, GATE and VEL. inputs).

At the left side, added VEL. (velocity) input jack, who permits to control an internal VCA (behind joystick/envelope mixer. If not connected, the module considers velocities as maximum.

Have added a PAGE momentary button at the top-right side (and lowered the position of DATA ENTRY continuous encoder). The PAGE button will permit to access to extra parameters (for every oscillator), also to rates, looping & extra settings for mix envelope, and for programs (synth presets).

1 Like

Vektor module, and its fully operational 3HP (right-side) expander, VX Below as Dark ā€œSignatureā€ model (GUI variant, up to 8) - VX inherits the Vektor model as soon as it is placed alongside Vektor module (without space):

:warning: While VX isn’t linked with Vektor module, all six LED are… fast blinking red color.

On the VX expander, from top to bottom:

  • FM input jack (+ Amount potentiometer as positive or negative). FM will affects all four oscillators (A/B/C/D sound sources). Input voltage range for FM is - 10V/+10V (can be audio or any signal).
  • JOY X and JOY Y output jacks report the joystick position as -5V/+5V voltages (joystick moved either by user, or via X and Y inputs provided by on Vektor module (only if both are patched).
  • GATE delivers +10V gate voltage while the MIX ENVelope is running (returns to 0V when the envelope cycle is finished).
  • ENV X and ENV Y output jacks only report the mix envelope (when running) as -5V/+5V voltages, or the X/Y position of the point #4 of the mix envelope (end of ā€œreleaseā€ stage).

Next milestones:

  • OSCillator transpose COARSE and FINE (per oscillator). Already designed as ā€œpageā€ (UI), but must be implemented in source code to become operational.
  • MIX ENVelope implementation (editing is already operational, including point placements/trajectory, mix envelope loop setting, and rates as milliseconds).
  • PROGRAMs (aka synth-like presets).

MIX ENV (mix envelope) points 0 to 4 and vectors (trajectory):

Mix envelope loop settings:

…and RATES (all as default 1000ms to run the related vector / segment) - from 0 to 10000ms/10s:

3 Likes

Hello,

As a bad news, FM doesn’t work from expander (have erratic frequencies sometimes), so this feature is cancelled (until I’ll can find a solution).

The updated VX expander (I’m sad), only the 5 outputs…

About Vektor module, as good news, any (all) 32 USER WAVEFORM (000 to 031) can be assigned via .wav file import (032 to 127 are built-in ROM waveforms).

However, constraints for WAV import are:

  • Microsoft/IBM WAVE format (.wav extension).
  • Single cycle (multi-frame wavetables aren’t supported… like the original hardware).
  • PCM signed 16-bit (uncompressed format).
  • 44100Hz as samplerate.
  • 1 channel (mono).
  • 2048 samples (16-bit words coding), aka 4096 bytes.
  • Filesize: 4140 bytes.

:information_source: Wave file can be imported either:

  • via right-click context menu command.
  • by drag and drop the file to the Vektor’s display!

:warning: All 32 user waveforms are saved in json (approx. 900 kilobytes per Vektor instance). The pro is it’s easy to make presets. The con is the important size.

Hope I’ll find a better solution by using onAdd() / onSave(), events, but strangely nothing is working as expected. The ā€œmodule/InstanceIDā€ subfolder - via getPatchStorageDirectory() function - is never created!

1 Like

The folder is created by createPatchStorageDirectory() - getPatchStorageDirectory() just returns the name.

1 Like

Interesting Ben! Thank you very much about createPatchStorageDirectory(), sure this will help me a lot! Thank you very much :wink:

1 Like

I’m stupid because I’m using onSave/onAdd in FroeZe module, but… I don’t have seen createPatchStorageDirectory() in onSave() event handler!

Also, in FroeZe module I’ve used createPatchStorageDirectory() in onSave() event handler, instead of getPatchStorageDirectory() - more elegant I guess. Fixed for next release.

Thanks and thanks again, Ben, you save my life - oups, my file :grin: :+1:

2 Likes

Hello,

Now by the precious help by Ben (stoermelder), all 32 user waveforms go to patch storage (saved/exported as wav-compliant format, re-imported by onAdd event handler), instead of json serialization.

VCV’s WTVCO module looks a good example, despite it saves only one wavetable file, Vektor can use up to 32 wave files (as user waveforms), from slot 000 to 031 (slots 032 to 127 are built-in ā€œROMā€-like waveforms, so they can’t be changed). One or 32, the principle remains identical, however. :wink:

Preset concept (via right click context menu) is working, but partially, because preset doesn’t have its patch storage - except if I’m wrong. If the ā€œreferenceā€ Vektor module is removed from the rack, recalling preset restores all module parameters (serialized in json), but it doesn’t find custom waveforms, unfortunately.

As I’ve wrote prepreviously, saving 32 waveforms in json is a bad idea (900 kbytes is too large, the recommendation for json is max. 100 kbytes).

Really I don’t know how I’ll can embed used wave files in preset… Any help/advice will be appreciated (TIA). I don’t know if it’s possible (and recommended or forbidden) to copy these wav file(s) to preset folder (or subfolder using preset filename)…

In patch storage, file are named WfUser_xxx.wav (xxx is related to user’s slot number, from 000 to 031). Unused (and ā€silenceā€ all-0) waveform files are deleted.

1 Like

You could add a custom context menu option ā€œSave preset with wavetablesā€ or so, and then embed into the json - it will increase the size, but the user can decide to do so and it won’t increase the patch size. Then in dataFromJson() you can check if wavetables are stored in the preset.
And no, presets do not have something like patch storage.

1 Like

Hi Ben, it’s an excellent idea! I’ll implement it today, thanks again Monsieur. :wink:

1 Like