Chinenual Development Thread

One simple solution - pre allocate 1GB of ram ahead of time. Everyone has a free gig, and you will never need that much. I’ve never done anything that dumb, but it would actually work fine.

I’ve fixed the allocation bug @Squinky highlighted. I adapted the same design that @Vortico uses in the VCV Recorder (a rotating set of buffers with all allocation on a worker thread). There’s a small chance of some thread synchronization overhead if the worker thread can’t keep up with the main audio thread, but I’ve tried to set the size of the buffers such that that’s unlikely to happen. In any case, it’s going to happen a lot less frequently than the allocations did in the old code. Code review, of course, welcome (see the new MIDIBuffer.hpp file).

Meanwhile, unless I hear back from testers soon, I’m inclined to submit to the library.

1 Like

I’ve submitted the new version (with the CC Expander) to the library. The original request from 9 days ago has not yet made it to the library - so not sure how long it will be before you’ll be able to get this via the library. Until then, you can install it as you have been installing the betas:

2 Likes

Congrats! This is a really helpful addition.

1 Like

The 2.1.1 version of the recorder and expander are now available in the VCV Library.

Meanwhile, I’ve added some new functionality and there’s a beta available for testing. It makes it easier to sync a MIDI recording with audio stems since the MIDI recording optionally delays capturing events until the first note gate. You can use the new ACTIVE gate to trigger the audio recording to start when the recorder decides to start recording. Looking forward to feedback.

  • New Output Port: ACTIVE can be used to synchronize the MIDI Recoding with an audio recording. When Align At First Note is enabled, this goes high after the first note is detected, else as soon as the recording is started.
  • An LED under the ACTIVE port lights up when the recorder is capturing events (it lights up when the ACTIVE gate is high.
  • Panel layout changes - the first column of ports is shifted left a bit to align with the Record button.
  • The Record button is now labeled REC (was RUN).
  • The Start/Stop Gate input is no longer labeled GATE. It shares the REC label with the Record button.

I’ve added a new module to the plugin - DrumMap - which converts percussion gates to V/oct based on General MIDI standard drum note assignments.

DrumMap_w_MIDIRecorder DrumMap_w_CV-MIDI

From the changelog:

Improved support for capturing percussion events:

  • If a track’s V/OCT input is not connected, the recorder defaults to MIDI C4 (so for drums, only a GATE input is necessary). When a polyphonic gate is connected, but no V/OCT, then each channel of the GATE gets a unique MIDI note pitch.
  • A new module, DrumMap, maps named gates to General MIDI “drum” notes (which can then be plugged into the MIDIRecorder or sent to a live drum machine via the core CV-MIDI module).

Looking forward to your feedback. Get a beta at: Release Release v2.3.0-beta1 · chinenual/Chinenual-VCV · GitHub

7 Likes

Awesome! I’m been wishing for a trig to midi combiner for a while. Makes external sequencing so much easier. Will give this a go.

1 Like

I wonder about the size of the intersection of people who use VCV Rack and who are interested in Arvo Pärt’s compositional approaches. It’s at least one, so I’ve created a new module, the Tintinnabulator.

Tint

It produces a harmonized pitch from an input chord and melody using Avro Pärt-style tintinnabulation where a harmony note is selected from a reference chord. Pärt’s music tends to use simple triads for his tintinnabulation, but the module allows you to specify any set of notes as the reference.

The module supports several variants of the harmonization - select first available pitch or next one, in both upwards or downwards direction. Also supports bidirectional tintinnabulation, where every other note switches between upward or downwards selection. An Octave offset can be used to offset the harmony up or down from the reference melody line.

Looking forward to your feedback.

Test it via the beta posted at:

9 Likes

I’m looking forward to trying this out. Somewhere over the past 50 years, I was introduced to tintinnabulation in electronic music, but probably in the Environments ambient series during the 60s and 70s. Not sure if the Avro Pärt-style is the same thing, but probably related. The sound of bells. In my earliest ambient works in the late 80s, I used a lot of tintinnabulation.

2 Likes

First test of Tint with Meander’s harmony and melody parts sound very good. I do not fully understand what I am doing here, but I’m having fun.

2 Likes

So the size of the intersection set is at least 2 :slight_smile:

1 Like

At least! It is absolutely amazing how good this sounds with Meander in Am diatonic, with bass added. Each of the Tint “modes” are very interesting… I’m ready to give this 5 stars right now!

Adding in the Meander chords sounds very good. So, Tint is providing the melody as a tintinnabulation of the Meander chords and melody.

3 Likes

Looking forward to trying this! Make that 3! Love Arvo Part.

3 Likes

In the process of debugging the Tintinnabulator, I needed a way to debug V/Oct note values. I couldn’t find a “meter” in the library that directly displayed note names instead of voltages. So I made one: NoteMeter.

NoteMeter

Test it at

2 Likes

Great. I use Impromptu FourView for up to 4 notes.

I look forward to trying NoteMeter!

1 Like

I completely missed FourView. I wish there was a “metering” tag we could add to scopes and other diagnostic voltmeter-like modules. Would make them easier to find in the library.

4 Likes

That’s great, thanks for adding Notemeter. Didn’t know about Fourview either. Would it be possible to have Notemeter support polyphony? Just had a crash input polyphonic output from Tint into it.

Also, re: Tint, does it require having both melody and chords inputs to generate different notes at Harmonized output?

1 Like

NoteMeter is supposed to handle polyphony! (and does in my tests). I’ll review the code to see if I missed an edge condition. Can you tell me how you have things connected so I can try to reproduce your conditions?

Re: Tint: yes you need both Chord and Melody connected. The basic idea is that the module creates a harmony for each note in the polyphonic Melody input by selecting a note from the set specified in the Chord input.

2 Likes

Strange, not sure what happened but working now. Tried to replicate but ok so far.

1 Like

Here is my demo song using Chinenual Tint with Meander. This is in the brightest “mode” C Lydian and stays in place on the “I” chord while Tint works with the current “I” C chord in its various inversions and octaves modified by the circular arpeggiation of the chord as the “melody”. The intent was to stay true to the tintinnabulation bell-like tunes. There is also lots of automation going on in the patch.

Meander Tintinnabuli C Lydian.vcv (18.7 KB)

6 Likes