Synth Forum

Notifications
Clear all

Help pls - MODX + nanoPad2 to change PitchBend

14 Posts
4 Users
0 Likes
1,389 Views
Posts: 0
New Member
Topic starter
 

Hi

I recently got Korg NanoPad2 for my MODX8. I needed an X-Y controller for Pitch Bend.

Can someone help me, please?

1) Can I connect NanoPad2 to MODX (USB To Device) port?

2) How to configure MODX Globally or just a Performance or a Part - so that when I move my finger in XY Pad, it will change the pitch.

Thanks a lot!

 
Posted : 05/06/2021 1:09 am
Jason
Posts: 7909
Illustrious Member
 

I haven't used this feature. My understanding was it was for allowing for MIDI notes to be played. I'm not sure if pitch bend or other messages are supported. You can plug it into the USB TO DEVICE port. It's not going to hurt. But it may not do what you want.

The main purpose was to have a keyboard and those keys on a USB-only keyboard would mimic the physical keys.

 
Posted : 05/06/2021 4:08 am
Posts: 801
Prominent Member
 

I haven't used this feature. My understanding was it was for allowing for MIDI notes to be played. I'm not sure if pitch bend or other messages are supported. You can plug it into the USB TO DEVICE port. It's not going to hurt. But it may not do what you want.

The main purpose was to have a keyboard and those keys on a USB-only keyboard would mimic the physical keys.

I don't see why you would think that. Nothing in the documentation implies such unexpected restrictions. As far as I can see, the feature simply allows the board to receive MIDI over the USB connection, from any class-compliant device. There's no reason to think it filters out any particular MIDI commands, while passing others. I would expect it to recognize all the same MIDI as it does when you connect something to its 5-pin DIN MIDI input. The idea that, for example, you could connect a keyboard and possibly have only that keyboard's keys work (but not its pitch bend/mod controls, pedals, MIDI assignable sliders/knobs/buttons etc.) seems like an odd assumption to make (and one that is not consistent with the documentation, which refers to "MIDI data" and "channel events," not "notes" or "keys" ).

 
Posted : 05/06/2021 1:11 pm
Jason
Posts: 7909
Illustrious Member
 

I was remembering this statement from BM:

When you use the “To Device” port - this allows a controller capable of only Transmitting Out on one channel to take the place of the MODX keys. The MODX speaks to itself directly, when in Multi it generates MIDI commands for all linked Parts. This means your external controller will behave the same as playing the MODX keys - playing “Pearly Gates” a Perf with 3 KBD CTRL linked Parts, can all sound together, even though your controller only sends on one channel.

The caveat with my understanding was disclaimed - I don't use the function so I could be wrong since a lot of things in using the keyboard has exceptions and special considerations that one needs to discover "hands on". Therefore, I was hoping someone would fill in the gaps and indicate if their USB TO DEVICE connected MIDI controller did more than just note on/off messages as implied by "take the place of the MODX keys".

... that's with what I could remember at the time. As I dig to find this quote above - the same message also states:

Extra Credit: How the “To Device” MIDI Connection works
__ When MIDI I/O Mode is set to Multi
• Channel events, received through channels corresponding to Parts with Keyboard Control Switch set to On, are received in parallel by all Parts with Keyboard Control Switch set to On. After receiving, when this instrument transmits MIDI data, all note data of the channel corresponding to parts with Keyboard Control Switch set to On are transmitted.
• Channel events received via the channel that corresponds to the Part with Keyboard Control Switch set to Off affect the corresponding Part. After receiving, when this instrument transmits MIDI data, the same channels used for receiving are used to transmit the channel

__ When the MIDI I/O Mode is set to Single or Hybrid
• Channel events, received through channels corresponding to Parts with Keyboard Control Switch set to On, are received in parallel by all Parts with Keyboard Control Switch set to On. However, when this instrument receives Control Change messages regarded as Common parameters and the MIDI I/O mode is set to Single, this instrument does not send Control Change messages to the Part and instead treats them as Common parameters. After receiving, Sending of Control Change messages is done according to the MIDI I/O Channel setting.
• Channel events received via the channel that corresponds to the Part with Keyboard Control Switch set to Off are received by the corresponding Parts. The received MIDI data is not re-transmitted when the MIDI I/O mode is set to Single.

... so the "extra credit" section mentions CC which would cover modulation. I think it would help to have some feedback from users that have hands-on experience here or wait for my keyboard to get plugged back in so I can just test and translate into a more clear statement.

 
Posted : 05/06/2021 2:58 pm
Posts: 801
Prominent Member
 

Yes, first-hand experience would confirm! But note that the entire "extra credit" section talks about receiving (and passing along) channel events. Pitch bend is a channel event (as are, of course, the Note On and Note Off commands, and many other things). There is nothing in that "extra credit" section distinguishing the Note On/Off events from other kinds of channel events, nothing suggesting that Note On/Off channel events are recognised but other channel events are not. I'm not saying it's impossible, but it is not anything any of the text implies, and it would be a strange limitation to leave undocumented!

See also: https://www.mixagesoftware.com/en/midikit/help/HTML/midi_events.html

Also, saying "this allows a controller capable of only Transmitting Out on one channel to take the place of the MODX keys" does not mean that's the only thing it can do. What BM describes there is equally true of a keyboard plugged into the 5-pin MIDI IN jack (if the MODX is in Single mode). And similarly, that doesn't mean that's the only thing you can do with a keyboard plugged into that jack.

 
Posted : 05/06/2021 5:56 pm
Posts: 0
New Member
Topic starter
 

Thank you very much, Jason and AnotherScott!

I am able to connect NanoPad2 to MODX through "USB to Device" port.

I can configure NanoPad2 to send a specific CC number to MODX.

Can you please let me know how to configure the MODX globally or just a Performance or an individual Part to receive a certain CC# from the external controller and assign it to a Destination (InsertA/Var Send/etc) in MODX?

Thanks a lot!

 
Posted : 05/06/2021 6:29 pm
Jason
Posts: 7909
Illustrious Member
 

I get it - I was only expressing, off the cuff, my read on the main focus of the feature given the messaging I received. No big deal.

@Goindarajan

For the most part CC assignments are done Performance-by-Performance (not globally). To get there:

1) Press the [PERFORMANCE] (HOME) button
2) Press the [EDIT] button
3) Touch the menu (touchscreen) "Control" -> "Control Number"

Here you'll see a list of the Performance configurable CC assignments. Ribbon, breath control, foot control 1&2 (expression pedals), assignable knobs, etc. These are transmit and receive - so you can change the CC # for these. There's a button ("wormhole" is sometimes used for this) that takes you to the global settings for CC values: Scene CC, Super Knob CC, Footswitch.

Most of these CCs belong to controllers that the motion control engine deals with and are sources that can modulate destinations such as the various effect destinations you listed.

 
Posted : 05/06/2021 8:12 pm
Posts: 0
New Member
Topic starter
 

I think I got the flow now. Thanks, Jason!

1) I need to set a CC# for my external MIDI controller to one of the CC#s assigned for MODX SOURCE (Buttons/Controls).

2) When MODX receives a CC# (with its value) related to one of these SOURCES (Buttons/Controls), MODX will invoke the appropriate DESTINATIONs (Var Send/Pitch/LFO/InsertA) assigned automatically.

My next question is related to "Value" that is sent along with CC#. In my case, the X-axis value of the X-Y controller transmitted along with the CC#.

How to use this "Value" number in MODX to alter DESTINATION (Pitch or Volume)?

If a DESTINATION contains 2 or more parameters, how to assign the "Value" to a parameter of my choice?

Thank you very much for all your help!

 
Posted : 06/06/2021 5:15 pm
Jason
Posts: 7909
Illustrious Member
 

Each Part gets 16 maximum destinations.

Each destination number can be assigned to only one parameter.

Each destination number is paired with one source.

The same source can be paired with more than one destination number.

The same parameter can be assigned to more than one destination number.

I don't understand your question about destinations having more than one parameter. The only thing close to this are destinations that have the ability to opt in/out of individual elements. This is the same parameter - but when dealing with certain element-centric parameters you can tell the engine which elements to offset through use of element switches. That's still not having multiple parameters per destination. That's being able to filter (or not) the modulation on individual elements of the same selected parameter.

https://yamahasynth.com/learn/montage/mastering-montage-9-controller-box-switches

If the external device is sending the right MIDI messages - you should be able to press the [CONTROL ASSIGN] button, then move the controller on the external MIDI device which sends a message and would be picked up by [CONTROL ASSIGN] as a request to pair the associated source controller with a destination parameter. This is easiest seen with pitch bend since pitch bend is standard and requires no CC assignment setup. I don't know what the Korg gear has without looking at it - so maybe PB isn't possible. But that's the general idea - you can leverage [CONTROL ASSIGN] once the pads or XY is sending the right control numbers.

The data values will be considered "input" values to the modulation curves. The input goes 0-127 on the curve graph from left to right. The output of the curve (which is the offset value for your destination parameter) is the height of the curve (positive above the "horizon" or x-axis and negative below it). Each curve has a different shape and you can create your own user curves.

 
Posted : 07/06/2021 8:07 am
Posts: 0
New Member
Topic starter
 

