Midi In / Midi Out – What a Mess!

 

** Updated 02/09/17 **

The problem we were having has been solved! Here’s how we fixed it.


No – It won’t look like this when we are done but it is quite the mess right now!

We recently posted a video showing the ability to control an external sound module via MIDI from OAX. We have moved on to the next phase of our project which was to connect up our Sonic to an external PC.

We have a couple of questions for folks that have an OAS instrument:

On OAS, can you use the instrument as a sound module? By that I mean running a DAW on a PC and via MIDI In, play sounds on the organ. Or the opposite – Can you assign a sound to Upper 1 and via MIDI out, record the MIDI events in a DAW?

Much to surprise I’m finding that I’m not able to do that in OAX. As long as I create a User Sound and map that sound to a MIDI out the MIDI events can be sent on all three outs (1,2 & USB). There doesn’t appear to be a way to assign one of the internal sounds to any MIDI out! If I have a MIDI file loaded in the DAW and “play” it through any MIDI In – Nothing.

All of the above works exactly as expected by simply swapping the cables to our Roland module so I know the cables / connections are good. I also connected a MIDI controller keyboard directly to the Sonic. So, no PC, interface, etc. Simply MIDI Out of the controller to MIDI In of the Sonic and nothing!

I am 100% sure this worked on the CD series. I’ve sent a note off to Wersi to verify but curious if OAS works the same way? If the above is true it changes my overall thoughts on how I planned to use an external PC.

