Numerology Store    Download  Video    Forum


Go Back   Five12.net -- Online Forum for the Numerology Music Sequencer > Third Party > Hardware Synths & Effects

Reply
 
Thread Tools Display Modes
  #1  
Old 11-09-2016, 03:43 AM
edology edology is offline
Junior Member
 
Join Date: Nov 2015
Posts: 7
Default Controlling Jomox Moonwind (MSB/LSB)

Hi Numerologists!

I am trying to control my Jomox Moonwind using Numerology.

Everything works fine but there is something I still cannot do!

The Moonwind manual says:

In the Moonwind the fine resolution controllers for cutoff can be transmitted by 2 MSB/LSB controllers. Most sequencer programs are able to do this; you only have to define these CCs as 14 bit controllers with MSB and LSB and edit the respective values. The other CCs only use the regular CC resolution of 127 steps. For some parameters this is less than the internal range or equal but it is absolutely sufficient regarding the control range.

The controller numbers are:

Parameter Controller No. Range
Cutoff Left MSB* 16 0..3 MSB
Cutoff Left LSB 17 0..127
Cutoff Right MSB* 18 0..3 MSB
Cutoff Right LSB 19 0..127

I am using a Modulation Sequencer connected to a NRPN Generator.
In the fields MSB/LSB I put 16/17 (Voice 1) and 18/19 (Voice 2).
Min Value = 0 Max Value = 16383.

The Moonwind doesn't react. I am sure I am missing something...

Someone has an idea? What am I doing wrong?

Many thanks!

Edo
Reply With Quote
  #2  
Old 11-09-2016, 02:37 PM
jim jim is offline
Administrator
 
Join Date: Nov 2008
Location: Albuquerque, NM
Posts: 4,349
Default

Quote:
Originally Posted by edology View Post
In the Moonwind the fine resolution controllers for cutoff can be transmitted by 2 MSB/LSB controllers. Most sequencer programs are able to do this; you only have to define these CCs as 14 bit controllers with MSB and LSB and edit the respective values. The other CCs only use the regular CC resolution of 127 steps. For some parameters this is less than the internal range or equal but it is absolutely sufficient regarding the control range.
In that case, direct NRPN will not work -- the value encoding is different.

Quote:
Originally Posted by edology View Post
The controller numbers are:

Parameter Controller No. Range
Cutoff Left MSB* 16 0..3 MSB
Cutoff Left LSB 17 0..127
Cutoff Right MSB* 18 0..3 MSB
Cutoff Right LSB 19 0..127
You should be able to do this relatively easily with a CCGen module and some BinaryOp modules. I'll sketch out what to do here, just let me know if you need more detail:

- Setup a CCGen to send CCs 16 and 17. Set scaling for both 'voices' to "No Scaling".
- Set ModSequencer to generate values in the range 0 to 1.
- To generate the MSB value for CC 16, use a BinaryOp module to scale the ModSeq CV by 3 --- so 0 to 1 in the mod seq will generate 0 to 3 on CC 16.
- To generate the LSB you will need two BinaryOp: One to multiply the ModSeq CV value by 381 (i.e. 3 times 127), then feed that into a second UnaryOp set to "Int Modulo" with Input B set to 127.

That should get you close -- I recommend using the MIDI Monitor from snoize.com to verify the outputs.

Cheers,
Jim
Reply With Quote
  #3  
Old 11-10-2016, 05:23 AM
edology edology is offline
Junior Member
 
Join Date: Nov 2015
Posts: 7
Default

Hi Jim! Thank you for your help!

I think I am getting closer...

- Setup a CCGen to send CCs 16 and 17. Set scaling for both 'voices' to "No Scaling".
Done!

- Set ModSequencer to generate values in the range 0 to 1.
Done!

- To generate the MSB value for CC 16, use a BinaryOp module to scale the ModSeq CV by 3 --- so 0 to 1 in the mod seq will generate 0 to 3 on CC 16.
Which function should I use for SCALE?

- To generate the LSB you will need two BinaryOp: One to multiply the ModSeq CV value by 381 (i.e. 3 times 127), then feed that into a second UnaryOp set to "Int Modulo" with Input B set to 127.
I think I got that...

