Jump to content
Sign in to follow this  
torstenanders

MIDI control questions

Recommended Posts

Having support for MIDI controller data is great, but is it also possible to send pitchbend and aftertouch? Some Ableton Live instruments need that for more complex control (e.g., Collusion), as otherwise only the Modwheel and no other CC message is supported. 

 

Also, I have difficulties understanding what exactly the gen-controller argument span does. Judging from the way the term span is used in the example Controllers 1, I assume this controls the time span the resulting controller movement takes, measured in symbolical note duration, where 1 means a whole note (the term span is used very differently elsewhere, easily causing confusion -- a slightly different argument name would help). So, in effect it should control the length of the resulting list (depending on the set time resolution). However, this is not always the case. What am I missing here? Is there a bug?

 

larger span values result in longer lists, as expected

(length (gen-controller 1 (gen-sine 1024 4 1)))
=> 128
(length (gen-controller 2 (gen-sine 1024 4 1)))
=> 256
(length (gen-controller 4 (gen-sine 1024 4 1)))
=> 512

 

however, for shorter input lists this is not the case

(length (gen-controller 1 (gen-sine 128 4 1)))
=> 128
(length (gen-controller 4 (gen-sine 128 4 1)))
=> 128
(length (gen-controller 1 (gen-sine 12 4 1)))
=> 12
(length (gen-controller 4 (gen-sine 12 4 1)))
=> 12

Does this mean gen-controller always returns at most the number of input values?

 

Further, how does the span affect the result (if it does so) -- are the values simply looped/cut-off or are they interpolated to stretch/shrink over the specified time span?

 

Thanks a lot!

 

Best,

Torsten

Share this post


Link to post
Share on other sites

Actually, in Ableton I can control more params with CC messages via its MIDI map, but it would still be interesting to hear how to control pitchbend and aftertouch. I am aware of the :tuning parameter of DEF-SCORE instruments, but does that support timing information as the :controller argument as well?

 

Thanks! 

 

Best,

Torsten

Share this post


Link to post
Share on other sites

I haven't yet had the chance to test midi controller integration with Opusmodus+Ableton, but I'd be curious to learn more about your findings...!

Share this post


Link to post
Share on other sites

If you have Ableton Live, there is a MIDI bottom in the top-right corner. Click that to enter the MIDI map. Then just click on a supported controller in the Live interface and move any MIDI controller to activate a MIDI link. You can edit these in the left-hand list in the MIDI map.

 

Torsten 

Share this post


Link to post
Share on other sites

I just tested the Ableton Live and Opusmodus Live Coding system - no problems here, but only on 1 port.

added 6 minutes later

Any program (Ableton Live, Logic etc...) can be controlled by OM.

It is important to make a DEF-SOUND-SET file for your system first.

Share this post


Link to post
Share on other sites
14 hours ago, torstenanders said:

 

Actually, in Ableton I can control more params with CC messages via its MIDI map, but it would still be interesting to hear how to control pitchbend and aftertouch. I am aware of the :tuning parameter of DEF-SCORE instruments, but does that support timing information as the :controller argument as well?

 

 

The :tuning has no timing resolution control.

To control the timing you must use :controller keyword.

Share this post


Link to post
Share on other sites

> Does this mean GEN-CONTROLLER always returns at most the number of input values?

 

Is that intended behaviour, and if so why? 

 

It is important to make a DEF-SOUND-SET file for your system first.

 

I understand the usefulness for libraries with key-switches etc, but why for a whole DAW? Would you define one for Logic or Cubase as well?

 

> I just tested the Ableton Live and Opusmodus Live Coding system - no problems here, but only on 1 port.

 

It sometimes works for me as well, but sometimes does't, which is a tricky problem. Would like to know if anyone else had that problem. 

 

> The :tuning has no timing resolution control. To control the timing you must use :controller keyword.

 

Does that mean so far Opusmodus does not support continuously sending pitchbend messages, only per note onset? What about aftertouch?

 

Thanks!

 

Torsten 

 

Share this post


Link to post
Share on other sites
On 5/23/2017 at 9:10 PM, torstenanders said:

I understand the usefulness for libraries with key-switches etc, but why for a whole DAW? Would you define one for Logic or Cubase as well?

 

You define the sound set for the virtual instrument and not for the DAW.

 

 

On 5/23/2017 at 9:10 PM, torstenanders said:

Does that mean so far Opusmodus does not support continuously sending pitchbend messages, only per note onset? What about aftertouch?

 

Opusmodus supports any CC and naturally continuously sending of messages, for that you use the :controller keyword.

The :tuning is not a controller as such.

 

 

On 5/23/2017 at 9:10 PM, torstenanders said:

Is that intended behaviour, and if so why? 


This is fixed:

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Similar Topics

×
×
  • Create New...