9 thoughts on “Midi In / Midi Out – What a Mess!

  • 01/12/2017 at 13:44
    Permalink

    Some good news(?) on this topic.

    The developers have been able to recreate this issue on an instrument in their studio. The good news would be it’s not my organ as I was bit concerned about how we would swap out physical parts, if needed.

    I built both a Delta and a Spectra many years ago so I could swap out cards / parts if needed, but would prefer to have a “Factory Assembled” instrument.

    We will keep everyone posted as we work to get this resolved.

    Reply
  • 01/08/2017 at 10:34
    Permalink

    Further to Jeff’s post, I would just like to add that the mappings of OAS are not limited to the on board Hypersonic Sound Engine, but also relate to the hardware OX7 drawbars and the 4 VST instruments, and just like the Hypersonic sounds, can also be accessed via external Midi equipment/software.

    Have fun

    Bill

    Reply
  • 01/08/2017 at 10:27
    Permalink

    Hi Curt

    As mentioned in my communication, OAX Midi In operates like Midi In 2 of OAS, which means everything is controlled by the DAW, and is not affected by anything on the OAX instrument.
    In future versions, they will hopefully implement an option to operate like Midi In 1 of OAS, but not limited to just 1 input. (One of the many limitations of OAS Midi)

    Unless your DAW is not selecting the correct Midi out interface, that is connected to the Midi In of your OAX instrument, it should work, so there is something amiss.

    NOTE: The Spectra was a very limited Midi system compared to today, (GM Midi had not even been implemented when the Spectra came out) and didn’t improve until the Golden Gate Option was added. The way Midi has now been standardised, means you cannot use any instrument (From any manufacture) built from the 90s on, like you can your Spectra, except using the on-board sequencer, (Everything must be assigned to Midi Out for the DAW to recognise it) however Midi In 1 of OAS sidestepped the problem (As mentioned above) to allow you to use the on-board organ controls on playback, but not during record. (Welcome to the future)

    Hope this helps

    Bill

    Reply
  • 01/08/2017 at 09:44
    Permalink

    Hi Jeff,

    Many thanks for you input and thoughts on this.

    I was just about to post an update on this… I’ve tried a number of things and I plan to create a short video to send to Wersi today to share my findings. I’ve already sent them an e-mail and the response back is it works and they included an example of a MIDI file. I’ve recreated that file but…

    MIDI In:
    Basically – I’m not able to send any MIDI data into the (My) Organ via any MIDI In (1, 2 or USB). Tried all of them. Along with the example Wersi sent, we have tried a MIDI file with only note events, a MIDI file that has controllers 121 and 123 followed with Controller 7 and 11 (Set at both 64 and 127) and a couple of different patch changes. Still no sound from the organ.

    Next – Simply remove the cable from MIDI in of the organ and connect to MIDI In of the Roland and the file plays. (Given the Roland doesn’t understand the Wersi patch info as expected).

    Next – Save the MIDI file (from the DAW), transfer to USB stick and import into OAX. Bring up the “MIDI Seq” in OAX. Hit play and it plays. I can see both the volume and patch changes take place that we put in the file. To me – verifies the controller and patch info in the file is correct.

    To summarize – MIDI In (for me at least), simply doesn’t work yet the same cables, DAW (we run Cakewalk Sonar) and MIDI file works first time, every time on the Roland with the simple cable swap.

    This morning – I’m installing a different DAW to validate that Sonar isn’t the issue – even though I have no issues using Sonar with Roland.

    MIDI Out –

    A little better story here, but not what I expect. Very easy to create a user sound and assign to MIDI Out port, channel and add bank / program change info. Works every time.

    The part that I don’t expect – In the current implementation it appears the intent is to use the Organ as a MIDI controller keyboard for another (external) MIDI device only.

    I agree with the audio config you suggest and we have successfully done exactly that. I’ve had no issues at all recording the organ as an audio track and also adding in “other” sound sources on separate audio tracks in the DAW.

    Perhaps I’m a dinosaur in still wanting to work in a MIDI mode vs. Audio?

    Here’s an example of what I expected — This would be MIDI based:

    Either via a preset or (you could select sounds manually). Hit record on the DAW. Select a preset. This is where I expect, based on whatever sounds I have selected, the needed bank/PC changes to be sent. Now, play a song. The note events should be sent out along with volume and expression info. Should I reach-up in the middle of the song and change from sound “A” to sound “B” – That should also be sent.
    Hit Stop.
    Rewind the DAW to the beginning of the file.
    Hit Play on the DAW – OAX should playback exactly whatever “buttons” (volume sliders, expression pedal, etc.) I touched along with the notes I played.

    We have done this hundreds, if not thousands of times on our Spectra and other MIDI instruments.

    This is where folks will say – Just record it as audio. Not my preference as I prefer the editing abilities of working in a MIDI file. Should you find that in measure 22 of the song you played the bass drum a little to loud or soft. Much easier to “adjust” the velocity of those couple of notes in a MIDI file vs. messing with volume levels in audio track – Not to mention in a MIDI file I could separate the note events for the Bass drum (or anything else) to a dedicated track and process however I want. True, you can do the same in audio – assuming you actually record everything on separate tracks.

    Different workflows for different folks — Again, perhaps I’m a dinosaur!

    Comments / thoughts from anyone following along more than welcome.

    Reply
  • 01/08/2017 at 09:18
    Permalink

    I have done this many times on my Abacus. I have a PC DAW I use to record that runs Cakewalk Sonar with a RME Fireface module. I connect the midi out from the Fireface module to midi in on the Abacus. I connect the main audio outputs from the Abacus to the audio inputs of my Fireface module. I then go to the Midi In setting on the Abacus to set the midi channel I will use to control the Abacus. Default setting for the upper manual is Channel 1. I open a midi track with in Sonar and assign the midi out to midi channel 1. I can now select any sound on the upper manual of the Abacus and use my midi keyboard on my DAW to play that sound through my PC for recording.

    I have also sequenced a song style from my Abacus to my PC using the midi out.

    Jerry

    Reply
    • 01/08/2017 at 09:55
      Permalink

      Hey Jerry!

      Along with you I’ve had some other OAS folks comment that all works as expected. Other than Wersi commenting back to me via e-mail, no Sonic / OAX folks have commented. It could be my organ although I don’t think that’s the case.

      I know that Ralph’s Sonic was offline for a bit. Not sure if it’s back up and running yet or not? If it is, Ric is going to run over and try the same steps I’ve done. That would at least verify it’s not my organ.

      Reply
      • 01/09/2017 at 21:58
        Permalink

        I have ordered a OAX-1 from Ralph. This is definitely going to be a must work for me.

        Reply
        • 01/10/2017 at 05:58
          Permalink

          I’ll keep you posted Jerry. Congrats on the OAX-1. I suspect you will be the first person in the states to have one?

          Reply
  • 01/08/2017 at 08:47
    Permalink

    Hi Curt,
    This is my understanding of how these things work on OAS instruments.

    MIDI Out
    MIDI channel assignment for both the internal and external sounds is handled by the upper manual/lower manual/pedal selectors. Into each selector we can place either an internal sound or an external sound. All sounds on the instrument are allocated a unique 9 digit MIDI Program Code. So when a sound is placed in a selector, the OAS can determine two things from its Program Code. Firstly from the higher order digits it can determine whether the sound is internal or external (sounds for External MIDI Port 1 are coded as 098-000-XXX and for External Port 2 as 099-000-XXX). Secondly from the lower order digits it can determine the instrument to be played. Internal sounds are assigned to an internal MIDI channel and routed to the Hypersonic sound engine for playing. External sounds are assigned to an external MIDI channel and routed to one of the two MIDI output ports for playing by an external device. In OAS this external channel number is set individually for every selector by an auxiliary MIDI menu. For external sounds we need an additional step in the process. This is because their MIDI Program Codes do not represent instruments, they’re just a means of identifying the sound within the organ. So we need what in computing terminology is often called an ‘alias’. This is the actual MIDI Program Code required by the external device to play a particular instrument, and it is this code that is transmitted on the MIDI output port. We can set an alias for every external sound on the instrument. So the sound being played by an external device is determined by the device and not by the Wersi.

    We could of course create an external sound with its alias set to the MIDI Program Code of an internal sound. It’s unlikely however that this code would be recognised by the external device since these codes are uniquely assigned by Wersi for use within the organ. And even if the code was recognised, we would still need the Hypersonic sound engine, or something similar, to recreate the sound in the external device. The exception to this would be the bank of GM (General MIDI) sounds that are included in the organ’s sound database. The Program Codes for these are defined by the MIDI standard and therefore playable by any external device that has a GM synthesiser. It may be these that you are thinking about in relation to outputting the internal sounds on your CD instrument.

    MIDI In
    OAS instruments have two MIDI input ports, each providing a different operating mode. MIDI Input Port 1 provides access to the organ’s MIDI channels for just the keyboards and pedals, so is better suited for connection to external devices that have these facilities. MIDI Input Port 2 provides full access to all of the organ’s 16 MIDI channels so is ideally suited for connection to an external MIDI sequencer. The rule for both of these is just the same as for the MIDI output system. The sound being played is determined by the receiving device, in this case the Wersi. So if we wish the sequencer to play the organ’s internal sounds, we will need to set the MIDI Program Codes for these in the sequencer. Listing the internal sounds will display these codes. I’m not sure whether this area of MIDI has been implemented as yet on OAX instruments, but I would expect something similar to OAS to apply.

    Digital Audio Workstation (DAW)
    I’m not certain what the intention here is, but a DAW can capture audio as well as MIDI. So to record tracks for the internal sounds, just feed the Wersi’s audio output to the PC. Additionally we can add other instrumental sounds on separate tracks using the Wersi keyboards to play library samples installed in the DAW. This can then all be mixed down to a final recording. This is the technique that many Wersi artists use to enhance their recordings, and explains why we hear many sounds on these recordings that are not present on the Wersi!

    Hope this helps.
    Jeff

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *