Multichannel pitchbend question

Official support for: mutools.com
Post Reply New Topic
RELATED
PRODUCTS

Post

Hello, long time no see :oops:

Recently I got interested in microtuning. I played a bit with Huygens-Fokker Scala and decided to build microtuning device dedicated to the chosen scale directly in MuLab, so that I would have microtuner in a single rack's slot 8) One thing I've noticed before getting to composing that modifying midi through Scala or through my MUX preset is causing wobbling possibly due to pitchbend data in single channel affecting the other midi channels as well. Can't seem get rid of this. It happens also with MuSampla. I attach the file and screenshot below.

So the question is: any ideas what could be wrong with my preset/setup?

BTW. I'm using 6.4.18 currently
You do not have the required permissions to view the files attached to this post.

Post

The screen shot shows PB on Ch 1 and Ch 6. Is that intended? What's the PB source and where is the Event Monitor plugged in?

Post

FYI:

The Note Key Splitter module dispatches the incoming events to 1 of the 12 outputs based on the note key, i.e. C notes go to output 1, G# notes to output 9 etc. This module can be very useful to create drum patches where each of the 12 keys triggers another sound. All other non-note events are routed to output 1.

Cfr http://www.mutools.com/info/docs/mux/mu ... dules.html

Post

pljones wrote:The screen shot shows PB on Ch 1 and Ch 6. Is that intended? What's the PB source and where is the Event Monitor plugged in?
1. Input is PB-less, all notes are on channel 1.
2. Mapping of the keystroke to the given pitch is done by Note Mapping/Note Key splitter.
3. PB is embedded in the sequences at the 2nd bottom row. Sequences are triggered as determined by matrix in point 2.
4. Sequence = single long note + PB (see screenshot)
5. Each sequence is redirected to the single channel (1st bottom row) so that the note and its PB would be on that single channel to not interfere with the PB on the other channels.

I'm having problem with point 5 - where it seems that PB is omnipresent and it changes the tuning of notes on all channels and that defeats the possibility of creating chords where each note of the chord is differently PB-ed.

Event Monitor is after my fx and to me it seems it shows correct output.
mutools wrote:FYI:
The Note Key Splitter module dispatches the incoming events to 1 of the 12 outputs based on the note key, i.e. C notes go to output 1, G# notes to output 9 etc. This module can be very useful to create drum patches where each of the 12 keys triggers another sound. All other non-note events are routed to output 1.
Cfr http://www.mutools.com/info/docs/mux/mu ... dules.html
There are no other non-note events on the input and they all come from the sequence played after the Note Key Splitter and when using MIDI Channel Remapper I'm pushing then to the given channels. Up to this point it works fine (as it's seen on the MIDI Monitor).
The problem is that the notes on all channels are still bend by the pitch bend that comes in earlier regardless of the channel causing all notes in chord to be bend while I believe that according to MIDI specs pitch bend should operate per-channel.

Example: https://dl.dropboxusercontent.com/u/104 ... 4_test.mp3
1. sound bend down by the note with PB that came 2nd
2. sound bend up by the note with PB that came 2nd
3. mix of 2 separate notes (how I expected it would come out)

Quick explaination of what I want to achieve ( http://www.matthiaskronlachner.com/?p=817 ):
Scala is receiving MIDI Notes and translates them according to the loaded scale/tuning.
It sends the nearest MIDI note to the desired frequency and a pitch bend message to exactly match this frequency. The problem with pitch bend in MIDI is that it affects the whole MIDI channel. Every note played back or is stil sounding over this channel will be detuned by a new pitch bend message. Therefore Scala iterates through all available 16 MIDI channels in a cirle. That means the first note is sent on first MIDI channel, the second note on the second MIDI channel and so on.
You do not have the required permissions to view the files attached to this post.

Post

Pitchbend has a channel number in the event message. This has no bearing whatsoever on how what receives the event processes it. A synth that processes messages on any channel - i.e. in "omni" mode - simply disregards the channel number. It does not take any notice for any processing. That means it does not matter if all events are on Channel 1 or events are spread randomly across all 16 channels, it will process them identically.

If you want channel number to have any effect, you need to target a polytimbral device - one that acts differently to events received on each channel it accepts them on. You can also use a channel splitter to prevent messages across multiple channels arriving at a device that is in "omni" mode and having undesired effects.

Post

pljones wrote:Pitchbend has a channel number in the event message. This has no bearing whatsoever on how what receives the event processes it. A synth that processes messages on any channel - i.e. in "omni" mode - simply disregards the channel number. It does not take any notice for any processing. That means it does not matter if all events are on Channel 1 or events are spread randomly across all 16 channels, it will process them identically.

If you want channel number to have any effect, you need to target a polytimbral device - one that acts differently to events received on each channel it accepts them on. You can also use a channel splitter to prevent messages across multiple channels arriving at a device that is in "omni" mode and having undesired effects.
So that means that MuSampla and other polyphonic Mulab devices are 'omni' type :( ? If I wanted to broadcast on all channels at once that would mean setting up 16xMusamplas with the same sample loaded. Samples I guess would not be CPU heavy, but imagine 16 instances of synth. That's my least preferred solution - quite counter-productive :hihi:

Post

Not sure why you would want MuSampla to be channel specific as it can only play one sample. If you want to play multi samples, then use the multi-sample player module or MultiSampla device. Also see the MIDI Channel Remapper and MIDI Channel Splitter modules. Maybe they can help in achieving what u want.

Post

mutools wrote:Not sure why you would want MuSampla to be channel specific as it can only play one sample.
I wanted use the MIDI specification's possibility to pitch bend each channel to play microtonal (pitch bent) chords easily. If it was possible I would just set up my tuning matrix once and copy/paste as a first effect in all racks containing single instance of MUX device - very quick way and light for CPU.
mutools wrote:If you want to play multi samples, then use the multi-sample player module or MultiSampla device.
MultiSampla is a good thought, however imagine repeatably creating such matrix each time there's new instrument added, for each key/note given in the instrument range you have to tune the pitch of the note... :roll:
mutools wrote:Also see the MIDI Channel Remapper and MIDI Channel Splitter modules. Maybe they can help in achieving what u want.
Already using them for splitting the midi into the multiple channels. Still after that I'd have to put several instances of the synth/sampler (a synth per output might come quite CPU heavy so not really a solution).

Another (last) possibility is to look for a multichannel sampler.

Post Reply

Return to “MuTools”