Thank you very much, Jason!

I am new to MODX. It is a huge learning curve for me. Let me test this and get back to you.

The whole purpose is to set up a vibrato-like sound for one of my instruments and a fluttering sound for a Flute.

Any pointer on this please let me know.

Thanks again!

 
Posted : 07/06/2021 10:57 pm
Jason
Posts: 7909
Illustrious Member
 

Some of the built-in flutes have articulations that aren't exactly the flutter sound - more like an overblown harmonic. But you can see if that matches anything close to what you want. The sound gets this way by using high velocities.

An actual flutter using the tongue to quickly interrupt/restart the airflow may not come out well by adjusting pitch, level, etc. This is the sort of thing that would be better either sampled or modeled. The parameter modulation does not provide quite the amount of control and interaction as needed for complex modeling - but it doesn't hurt to try. I would not learn the system by trying to make it to the end game of emulating a flutter. I'd start smaller to get the bearings.

A controller outputs values at any given time. Most of the physical controllers (pitch bend, mod wheel, assignable knobs, etc) are not changing their values unless you're moving them. The non-motion-sequence modulation matrix depends on movement of the controller for anything to change. Therefore, you'd need to be moving along the XY pad to make the response change over time. If you want to automate movement - then you would no longer use a physical controller but instead would use the motion sequence engine which has you program in the movement of a virtual controller.

Perhaps go through some of the tutorials and start off with the examples given there. Gain an understanding of the different types of control you have. There are many choices how to get what you want. Even an LFO is a way perhaps to get there.

 
Posted : 08/06/2021 4:02 am
Jason
Posts: 7909
Illustrious Member
 

Circling back here to the CC clarifications - I have plugged in a MIDI controller to the USB TO DEVICE port to see how it worked in practice.

What I tested was pitch bend, mod wheel (configured at standard CC on the external keyboard) and the external keyboard's ribbon controller which was set to the FC #1 CC. Unfortunately, with the keyboard in this mode (USB connected) - I cannot change the CC assignments. An unfortunate limitation for that device. However, that doesn't hurt the test here necessarily - only limits what CCs I can test.

I also tested channel aftertouch (the only aftertouch my MIDI controller supports) and that also worked fine.

What I found was that everything my external USB TO DEVICE connected keyboard was sending was recognized by Montage (should be same for MODX) and was able to participate in the modulation "source / destination" matrix.

The "gotchas" I found was that the USB TO DEVICE although worked fine as a source controller would not be recognized by the [CONTROL ASSIGN] feature. What I mean is that after selecting a parameter I wanted to modulate, and then the [CONTROL ASSIGN] button lights up to indicate it can be assigned -- I could not then move any controller on the USB TO DEVICE connected keyboard in order to assign this controller as the source controller. What I had to do instead was move the Montage/MODX controller I knew was mapped to the same MIDI CC, pitchbend, etc then setup the modulation. It's unfortunate only because I don't necessarily "know" how the external MIDI controller is setup and it would be nice if any given controller on the external USB-MIDI device matched a source controller on MODX/Montage - that it would "just work" and automatically assign as a source controller. This just means you have to go through the extra step of ensuring your external device is mapped correctly which means knowing what logical name matches a given MIDI message. In other words - you have know that say the Common/Audio domain Assignable Knob #3 is CC 19 (by default - it can be changed on MODX/Montage on a per-Performance basis) so you would need to setup your external controller to match and then turn that correct knob on MODX/Montage or, on MODX/Montage, assign through the manual method without using the [CONTROL ASSIGN] shortcut method.

Similar to the above - the "Auto Select" feature inside the "Mod/Control" -> "Control Assign" menu does not look for matching messages from the USB TO DEVICE controller either.

"Gotcha" is used liberally - it's not something that's "wrong" - just something to know about. Incidentally - this behavior matches what happens when you connect through the 5-pin DIN port for both [CONTROL ASSIGN] and the "Auto Select" functions. So there's nothing new about this with respect to external controllers and the limits of what they can interact with.

I think you'll find, with a bit of manual setup, that everything works great.

 
Posted : 09/06/2021 8:27 pm
Bad Mister
Posts: 12304
 

The whole purpose is to set up a vibrato-like sound for one of my instruments and a fluttering sound for a Flute.

Any pointer on this please let me know.

Thanks again!

Welcome to YamahaSynth,
Typically, setting up vibrato for an instrument is done with the “Element LFO” — which can be applied fulltime or biased so that the amount of vibrato can be controlled by using a controller (for example, the MOD WHEEL could be used to apply the Depth of vibrato).

