I updated, here’s what’s in theme.json now:
{
"bg": "76736ff",
"fg": "191919f",
"in": "b7ad9ef",
"out": "4e4c4af",
"version": 1
}
and this is what I see in VCV Rack:
I updated, here’s what’s in theme.json now:
{
"bg": "76736ff",
"fg": "191919f",
"in": "b7ad9ef",
"out": "4e4c4af",
"version": 1
}
and this is what I see in VCV Rack:
Really cool - Room in particular is gonna be so useful, I’m always obsessively re-arranging my rack
thanks, it should be fine for now but it’s not optimal. I’ll do it right the next update. til snprintf can produce different results on different machines.
hehe, I’ve used that one a lot since I’m building a patch where each voice has one row. it’s good having it besides the mixer and cycling rows to bring them into view instead of scrolling to them.
of course before snakes there was tron light cycles, and before that (briefly) there was blockade from Grmelin. I made a version with a flash front-end and a java server. we had 50 people in the office playing at once https://www.youtube.com/watch?v=NUacA8Dj3BY
for me - apart from playing snake on my first cell phone - the most played incarnation was Curve Fever 2, which was (maybe still is) also a flash based online multiplayer thing. it features smoothly curving snakes instead of only 90 degree turns. has ffa, teams and powerups. great game! easy to start, hard to master.
My most played version of Snakes was one I wrote on my Amiga in AmigaE.
that looks cool.
here is a possible workaround for what you wanted (at least how I understood it)
It makes use of a new feature coming to towers, that lets you sample the IN port for setting the faders.
In this example the top bank (A) is used by MIDI-CAT and the bottom (B) by TRANSIT.
Each bank’s output is connected to the other bank’s input.
The lower half of the screen is a simple virtual midi controller running outside of Rack.
Creating presets work like this:
Reading presets with fade requires some helpers from Bogaudio
Further you could hook-up external controls to trigger the copy action and save snapshot, and of course you need to switch between the outputs of bank A and B whatever they are controlling.
In case someone tries out these builds, please report back if they aren’t working, as this is the first time I use github to automate cross-platform builds.
Btw, thanks to everyone who contributed to this thread on Azure Pipelines!
EDIT : realized I’ve been going off-topic and turning into a tutorial on towers with this so I’ve moved this comment from here to here.
The EXP random out from VCV Random is inputted to the top fixed voltage row.
The bottom row is controlling how much modulation to apply. It is set to bipolar mode to be able to go down or up. Since it’s output is also polyphonic it can control the faders individually. In case the channel count doesn’t match perfectly, towers wraps around whatever it gets.
Here 4 channels control 8 (based on a mono IN), in a way that every 1st in a row gets increased, every 3rd gets lowered and 2nd/4th are left as they are.
The mod knob is turned a bit to the right. It controls the overall scaling so when on zero (12 o’clock), no modulation gets applied.
This way you can selectively introduce randomness or controlled change to your fixed voltages without having to break in or out of polyphony.
Made a new module, pianoid
!
I also improved on towers
’ music notation view (seen above), added a “windows” view for better viewing of gate signals and fixed some things (see changelog for details)
If anyone wants to try this out before it goes to the library, here are my dev builds
below, I paste the entry on pianoid
from the manual…
polyphonic note monitor and controller
made for visualizing notes coming from a midi keyboard, generative sources etc. it can function as a sort of “sample and chord” for people who are comfortable with playing chords on a piano keyboard. inputting notes with mouse is also possible.
toggle sustain with the sus
button
when sustaining, pianoid
will sample notes that are pressed together and hold them until you play the next chord
sustained notes get saved with the patches (and presets), so if you close a patch, you don’t lose what you had sustained, you can also use 8FACE to buffer different chords and automate progressions etc.
if no input is connected, you can play notes with your mouse
enable sustain to input chords.
Haven’t said this elsewhere, but I sure do love the aesthetic of your modules! This new module looks super cool.
Thanks! This one was inspired by messing with a toy melodica, wish that had sustain too though
new module incoming, thanks to this post!
I had this module on my computer for a while now (actually pianoid
was made so it could help visualize this amongst others), maybe it will be ready faster if I share it as it is now.
based around the idea of avoid notes, it takes a note input and a polyphonic chord input and has a few knobs to set intervals you want to avoid.
Input notes that are contained in the chord aren’t avoided.
The defaults will give you nice harmonies if you input 4-note chords.
For example on a C major seventh chord (C E G A
), it will automatically avoid everything outside the C major scale, and also F
, which tend to sound dissonant over this chord because it is 1 step from E.
detailed break-down : when I say it “automatically avoids everything outside the C major scale”, I don’t mean it makes a “guess” based on the inputted CM7 chord that we are in C major, it has zero knowledge of scales, the “majory” scale arises from checking for the “forbidden intervals”.
If you look at a keyboard and press down the C major seventh chord (C E G A
), every black key will be at 1 step from one of the those notes, and since the first interval is set to 1, these are all avoided, leaving a major scale.
Furthermore, F is 1 step from E (also 6 steps from B), so it will be avoided as well.
The exception in this case is B that is 1 step from C but since it is in the chord it will not be avoided. Every other white key is fair game since they are either contained in the chord, or they aren’t 1 nor 6 steps from any of its notes. Of course this works with different chords, intervals, but the piano layout makes it easy to explain it with C major.
in case you are wondering why 6 is the max interval steps you can set: intervals have no direction (at least not here), so for example 7 steps up is the same as 5 steps down (C + 7 = G, C - 5 = G) etc.
Overall it seems to be a good way of generating melodies from chords instead of scales, it’s useful for playing notes above subsequent chords that aren’t in the same scale, or that don’t fit into a list of pre-known scales.
Below is an example walking through some chords
avoider
itself with the yellowish pianoid showing the outputThe interval knobs are at the default settings so if the input random note is a minor second or a tritone away from any of the chord notes, it will be avoided, and the closest note from the current chord will be used instead. I’m not changing anything to these settings here, only inputing different chords with keyboard.
The inputs use gates as well as cv here, but I might leave this out later (although this is good for not having to calculate new notes all the time, and for “keeping a voice together” as the gate cables follow the corresponding cv through a patch).
The panel is definitely not final (I’ll add small displays to show the interval steps for sure, and change the layout), how it works is up to changes as well, but I’m not sure what else it needs…
Tell me what you think!
now that I start to remember where I left this off, here some things I’ll do before it could be considered finished:
updates are in the dev-builds
Any thoughts on how clear what the module does based on the above explanation or the new panel?
nevermind, added it back, it was meant to be used just its function wasn’t implemented yet (it is now), which is to ignore notes when playing from keyboard and not holding down the maximum allowed polyphony.
it’s optional tho
this layout might be confusing in that it makes it seem like the CHORD
input is an optional cv input for the interval knobs, when actually, they are separate things. maybe adding cv in to the knobs will make this a non-issue.
hmm… maybe it would be much more clear if there would be 6 on/off switches for each possible interval instead of the knobs.
switching to buttons instead of the knobs
if no cv input is present, it will generate a random note by itself when the NOTE gate is triggered (or constantly if not :))
added SCALE poly outputs that send the possible notes with the avoid rules applied
fixed a bug where notes were being quantized to the chord notes’ octave instead of their own, although this makes some sense and might make a good companion module
added sample divider to optimize performance
the MODS input is not working now, but it will let you set all the intervals at once through a 6 channel polyphonic cable.
updates in the dev-builds