Template for DSI Mopho Synths (v2.5) for Lemur v5 released
Template for DSI Mopho Synths (v2.5) for Lemur v5 released
[edit: update 15 March 2014]
See end of this thread for version 2.5, now fully compatible with Lemur version 5.
It has a new entry in user library (so you can still get 2.0/2.1 if you run older Lemur iOS software)
https://liine.net/en/community/user-library/view/459/
See end of this thread for version 2.0 release info, still here in the Liine user library:
http://liine.net/en/community/user-library/view/189/
(this info is outdated, check later in thread about 2.0 and 2.5 Dashboard.. )
'Mopho Dashboard' version 1.3 up and running. Created with editor version 3.04
Please see my post later in thread for details and changes.
In template under the "?" help is my active "To Do" list, but also scattered throughout scripts.
http://liine.net/en/community/user-library/view/189/
Setup:
Tested using iRig MIDI connected directly to Mopho Desktop. Midi channel 1, Target 0 has to be setup by you in your Lemur.
1) Mopho Global settings: ensure Receive NRPN parameters is enabled.
2) For front panel knobs to update Lemur, in Mopho Global settings, ensure send NRPN parameters is enabled.
3) Ensure that your iPad MIDI interface is not filtering NRPN messages. Many times, I had to power off iPad, take iRig out then re-load Lemur app to get MIDI in recognized even though the code was fine.
It worked best by using Wifi and the synth/interface connected there, that setup is covered by Liine videos.
There is a note on button to send test notes, define test note under "?" for now.
Also in the help (and debug while it still exists in there) there is a Sysex Device Inquiry button
that you can press to see if your Mopho is talking bidirectionally to Lemur.
It's all in the details.....LOT of time and effort, thanks everyone who has posted templates here so far I have learned from
your examples!
Some gory details
So I have developed script code to allow full NRPN control messages working to/from synth for full parameter range and control.
Yeah I guess it was a little complicated, but there are usable examples of NRPN for your own templates in here guys.
Checkout the functions under "mio" (midi io) container.. "mio.ntx" for transmitting, and "mio.listenCC" for decoding and processing incoming NRPN messages into something useful.
The idea was to make modular template code that can be more easily applied to other synths.
You'll see this under the container "mio.nrpn" where the NRPN controller mappings to local variable index is for each section.
There is a good chunk of framework in the template not used yet brought over from my other primary work in progress which is 5 times bigger than this.
This will be used once we can make bigger templates. I look forward to that day every morning checking the Liine downloads.
[edit: yes! this is no longer a problem and the 1.3 version is 830K wow!]
On the todo is updating knobs/sliders with the incoming NRPN updates, it's not too far off. But hey this is a version 1!
[edit: done.]
hope someone makes some music with it!
cheers~
Jay
See end of this thread for version 2.5, now fully compatible with Lemur version 5.
It has a new entry in user library (so you can still get 2.0/2.1 if you run older Lemur iOS software)
https://liine.net/en/community/user-library/view/459/
See end of this thread for version 2.0 release info, still here in the Liine user library:
http://liine.net/en/community/user-library/view/189/
(this info is outdated, check later in thread about 2.0 and 2.5 Dashboard.. )
'Mopho Dashboard' version 1.3 up and running. Created with editor version 3.04
Please see my post later in thread for details and changes.
In template under the "?" help is my active "To Do" list, but also scattered throughout scripts.
http://liine.net/en/community/user-library/view/189/
Setup:
Tested using iRig MIDI connected directly to Mopho Desktop. Midi channel 1, Target 0 has to be setup by you in your Lemur.
1) Mopho Global settings: ensure Receive NRPN parameters is enabled.
2) For front panel knobs to update Lemur, in Mopho Global settings, ensure send NRPN parameters is enabled.
3) Ensure that your iPad MIDI interface is not filtering NRPN messages. Many times, I had to power off iPad, take iRig out then re-load Lemur app to get MIDI in recognized even though the code was fine.
It worked best by using Wifi and the synth/interface connected there, that setup is covered by Liine videos.
There is a note on button to send test notes, define test note under "?" for now.
Also in the help (and debug while it still exists in there) there is a Sysex Device Inquiry button
that you can press to see if your Mopho is talking bidirectionally to Lemur.
It's all in the details.....LOT of time and effort, thanks everyone who has posted templates here so far I have learned from
your examples!
Some gory details
So I have developed script code to allow full NRPN control messages working to/from synth for full parameter range and control.
Yeah I guess it was a little complicated, but there are usable examples of NRPN for your own templates in here guys.
Checkout the functions under "mio" (midi io) container.. "mio.ntx" for transmitting, and "mio.listenCC" for decoding and processing incoming NRPN messages into something useful.
The idea was to make modular template code that can be more easily applied to other synths.
You'll see this under the container "mio.nrpn" where the NRPN controller mappings to local variable index is for each section.
There is a good chunk of framework in the template not used yet brought over from my other primary work in progress which is 5 times bigger than this.
This will be used once we can make bigger templates. I look forward to that day every morning checking the Liine downloads.
[edit: yes! this is no longer a problem and the 1.3 version is 830K wow!]
On the todo is updating knobs/sliders with the incoming NRPN updates, it's not too far off. But hey this is a version 1!
[edit: done.]
hope someone makes some music with it!
cheers~
Jay
Last edited by analog604 on 15 Mar 2014 18:01, edited 3 times in total.
Dashboard gear control templates: User 112 Idx :: LModIt Lite :: SVG image converter for Lemur Canvas
Re: Template for DSI Mopho Synth
I don't have a Dave Smith synthesiser, but from your description it looks like I can learn a lot from this template. NRPN can be important to know if OSC is not possible.
Thank you.
Thank you.
Formant+Eurorack, PPG wave 2.2, Korg MS-20, etc., EWI 4000s, QuNeo, etc., Mixbus32c, u-he, MadronaLabs, Samplemodeling, NI, etc., iPad2/4/Pro
Re: Template for DSI Mopho Synth
I'll strip down the NRPN stuff into a 'simplified example' for template use (if this is possible for script functions??), but if you have any questions let me know!
The NRPN implementation functions attempt to reduce the MIDI output as much as possible according to the specifications that I've read.
So if an NRPN parameter address is sent, that is remembered by Lemur and not re-sent if you continue to tweak the same knob. That's because once on a parameter, the synth remembers where it should be applying incoming NRPN values.
So only the value fields change, or increment/decrement by one if that applies (again, a savings in output bytes..for additional Lemur code processing. MIDI is so old and slow!).
Then after a timeout of 5 minutes of not sending the parameter address, it is next sent again just in case for a refresh.
I'm going to work on additional interface screens that will tie in some neat Lemur multiball and/or breakpoint controls to last touched dashboard controls.. that should be fun in action!
The NRPN implementation functions attempt to reduce the MIDI output as much as possible according to the specifications that I've read.
So if an NRPN parameter address is sent, that is remembered by Lemur and not re-sent if you continue to tweak the same knob. That's because once on a parameter, the synth remembers where it should be applying incoming NRPN values.
So only the value fields change, or increment/decrement by one if that applies (again, a savings in output bytes..for additional Lemur code processing. MIDI is so old and slow!).
Then after a timeout of 5 minutes of not sending the parameter address, it is next sent again just in case for a refresh.
I'm going to work on additional interface screens that will tie in some neat Lemur multiball and/or breakpoint controls to last touched dashboard controls.. that should be fun in action!
Phil999 wrote:I don't have a Dave Smith synthesiser, but from your description it looks like I can learn a lot from this template. NRPN can be important to know if OSC is not possible.
Thank you.
Dashboard gear control templates: User 112 Idx :: LModIt Lite :: SVG image converter for Lemur Canvas
Re: Template for DSI Mopho Synth
So, are you saying you have sysex feedback of parameters to the lemur?
Will have to take a look at this when I get back from holiday.
Nice work.
Will have to take a look at this when I get back from holiday.
Nice work.
Re: Template for DSI Mopho Synth
Thanks!
Only for sysex device inquiry. Unable to parse the entire edit buffer sysex send (289bytes) of Mopho of current Lemur array size limitation..
Tetra is more at 452 bytes or so.).
So for now, only certain NRPNs are sent by active knobs on synth.. I don't know how to request all of the parameters like I'd be able to do with an edit buffer send. Is there a way to request an NRPN value for a parameter from the synth? Sending to update values in synth works fine.
Only for sysex device inquiry. Unable to parse the entire edit buffer sysex send (289bytes) of Mopho of current Lemur array size limitation..
Tetra is more at 452 bytes or so.).
So for now, only certain NRPNs are sent by active knobs on synth.. I don't know how to request all of the parameters like I'd be able to do with an edit buffer send. Is there a way to request an NRPN value for a parameter from the synth? Sending to update values in synth works fine.
dc_Sux wrote:So, are you saying you have sysex feedback of parameters to the lemur?
Will have to take a look at this when I get back from holiday.
Nice work.
Last edited by analog604 on 28 Feb 2012 14:14, edited 1 time in total.
Dashboard gear control templates: User 112 Idx :: LModIt Lite :: SVG image converter for Lemur Canvas
Re: Template for DSI Mopho Synth
I found a bunch of bugs in my code today that I noticed when trying to map synth NRPN output to knob position in Lemur.
Version 1.2 update 13 Feb 2012
- Added multiball that can be assigned to change the 16 sequencer step values (very cool)
and other sections.
- All knobs that send NRPN on Mopho now update the appropriate knob/slider in Lemur! this is sweeet!
- Added bank and program change controls.
- fixed major bug w/ all envelopes sending control messages. This was a leftover from older code.
The envelopes can still be optimized but this was a big fix.
- Enhanced NRPN send and receive code.
Fixed bug in NRPN transmission logic: mio.ntx
Now will always send both NRPN address LSB and MSB if last address send differs.
Added inbound CC90+91 NRPN increment and decrement decoding to listenCC
* Mopho doesn't seem to send these, but this is about enhancing function for library.
- LFO section: fixed scale problem with Frequency controls and other area scale problems.
- Various bug fixes.
Tested using wirless and Lemur Daemon hosting a MIDIMan 2x2 with Mopho connected.
It is excellent to not have wires running to the synth now.
template at 511kb.. got to do some housecleaning in template to add more functionality to wait for software update.
http://liine.net/en/community/user-library/view/189/
cheers~
Jay
Version 1.2 update 13 Feb 2012
- Added multiball that can be assigned to change the 16 sequencer step values (very cool)
and other sections.
- All knobs that send NRPN on Mopho now update the appropriate knob/slider in Lemur! this is sweeet!
- Added bank and program change controls.
- fixed major bug w/ all envelopes sending control messages. This was a leftover from older code.
The envelopes can still be optimized but this was a big fix.
- Enhanced NRPN send and receive code.
Fixed bug in NRPN transmission logic: mio.ntx
Now will always send both NRPN address LSB and MSB if last address send differs.
Added inbound CC90+91 NRPN increment and decrement decoding to listenCC
* Mopho doesn't seem to send these, but this is about enhancing function for library.
- LFO section: fixed scale problem with Frequency controls and other area scale problems.
- Various bug fixes.
Tested using wirless and Lemur Daemon hosting a MIDIMan 2x2 with Mopho connected.
It is excellent to not have wires running to the synth now.
template at 511kb.. got to do some housecleaning in template to add more functionality to wait for software update.
http://liine.net/en/community/user-library/view/189/
cheers~
Jay
Dashboard gear control templates: User 112 Idx :: LModIt Lite :: SVG image converter for Lemur Canvas
Re: Template for DSI Mopho Synth
Forgot to update here, but a week and a half ago
I made the NRPN functions that are built into this template into a "test set and library" which will be more accessible
than shoveling through the template in here.
Here's the thread for it.
http://liine.net/forum/viewtopic.php?f= ... nrpn#p3852
for this Mopho template, i'm also working on version 1.3 with many updated features :
[edit: done! see later post for details]
-J
I made the NRPN functions that are built into this template into a "test set and library" which will be more accessible
than shoveling through the template in here.
Here's the thread for it.
http://liine.net/forum/viewtopic.php?f= ... nrpn#p3852
for this Mopho template, i'm also working on version 1.3 with many updated features :
[edit: done! see later post for details]
-J
Last edited by analog604 on 02 Mar 2012 03:54, edited 1 time in total.
Dashboard gear control templates: User 112 Idx :: LModIt Lite :: SVG image converter for Lemur Canvas
Re: Template for DSI Mopho Synth
Impressive template!
I just have Lemur app for a few days now and my editing doesn't go deeper than simple MIDI templates, but I hope to learn a lot from your template.
I haven't tested it very deeply, but on my Mopho it seems to work fine.
I am especially interested in a editing the sequencers .
Sound editing works fine on an Mopho keyboard, but the sequencers are not very easy to tweak on the synth itself.
Nice work indeed
I just have Lemur app for a few days now and my editing doesn't go deeper than simple MIDI templates, but I hope to learn a lot from your template.
I haven't tested it very deeply, but on my Mopho it seems to work fine.
I am especially interested in a editing the sequencers .
Sound editing works fine on an Mopho keyboard, but the sequencers are not very easy to tweak on the synth itself.
Nice work indeed
Re: Template for DSI Mopho Synth
Hi Tom and welcome!
Thanks for your kind words, there are many excellent template posted that I have learned from as well.
I hear you about editing the sequencers, it was difficult on the front panel.. and I didn't want to be tied to the computer every time using Sound Tower's editors (which I used quite allot) any longer so i made this.
Yesterday I added editing for the 4th sequence but it is tucked away until opened so you can still work with the other synth controls. I'll post the 1.3 update in a day or two.
If you want to see something neat.. and I don't know how useful.. but bring up the Multiball control (its icon is hidden under the Arp/Global panel)..
and assign either one of the balls to the sequencer. Then go into the sequencer and touch any one of them to bring it to focus.
Let the balls fly and..
Hope that you have fun making templates!
cheers~
Jay
Thanks for your kind words, there are many excellent template posted that I have learned from as well.
I hear you about editing the sequencers, it was difficult on the front panel.. and I didn't want to be tied to the computer every time using Sound Tower's editors (which I used quite allot) any longer so i made this.
Yesterday I added editing for the 4th sequence but it is tucked away until opened so you can still work with the other synth controls. I'll post the 1.3 update in a day or two.
If you want to see something neat.. and I don't know how useful.. but bring up the Multiball control (its icon is hidden under the Arp/Global panel)..
and assign either one of the balls to the sequencer. Then go into the sequencer and touch any one of them to bring it to focus.
Let the balls fly and..
Hope that you have fun making templates!
cheers~
Jay
Tom_1970 wrote:Impressive template!
I just have Lemur app for a few days now and my editing doesn't go deeper than simple MIDI templates, but I hope to learn a lot from your template.
I haven't tested it very deeply, but on my Mopho it seems to work fine.
I am especially interested in a editing the sequencers .
Sound editing works fine on an Mopho keyboard, but the sequencers are not very easy to tweak on the synth itself.
Nice work indeed
Dashboard gear control templates: User 112 Idx :: LModIt Lite :: SVG image converter for Lemur Canvas
Re: Template for DSI Mopho Synth
ok finally got some time to put into the update. I added many things and updated/improved some features.
http://liine.net/en/community/user-library/view/189/
Updates in Mopho Dashboard version 1.3
Overview
1) New test note/generation module with note duration, rest, velocity and ability to follow a scale.
With randomization controls for most of that.
2) Second interface with 2-octave keyboard with many note sending options including randomization adjustments.
3) Envelopes: added display switch to toggle between breakpoint and sliders. Made envelopes less glitchy.
4) Added 4th Mopho Sequencer controls
5) Some less-used controls moved to Utility sub-menu to make room for more controls (and this can be revised)
6) Many interface tweaks and code rewriting 'under the hood'
And details:
Details
1) New test note/generation module which was integrated from NRPN test set library but greatly enhanced.
- select time to hold, and rest duration of test note with selectable velocity
- randomize the above controls within a selectable range.
- monitor last note display
- crude but effective follow circle of 5ths
- follow scales with direction and minimum/maximum
- randomize note lengths and rest duration with max time control
2) Created a second interface page :
This interface is designed to allow you to browse synthesizer patches easily and send test notes to the synth.
- 2 Octave Keyboard, with adjustments for Note Length, Octave, Hold Note, Note Retrigger + time, Velocity, and Modulation wheel
with randomization for most of those controls.
- Note Generation window from main interface
- Navigation with big knobs and +/- switches to easily navigate synth patches and banks and extras.
3) General control fixes, additions and updates.
All envelopes:
- Fixed some of the general wackiness of controls.
- Added a "display" switch to toggle between envelope and sliders for the ADSR
Oscillators:
-added a "ctr" center switch to fine tune that will reset to 0.
Sequencer editor:
- Added show/hide for newly included 4th Mopho internal sequencer controls.
Utility menu icon with a submenu:
- Animate: Multi-ball object window updates including speed,
- Quick oscillator tools which was integrated from Pulse Dashboard template.
- Set all osc same note
- Set all to same octave
- 'sweet detune' : fine detuning of both oscillators in opposite directions
- Reset windows, show main interface windows with all main controls.
- Test Note and Note generator module.
- Mopho Controllers assign moved here.
-Rewrote window swapping and hiding code "cWinCtls"
-LFOs: added reset buttons for all freq, amount, and modulation destination.
-Help window: Added Lemur Device and MIDI target device number selection within Help menu.
-Updated mio.listenSyx and others to use global var df - debug flag to help prevent
crashing upon array reassignment due to midi activity debugging.
-Recoded the sequencer update/selection
-Fixed that cussin' bug in sequencer increment
-Layout tweak-a-thon.
----
There is still a to-do list..
Hope that you find some of the code useful for your projects and
of course fun to use to bring new life to patches of your DSI Mopho!
Let me know how it's working out for you and suggestions welcome.
cheers~
J
http://liine.net/en/community/user-library/view/189/
Updates in Mopho Dashboard version 1.3
Overview
1) New test note/generation module with note duration, rest, velocity and ability to follow a scale.
With randomization controls for most of that.
2) Second interface with 2-octave keyboard with many note sending options including randomization adjustments.
3) Envelopes: added display switch to toggle between breakpoint and sliders. Made envelopes less glitchy.
4) Added 4th Mopho Sequencer controls
5) Some less-used controls moved to Utility sub-menu to make room for more controls (and this can be revised)
6) Many interface tweaks and code rewriting 'under the hood'
And details:
Details
1) New test note/generation module which was integrated from NRPN test set library but greatly enhanced.
- select time to hold, and rest duration of test note with selectable velocity
- randomize the above controls within a selectable range.
- monitor last note display
- crude but effective follow circle of 5ths
- follow scales with direction and minimum/maximum
- randomize note lengths and rest duration with max time control
2) Created a second interface page :
This interface is designed to allow you to browse synthesizer patches easily and send test notes to the synth.
- 2 Octave Keyboard, with adjustments for Note Length, Octave, Hold Note, Note Retrigger + time, Velocity, and Modulation wheel
with randomization for most of those controls.
- Note Generation window from main interface
- Navigation with big knobs and +/- switches to easily navigate synth patches and banks and extras.
3) General control fixes, additions and updates.
All envelopes:
- Fixed some of the general wackiness of controls.
- Added a "display" switch to toggle between envelope and sliders for the ADSR
Oscillators:
-added a "ctr" center switch to fine tune that will reset to 0.
Sequencer editor:
- Added show/hide for newly included 4th Mopho internal sequencer controls.
Utility menu icon with a submenu:
- Animate: Multi-ball object window updates including speed,
- Quick oscillator tools which was integrated from Pulse Dashboard template.
- Set all osc same note
- Set all to same octave
- 'sweet detune' : fine detuning of both oscillators in opposite directions
- Reset windows, show main interface windows with all main controls.
- Test Note and Note generator module.
- Mopho Controllers assign moved here.
-Rewrote window swapping and hiding code "cWinCtls"
-LFOs: added reset buttons for all freq, amount, and modulation destination.
-Help window: Added Lemur Device and MIDI target device number selection within Help menu.
-Updated mio.listenSyx and others to use global var df - debug flag to help prevent
crashing upon array reassignment due to midi activity debugging.
-Recoded the sequencer update/selection
-Fixed that cussin' bug in sequencer increment
-Layout tweak-a-thon.
----
There is still a to-do list..
Hope that you find some of the code useful for your projects and
of course fun to use to bring new life to patches of your DSI Mopho!
Let me know how it's working out for you and suggestions welcome.
cheers~
J
Dashboard gear control templates: User 112 Idx :: LModIt Lite :: SVG image converter for Lemur Canvas