Upcoming Tonecarver module: tcArpGen (in Beta)

I’ve found it limiting in the past when modules assume the lowest note is in the bass. Some chord progressions sound much better when following voice leading rather than the root note of the chord being assumed to be the lowest. It’s the whole reason for chord notations like G7/F# which is a G7 chord with an F# as the bass, the lowest note.

3 Likes

Long before that triads were notated as “first inversion”, “second inversion”. ex: cmaj has c as the lowest note, first inversion has e as the lowest note and second inversion has g as the lowest note.

1 Like

haha - yes, but we actually documented that and made the documents available (in several places). Is this standard documented somewhere?

Love it and appreciate the implementation very much:

I’ve looked at blue arp, kirnu and cthullu, but this is the most promising implementation I’ve come across so far of a seq+arp doing: Input → Generic Rules → Output.

Somewhat related to @pgatt’s remark, my mind immediately thought: Can I in the rule file choose between picking from the sorted values (sorted by voltage) and the pre-sorted values (the order in which they are stacked in the polyphonic cable). Am I correct in my understanding that the way it is implemented I can not access the pre-sorted version?

And if so, would it be possible to have the input sorted as an option, or would that clash with the harmonizing or other parts of the implementation?

Or better yet, would it be possible to implement a pre-sort $. :slight_smile: That way users of this module (that would be me!) could pick their own picking. By pre-sorting the poly input by volume for example, using some auxiliary modules before inputting it into your module, I could pick by played volume in the rule file. Or by inserting the output of another monophonic sequencer into a shift register and output a number of the merged outs into your module’s poly in, I could pick from a FIFO. etc. etc.

Really enthusiastic about this.

1 Like

Not as far as I know, other than in the community posts. I would have to search the community for Aria’s posts in 2020 on this. I cannot remember if this proposal was documented in some repository.

Whereas the poly external scale proposal works well for western 12-semitone diatonic scales (or chromatic), it would not work for arbitrary tunings and scales.

Here is the primary “Poly External Scale” format topic from 2020:

1 Like

Interesting ideas …

For the poly scale, there will be a menu option to select between the “poly ext. scale” format or the “poly sorted by voltage” format. That will set the scale with tonic and degrees.

For the input voltage, there is a button on the panel to select between sorted hi-to-low, sorted low-to-high, or as-received (unsorted), That sets the order for the input values.

There is currently no action in the rules file that affects the sorting order of the poly scale or the poly input. Maybe something could be added in a future release …

2 Likes

Beta version of the module, for Windows, is available in Dropbox here: Tonecarver-2.0.3,with tcArpGen Beta. Drop the .vcvplugin file into the plugins folder under your Rack User directory and start/restart Rack2.

Comments and feedback warmly welcomed.

The manual at this point is more of a quick sketch than an in-depth user guide. Hopefully it gives enough clues to get you started and whets your appetite for exploration.

2 Likes

I installed your beta of your plugin under Windows and I will do some exploring and testing of at least tcArpGen.

1 Like

What is the trick to get output from tcArpGen? I have a clock and have loaded the arp demo text file. Other modules in my test patch are outputting sound, so everything should be fine for tcArpGen. I’m getting no notes and no gates out to FM-OP, even though the clock is passing through you module. I figure there is something obvious that I am overlooking. Thanks,

Hmm … Do you have high gates incoming for each channel in the poly input that you want recognized as input? The input of each channel at the Poly In V/Oct port is only “seen” when there is a high value (10.0) in the corresponding channel of the Poly Gate input.

(Perhaps tcArpgen should take all incoming v/oct channels as notes when there is no Gate In connected … )

Also, verify that at least one of the scale degree buttons is enabled (blue).

Okay, things are happening now. The issue was that the text file selection is not saved as part of the patch and has to be reloaded each time Rack is launched.

1 Like

Although I don’t know fully what I am doing :wink: I have my Meander module set to an Am scale and have Aaron Static ScaleCV sending the A Minor scale to tcArpGen. Meander is playing a “12 bar blues” harmonic progression (chords and bass playing) in Am and I am sending the single channel melody note and gate to tcArpGen. tcArpGen is sending to an FM-OP.

They are playing very well together :grinning:

1 Like

Ahh, yes. Good catch. New version is available in the dropbox folder with a fix for that. The rules file path is now saved with the module and reloaded on opening a saved project.

1 Like

Could you just save it into the patch zip archive? That way it’s portable and no other directory needed?

As per VCV standard I believe that if the gate is monophonic, it should be expected to be assigned to all V/Oct-in channels. And if it is not monophonic, it should be assigned per channel to V/Oct-in. But I can see how that would make it impossible to select only the first V/Oct-in so I think your choice makes sense.

Like you said, it would make sense that if NO gate cable is connected, that ALL is assumed.

It’s an amazing module! The output is very musical because of the nature of the L-System. It will take some time to wrap my head around going from initial state through rules and replacement to an output, but all the example files and the literature you provided are of great help.

Thank you very much.

1 Like

Thanks. The new version appears to be saving the text file path as intended.

1 Like

The PDF says : Preformatted textGiven a set of 1 or more (up to 16) input notes, tcArpGen arpeggiates over the input notes and generates up to 3 harmony notes selected from the active scale.

What determines whether it generates 1, 2, 3 or 4 harmony notes? Currently my test patch with 1 Meander melody note input into tcArpGen is outputting 4 channels, but channels 3 and 4 are 0v. Do you always output 4 channels, regardless of how many notes are to play?

Here is a brief demo of tcArpGen being fed by Meander as a 12-bar blues harmony and bass and melody with tcArpGen generating the melodic arp and harmony notes.

Here is the patch if anyone wants to play with it: Tonecarver tcArpGen Beta Test-2.vcv (9.6 KB)

1 Like