Aria Salvatrice Signature Series 1.3.0 BETA 2: Arcane, Atout & Aleister - Today's Fortune ★

Same method used here. Those Stoermelder modules are the shiznitz. :slight_smile:

@Aria_Salvatrice Just keep doing what you like with the design, I enjoy your style and I look forward to whatever you come up with. Play on !

1 Like

Thanks for the nice comments and the great reception for the module. Feels nice to see it pop up everywhere.

For now I’m in “wait and see” mode. I have like 9 modules planned in 3 separate series before I think of revisiting it, anyway. Darius having been well received is encouraging me to try out a very unusual idea next. I don’t want to explain it before it’s done but I hope people will like it.

12 Likes

Before I invest too much time into an idea, mind helping me out? I want to check that something doesn’t look too nasty on other platforms (as I absolutely do not trust NanoSVG on that front, lol)

I need a screencap of my blank plate on Linux and OS X, preferably high dpi and standard dpi for both, at 100% zoom, with the plugins-v1/AriaSalvatrice/res/Blank.svg faceplate replaced with the following test graphic: https://aria.dog/upload/2020/01/Blank.svg

Thanks if you can help!

My first whack at Darius. I use 2 Darius, but also use Signal delays to turn those 2 voices into 4. Is the plural of Darius Darii?

I think Darius does quantize before sending CV, and I’d love there to be an option to NOT quantize as well, because (as in this patch) I use a polyphonic quantizer (ML Quantum) with a Stoermelder 8Face in order to step through different scale presets.

2020-02-22-Darius.vcv (72.8 KB)

4 Likes

Given that it’s named after the 1980’s Japanese arcade game series, which was itself probably named after the emperor of the Achaemenid Empire, probably not. But on the other hand, I entirely endorse facetiously using the most pedantic irregular plural possible in any circumstance.

5 Likes

@Aria_Salvatrice I just saw this and absolutely LOVE your Darius sequencer concept! Amazing!

1 Like

Forgot to reply to this. It does no quantization at all!

I see a few people have downloaded it but nobody sent in anything! I really need to verify how NVG interprets those variations across platforms before I invest a lot of time into this.

Linux, 100% zoom at 1920x1080:

image

1 Like

Are there some cases of inconsistant rendering across platform ? Saw a lot of videos of vcv patches and never witness a single difference between module panels

Here’s a screenshot on mac :

10

1 Like

Thanks for the caps @contemporaryinsanity and @23volts

I have no idea, I just know for sure that a lot of details are inconsistent on windows between my standard dpi monitor and my hi-dpi tablet, that NanoVG has trouble rendering some paths auto-traced from my simple drawings, that subpixel rendering might be GPU/Platform dependent, and that I’m trying to implement this LCD using a rather unorthodox technique to force a pixelated aspect:

Given those factors I wanted to check it looks tolerable everywhere in advance.

I’m using this cool tool do to this, btw: https://codepen.io/shshaw/full/XbxvNj

Mac Retina 5120 x 2880 Screengrab from VCV at 100%

1 Like

Linux 100% zoom 3840x2160:

image

1 Like

Have you tried path> “Object to Path” / “Stroke to Path”

Thanks for the screencaps everyone! While it looks much better on a high-dpi screen, it doesn’t look nasty enough on any platform to make me reconsider the idea.

Yup, in fact that’s why you see multiple variations in this test picture. They look similar but each one tests a different failure mode I thought might give me trouble.