Routing:
The same CV out from the Modulation Seq will feed
1) the first BinaryOp (CV Input A) -> CCGen (CV In 1 = CC 16) -> MIDI Out
2) the second BinaryOp (CV Input A) -> the third BinaryOp (CV Input A) -> CCGen (CV In 2 = CC 17)

Did I understand correctly?

If yes now I only need to no how to apply scale function in the first BinaryOp.

Many Thanks!

Edo
Reply With Quote
  #4  
Old 11-10-2016, 07:19 AM
edology edology is offline
Junior Member
 
Join Date: Nov 2015
Posts: 7
Default

I think I got this one


- To generate the MSB value for CC 16, use a BinaryOp module to scale the ModSeq CV by 3 --- so 0 to 1 in the mod seq will generate 0 to 3 on CC 16.
Which function should I use for SCALE?

I just saw there is a function called SCALE/OFFSET. With 3 in the Scale field I got correct output CC16 0-3 (thanks to MIDI Monitor!)

The problem is that even if I can see the whole range 0-127 going out (CC17) what I hear (playing a rising edge) are 4 "zones" of ranges: it raises then it suddenly falls and raises again (from a higher note), the it suddenly falls and raises again (from a higher note) etc.

I hope I wasn't too confusing in my description

Edo

PS: I can send you a file made with MIDI Monitor if this can help.

Last edited by edology; 11-10-2016 at 07:33 AM.
Reply With Quote
  #5  
Old 11-12-2016, 06:21 PM
jim jim is offline
Administrator
 
Join Date: Nov 2008
Location: Albuquerque, NM
Posts: 4,349
Default

Quote:
Originally Posted by edology View Post
- To generate the MSB value for CC 16, use a BinaryOp module to scale the ModSeq CV by 3 --- so 0 to 1 in the mod seq will generate 0 to 3 on CC 16.
Which function should I use for SCALE?
Integer Multiply -- and, as you mention in the other post, the Scale & Offset module works as well.

Quote:
Originally Posted by edology View Post
Routing:
The same CV out from the Modulation Seq will feed
1) the first BinaryOp (CV Input A) -> CCGen (CV In 1 = CC 16) -> MIDI Out
2) the second BinaryOp (CV Input A) -> the third BinaryOp (CV Input A) -> CCGen (CV In 2 = CC 17)

Did I understand correctly?
That looks correct!

Cheers,
Jim
Reply With Quote
  #6  
Old 11-12-2016, 06:50 PM
jim jim is offline
Administrator
 
Join Date: Nov 2008
Location: Albuquerque, NM
Posts: 4,349
Default

Quote:
Originally Posted by edology View Post
The problem is that even if I can see the whole range 0-127 going out (CC17) what I hear (playing a rising edge) are 4 "zones" of ranges: it raises then it suddenly falls and raises again (from a higher note), the it suddenly falls and raises again (from a higher note) etc.

I hope I wasn't too confusing in my description

Edo

PS: I can send you a file made with MIDI Monitor if this can help.
Email me a copy of the project -- I may have missed a detail in the math. For instance, the LSB may be 'flipping over' to zero a step earlier than the MSB...

Jim
Reply With Quote
  #7  
Old 11-13-2016, 11:16 AM
edology edology is offline
Junior Member
 
Join Date: Nov 2015
Posts: 7
Default

Thank you Jim, I just sent it!

Edo
Reply With Quote
  #8  
Old 11-14-2016, 04:20 PM
jim jim is offline
Administrator
 
Join Date: Nov 2008
Location: Albuquerque, NM
Posts: 4,349
Default

Ok, so the trick is that you need to "truncate" the MSB value after scaling it by 3, but before the CC Gen. The CC Gen module, with scaling off, rounds the input value to an integer but in this case, that means the MSB reaches 1 much too early.

I also tweaked the 2nd argument for the modulo operation -- it should be 128, not 127.

See your email for an updated example!

Cheers,
Jim
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -6. The time now is 04:18 PM.


Powered by vBulletin® Version 3.8.1
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.