"Cloning" in oram-bookworm

Hi @zynthianers!

I would like to explain a little bit how “clone” (aka layering sounds to play unison) works in the new testing version “oram-bookworm”.

First, you may note that the “clone” option does not exist anymore. We have better mechanisms in oram because several chains can use the same MIDI channel.

1.If you are using ACTI mode for your input device

A. THE EASY WAY

  • Enable “Active MIDI chanel” in the admin menu. With this enabled, all chains in the same MIDI channel will receive the MIDI stream from the input when some of them is selected (active).
  • Setup your “cloned” chains in the same MIDI channel.

B. THE COOL WAY

  • Disable “Active MIDI chanel” in the admin menu. With this disabled, only the selected (active) chain will receive MIDI from the input, not matter the MIDI channel.
  • Setup your “cloned” chains in the same MIDI channel.
  • Create a MIDI+Audio chain in the same MIDI channel. We call this chain the “GROUP” chain. You don’t need to add any processor, so you can select None from the list.
  • From the GROUP chain options, access “MIDI out” and select your “cloned” chains. This will route MIDI from the GROIUP chain to the cloned chains.
  • Finally, access “Audio Out” submenu on each cloned chain: uncheck the Main Bus and check the “GROUP chain”. With this you are routing audio from your cloned chains to the GROUP chain, so you can control de mixed audio with the GROUP’s fader.
  • Nice, true? I really love this way, but there is a little problem with it. Latency. When you route-back audio from chain’s output to the GROUP chain, you add latency. This is a general rule in digital audio processing: If you feed-back the signal, you add 1-period delay. The MIDI stream is not delayed because there is no real feed-back and it’s processed linearly.

2.If you are using MULTI mode for your input device

  • Simply setup your “cloned” chains in the same MIDI channel. That’s all.

Yes, this explanation should be in the wiki :wink:

Enjoy!

3 Likes

The cool way (B) means that you can select each chain individually and audition its sound or select the group chain to play them all simultaneously / layered. You will have full control of each chain (fader, pan, mono, etc.), be able to insert effects and see each peak meter and also have overall control of the group with the same control and monitoring (fader, pan, mono, etc. DPM, effects).

You don’t have to do both audio and MIDI grouping, each works individually and not doing the audio will reduce latency by one period net doing both audio and MIDI is super cool giving an flexible and intuitive interface.

It may be advantageous to be able to select the audio input chains from the group chain. Maybe someone will add a feature request / PR?

3 Likes

And of course, @riban’s comment should be in the wiki too :wink:

1 Like

I’m sorry, but I couldn’t find out. I want to create a keyboard split on the same midi channel in Multitimbral mode. I can set Note Range & Transpose in both chains, but these affect both chains at the same time. The chains are only layered.

same issue for me

I would like to do a split

a: Active MIDI CHANNEL: ON
b: Create instrument chain 1 with MIDI CHANNEL 1 from C-2 to A2
c: Create instrument chain 2 with MIDI CHANNEL 1 from A#2 to G(

Result:
instrument chain 1 and chain 2 on all range
where is the mistake?

There is a limitation in the implementation. I too would like this behaviour but we need to consider how best to implement it without breaking other workflows.

is there a workaround or I need to come back to 2401 stable

Sorry - I forgot! This is resolved. To create instruments that are keyboard split using same MIDI channel but working in Active mode:

  • Add chain with first instrument. Set its MIDI channel, e.g. 1. Set its keyboard range.
  • Add chain with second instrument. Set its MIDI channel, e.g. 1. Set its keyboard range.
  • In admin menu, enable “Active MIDI Channel”

Now, if you select either of these two instrument chains, only the one that is in the key range will sound. Selecting another chain will not sound either of these instruments.

1 Like

Brian, I did in this way but I got a layer sound, not a split

I suggestion to add some basic snapshots as template in factory bank; for example
empty instriument chain
split template
layer template
etc.

I get split.

Find here my snapshot: please check if you get split
005-split.zss (7.2 KB)

and please send me your split snapshot

Ah! There is an issue with instruments that share a common engine like Fluidsynth and ZyAddSubFx. We need to fix this. Please add a bug report. It should work for other instruments.

2 Likes

Oh no! My splits are all with Fluidsynth :slightly_frowning_face:
OK I added bug report.
Ciao

1 Like

My splits are mainly with Zynaddsubfx :smile:. Would be nice to get this functionality back.

Any intrepid explorers may want to try the bug/927-midi_range branch where I have implemented what may be a fix for this. It requires some testing and validation. There may be some regression introduced or unexpected behaviour elsewhere but I think it fixes the problem discussed here, i.e. that split keyboard on the same MIDI channel was not working.

1 Like

I quickly tried it with Zynaddsubfx and now it works again as it should. Even older snapshots were reproduced correctly.

1 Like

Should I stay with Bug/927-midi_range until it is merged in Oram?

If you want that feature then yes! I will try to keep the dev branch patched to match oram but I can’t guarantee that will always happen promptly. Hopefully we can review this dev branch during the week and figure out if it needs any extra work.

1 Like