Here is the piece I refer to above featuring Darius being controlled by CV-Map a Seriously Slow LFO (https://www.youtube.com/watch?v=IUQFZnt4-7c).

2 Likes

i like the dog playing a saxophone :+1:

3 Likes

Hi @Aria_Salvatrice !

Congratulations to your first modules and especially the Darius! When I listened to the demo, I was surprised about how much sense the concept makes: It establishes that balance between repetition and variation that contributes to making melodic patterns interesting for us humans.

Here is a suggestion for the generalization of Darius: Instead of a triangle (always starting at the same point), make it a square (a matrix) and maybe make future probabilities dependend on what happened in the past. That way, for instance, the end of a cycle can influence where the next cycle is going to begin. This makes sense from a musical standpoint because the human ear expects progressions that are not completely arbitrary. That way, our brains are encouraged to act out their obsession with finding patterns because they sense that there is some kind of order there.

This might be an interesting read: https://en.wikipedia.org/wiki/Aleatoric_music and https://de.wikipedia.org/wiki/Random_Walk

1 Like

Woof, heyo friends.

Because of the fantastic reception of Darius, my first serious module, I was emboldened to try out implementing a very bold and unusual idea.

Despite having nagging doubts people might not understand my concept at all, I spent a lot of time this week implementing this module, and learned a lot about C++, module creation, and Tarot traditions (yup) in the process.

Instead of writing a long blurb to explain my thinking… I’ll just release it, copy-paste the docs, and trust you to appreciate the idea on its own terms.

Since I have rigged up Azure Pipelines, I have automatic builds for all platforms now! However, I have not tried it on Linux or on Mac OS X, so the first person who tries them should please let me know whether they work at all.

Beta downloads a few posts below

We’re gonna have a (hopefully short) beta period before I submit it to the library.

And now, for the documentation (also available on the GitHub page)


Arcane, Atout & Aleister - Today’s Fortune ★

I hope luck is on your side. Every day, you will share together the fortune I shall grant you. It is your task to interpret what my augury means to you.

Modules in the Arcane series are comprised almost only of output jacks, sending today’s fortune as CV. Those values are the same for every Arcane user, and nobody can predict or influence them. I pronounce a new oracle every day at 12:00 AM UTC without fail.

I will draw the following cards, and impart the following knowledge:

  • Arcane Majeur - a major arcana of the Tarot of Marseilles.
  • Bâtons (Wands), Coupes (Cups), Deniers (Coins), Épées (Swords) - a different 16 step binary pattern for each suit of the Tarot.
  • Scale pattern - The notes of a music scale comprised of 5, 6, 7, or 8 notes, often scales common in popular Western music, and sometimes less common ones. Which note is the root of the scale isn’t specified, only which notes are part of the scale.
  • 8 note pattern - Every note from the selected scale, sorted in a random order. If the scale has fewer than 8 notes, up to 3 different notes will be repeated at the end, an octave higher.
  • BPM - Integer ranging from 60 to 180 BPM, with values between 90 and 150 twice as likely.
  • My sincerest wish of luck, love, health, and prosperity.

How to interpret my fortune is up to you and your friends. You can make use of a single output jack of the module, or all of them. You can craft an ephemeral song that will no longer exist tomorrow. You can create an unchanging patch that will grace you with a new song every day. There are no rules but the ones you choose to follow.

All I can do is reveal some mundane obscura to get you started scrying the will of the jacks:

  • Quantizer - A pair of polyphonic ports quantizing input to the nearest scale note.
    Try to combine it with the Split and Merge series, the ability to sort by voltage might prove useful.
  • Scale notes - Polyphonic ports sending every note of the scale on the fourth octave (0V~0.9166667V), in the order of the 8 note pattern.
    The left jack named “Scale” sends as many notes as there are in the scale (between 5 and 8). The second jack named “Padded” sends the entire 8 note pattern, with any repeated note being one octave higher than normal.
    If you combine them with ML_modules sequential switch 8->1, they can become a melody.
  • Arcane Majeur - The number of the arcana, divided by 10.
    Thus, The Fool is 0V, The Magician is 0.1V, and so on up to 2.1V for The World. Following the conventions of the Tarot of Marseilles, the 8th arcana is Justice, and the 11th is Strength, unlike the ordering popularized by the Rider-Waite-Smith deck, which swaps those two arcana around.
    You can multiply this signal by 4.76 with an offsetter such as Bogaudio’s to obtain a 0V~9.99V signal, if you wish.
  • BPM - Follows the VCV Standard for clocks and LFOs where 0V stands for 120BPM.
    You can send that signal to a compatible clock module such as Impromptu Modular’s Clocked if you require a clock (for example, for swing, or other time signatures than 4/4).
  • Reset and Run - They control all the outputs below them. Operate them manually using the button, or synchronize multiple devices by sending them a trigger from a single source, for example the Little Utils Button.
  • Gate/Ramp on the 32nd note, 16th note, 8th note, 4th note, Bar - Sends, depending on the position of the Gate/Ramp switch, either a gate synchronized to the BPM at the corresponding interval in 4/4 time, or a 0V-10V ramp corresponding to that phase.
    While Arcane can serve as a master clock, the ramp can be used to drive the ZZC Clock, if you’d prefer to use it.
  • Bâtons, Coupes, Deniers, Épées. The four patterns, sent as gates on each 32nd note, 16th note, 8th note, 4th note, or bar.
    Don’t limit yourself to drums, you can use them in many different ways! Want to visualize the patterns, or to use them as something different than a rhythm? Try out the Aleister expander.
  • The Pulse Width knob lets you select how long the gates are, proportionally to their note length. It affects every gate output. Need more granular control over pulse widths? An external clock or a pulse generator such as Submarine’s will help.

The module’s LCD will show you the date of the fortune, the BPM, the name of the arcana, and the notes of the scale. However, it cannot unambiguously name the scale, since your fortune doesn’t stipulate on which note the scale starts.

The LCD will also tell you whether today I am wishing you luck, love, health, or prosperity (displayed as MONEY due to the size of the LCD). You cannot access that information via CV, as it is only a personal wish that might not manifest, unlike my oracles, which are always accurate.

There are two available form factors of the same module:

  • Arcane: the full 24hp version displays today’s arcana, from Nicolas Conver’s 1760 Tarot of Marseilles.
  • Atout: the smaller 9hp version doesn’t display the arcana, but includes all the functionality and every jack from Arcane. To conserve space, the Gate/Ramp switch is at the bottom.

The third module, Aleister, gives you access to the Bâtons, Coupes, Deniers, and Épées binary patterns as series of 16 outputs sending continuously either 0V or 10V, rather than as a rhythmic pattern of gates. If you connect only the first output of a group, it will instead be a polyphonic cable outputting the entire group. Aleister takes 14hp of space. You can employ Aleister’s services as a standalone module, but when placed directely the right of either Arcane or Atout, the module will act as an expander, lighting up the jacks in sync with the rightmost connected output of the corresponding pattern on the parent module. Try it out, you’ll understand what it does immediately.

If the module is active at the time a new fortune is drawn, the values will not change, but a notification a new fortune is available will appear on the LCD. Using the right-click menu, you can Initialize the module to download the newest fortune. Remember to also initialize Aleister if in use (whether standalone or in expander mode).

The tarot deck used is the Conver – Ben-Dov (CBD) version. The CBD deck was restored in 2008-2011 from the original 18th century deck by tarot expert Dr. Yoav Ben-Dov’s. It was chosen for its traditional significance, the quality of its imagery, and the simplicity of its broad lines being well suited to VCV’s limited vector rendering engine.
While there is great variety in decks across many different Tarot traditions, Tarot of Marseilles imagery does not vary significantly across decks. The exact same subjects are drawn from the same angle, leaving very little room for the artist to re-interpret the themes. A few figures are generally depicted nude, and while the style of the CBD deck is obviously neither graphic nor intended to titillate, I took the liberty to slightly alter a few cards to remove details, in particular the Devil’s codpiece, as most users will download my plugin without being forewarned about contents a small minority would find upsetting. I hope you will understand my decision.

Upon activation, this module will connect to the internet, and fetch today’s numbers on a GitHub repository via HTTP. The fortunes are not generated locally to make it possible for all users to share the same numbers every day, while also making it impossible to cheat fate and predict the next oracle (which a local deterministic implementation would necessarily entail).

If the repository is unreachable, the module will will output 0V on all ports, except the quantizer, which will forward input as-is. You can find more information about Arcane server and API, and their source code, on their GitHub repository.

There is no offline mode, and no built-in way to load older fortunes, by design. These are multiplayer-only oracles. But I won’t prevent you from editing the .json files in the AriaSalvatrice/Arcane/ directory of your VCV Rack user directory, if you really must. Every downloaded fortune is archived locally, a full archive is available from GitHub, and if a local file exists for today, it will not be checked against the server.
(Quick tech remark about JSON API cache spoofing: such self-deception will never alter your true destiny, and it is unwise to cling to the past instead of living for a future you can yet change.)

Using this series of modules to their full extent requires a bit of creative patching, a bit of lateral thinking, but most importantly, friends to share your different interpretations of the same fortune with.
If you treat my oracles as a mere random number generator, you will never gain any wisdom from them.

11 Likes

So cool! Just tried Darius. Will post something soon featuring this! Merci merci Aria !

1 Like

Hey Aria, on Linux I could compile from source but Rack crashes when I click one of the Arcane modules. I also tried your Linux binary, but the result is the same.

1 Like