A fluttering sound can be added to any Flute by applying the “Flutter 1” Arp Phrase so that exceeding a specific Velocity, for example, will articulate the flutter. Or you can use the Flute Flutter Waveform found among the 3977 Factory Waveforms... see example below

Using an LFO to create vibrato
Each AWM2 Element has its own Low Frequency Oscillator that can be used to create vibrato (pitch variation) when applied to the Element’s Oscillator.
Starting with the “Init Normal (AWM2)” select a Sawtooth Waveform for this experiment.
From the HOME screen
Press [CATEGORY] > Set “Bank/Favorite” = All > Set “Attribute” = All
Touch “Init” > select the “Init Normal (AWM2)”

Press [EDIT]
Select “Part 1”
Along the bottom of the screen tap “Elem1” to view its parameters
Touch “Osc/Tune”
Tap the Waveform Name box, a pop-in menu appears, launch the Waveform “Category Search”
Select “Syn Lead” and find the “P5 Saw Down 0dg” (Prophet 5 Sawtooth Down 0 degrees)
Press [ENTER]

Tap “Element LFO”
Here you’ll see the default LFO Wave is Triangle
The default Speed is 38
The LFO can be applied to Pitch Mod (vibrato), Filter Mod (wah-wah) or Amp Mod (tremolo) — experiment with Pitch Mod.

Change the value, then trigger a key to hear the result
Change the value, then trigger another key to hear the result.
The result can be heard on the next triggered note-on.

Leave the Pitch Mod, Filter Mod, and Amp Mod set to 0.
Move the cursor to highlight “Pitch Mod” = 0
Press the [CONTROL ASSIGN] button - now glowing because you highlighted an assignable parameter.
Move the MW — the MODX will assign the Mod Wheel to control Pitch Modulation Depth.
The default assignment Curve (Standard) shows how moving the MW up will ramp up the Pitch Modulation Depth.

While the actual steps are a bit different you can apply vibrato to FM-X sounds in a similar fashion.

Motion Control “morph” between Flute with no vibrato, and a Flute Waveform with natural vibrato; Flutter Waveform on [AsSw2]
The MODX gives you a Single Part, 8-Element Flute with and without the player’s natural vibrato. Instead of using an LFO you are morphing between Elements using the MW.

It’s a crossfade that when the MW is lowered (minimum) plays the Flute Element without vibrato, and as the MW is raised you morph to Elements with the natural vibrato of the original Flute player. Additionally, a Flute flutter Waveform can be brought in, on demand, as an Expanded Articulation Control Element. The [AsSw2] button is setup as ‘momentary’ for activating that articulation. (cc87)

Study an example of this by recalling the “Concert Flute” Performance. When the MW is down the Flute plays the Flute Element with no vibrato, raising the MW fades out the Non-vibrato Element and fades in the Elements that contain the natural vibrato of the player.
Press and hold [AsSw2] button to bring in the Flute Flutter Element.

Recall “Concert Flute”
Select Part 1
Press [EDIT]
Touch “All” along the bottom of the screen to view all 8 Elements and see their mapping. This screen identifies all 8 Waveforms by Name, and shows under what conditions each Element will be heard.

You can easily create your own ‘flutter’ sound using the synth engine, and choose to apply it as a Arp Phrase when you exceed a certain velocity... in such a case, the normal flute sound will play until you surpass a particular Arp Velocity Range. You could create a Motion Sequence to vary the sound output thus creating a flutter effect.

Additionally, a flutter effect can be created using an LFO set to do Amp Mod (musician term: tremolo), and can be applied via a controller. Or you can use Filter Mod or even an Insertion Effect... it depends on what you would like the results to sound like. Don’t be afraid to experiment. What should guide you is what else you may need that particular instrument to do... the “Concert Flute” Single Part Performance has much more to it than first meets the ear... it is actually quite flexible in what it is able to accomplish (as a Preset).

Hope that helps get you started.

Extra Credit:
Just FYI the CC# for the [AsSw2] is programmable on a per Performance basis. The default is cc87. All values 0-63 = Off, all values 64-127 = On

Within any Performance, after pressing [EDIT], you can find the Control Number assignments on the Performance’s upper “Common/Audio” level of the architecture... tap “Control” > “Control Number”

 
Posted : 13/06/2021 10:10 pm
Posts: 0
New Member
Topic starter
 

Great input and I understand the concept now! Since I am new to the synth world, it's a huge learning curve for me. I will check this out.

Thank you very much, Jason and BM!

 
Posted : 20/06/2021 5:43 pm
Share:

© 2024 Yamaha Corporation of America and Yamaha Corporation. All rights reserved.    Terms of Use | Privacy Policy | Contact Us