Jump to content

Multimerger for use with GM5 based interface


madox
 Share

Recommended Posts

Hi folk,

I am planning to design a PIC based midi merge unit, for use with a GM5 based PC midi interface, and am just wondering if others may be interested, and possibly have some suggestions. The project would depend on the outcome of TK's assessment of the GM5 chip, and subsequent bulk order.

Following on from this thread, I am planning to build a stand alone PC midi interface, with 5 banks of midi i/o, plus a custom midi merge unit which could be set to merge with the input of any one of the 5 banks, plus a midibox midimon, which could be set to monitor either the midi input or output of any of the 5 banks. I may possibly consider incorporating a switch to route the fifth bank to an internal midi-CV converter, though this option may be left to a later date, and possibly just sit on a secondary PCB, and be connected with a hardware toggle switch.

The design would be realised with the existing GM5 solution, and a 4 UART PIC24Fxxxx based midi merge unit. My motivation is to be able to use a combination of midi controllers (namely 2 keyboards + midibox64, + rack unit x?), all merged into a midi stream into my PC DAW, and then echoed out as necessary, to control softsynths, or other midi hardware. My proposed unit would not perform the role of a midi patch bay, as my DAW would perform the data echo function.

The 4 UARTs of the PIC24F could conceivably be used to merge midi streams to more than one midi input (eg, merge inputs 1+2 merged to interface input 1, merge inputs 3+4 merged to interface input 4). However, I'm not sure how feasible this would be in practice. My aim for the prototype is to use only hardware based UARTs (no software emulated UARTs), and have all inputs merged to a single output. Later I will try the more complex scheme, as I expect the processing shouldn't place too much demand on this PIC.

The merge unit would not be MIOS based (not supported by the OS), though I will have a look at TK's code for his midimerge unit to get some ideas. This will be my first attempt at programming a midi processing unit, and though I don't expect excessive difficulty, I'm really not sure what problems I will face. I have written several PC and PIC based serial comms programs before.

The unit will be a single PCB, predominantly surface mount components. I know this is not in keeping with the midibox way, but this is really the only way that I can afford to design the unit. I use almost exclusively SMD for my work, so this is what I have ready access to, and I really need to keep the PCB size small, to minimise the prototyping costs. As a side note, I really like using SMD components. Although the initial learning curve can be daunting, I would never go back to predominantly through hole. Too much of my work just couldn't be done without SMD.

I plan to fit the unit in a 2U rack enclosure, with one or two LCDs, and one or two 7 segment BCD displays.

All source material would be publicly released, and all external IP would of course be correctly credited.

If anyone has any suggestions, recommendations, or criticisms, I would really appreciate your feedback. I'm still brainstorming with regards to the features and implementation at this stage.

Cheers folk,

madox

Link to comment
Share on other sites

I can understand why a standalone multiport mid router would be great.  However since the GM5 will only work with the USB connected, you are limited to using this device while it's connected to a PC.  Wouldn't it be easier to just do all the monitoring and merging inside your DAW?

Link to comment
Share on other sites

I can understand why a standalone multiport mid router would be great.  However since the GM5 will only work with the USB connected, you are limited to using this device while it's connected to a PC.  Wouldn't it be easier to just do all the monitoring and merging inside your DAW?

Hi widdly. Thanks for the question.

The merge component of the device would indeed be limited to use with the PC. This is deliberate, as I have quite limited space, and don't want to use additional cable connections either. Also, I almost exclusively use MIDI with my PC in the setup. So far, I have never gotten far enough with my music to consider gigging, etc.

Merging in my DAW would probably be fine, though I would also like to be able to handle this with low latency dedicated hardware, and also provide more inputs for future controllers. I am aiming at flexibility. In the past, when I have worked with other people in my home studio, there have always been issues with limited MIDI inputs to my PC. I am aiming at allowing for multiple concurrent controllers to be available to each user, for MIDI controlled jamming. The 5 inputs from the GM5 would probably be sufficient, though I am trying to be future proof with this interface. This would allow me to have four or five additional inputs. This may be overkill.

I generally try not to load my PC with anything which I can handle in dedicated hardware. My PC is getting long in the tooth, and I like to free its resources for sequencing, soft synths, and hopefully real time soft effects. To date, I have run into issues with my PC's performance, either with audio glitches, or timing errors.

Another motivation for me, is to cut my teeth with MIDI process programming with this project. I think it's a fairly simple one for me to familiarise myself with the requirements.

Cheers,

madox

Link to comment
Share on other sites

I think, it's a great idea to try it with a PIC24F, it's especially a nice learning project.

And I must say, that I still prefer external merging and routing (in my case: with the MIDIbox Router) for the same reasons like you. Routing through a computer would add some additional latency and especially unwanted jitter.

Best Regards, Thorsten.

Link to comment
Share on other sites

I think, it's a great idea to try it with a PIC24F, it's especially a nice learning project.

And I must say, that I still prefer external merging and routing (in my case: with the MIDIbox Router) for the same reasons like you. Routing through a computer would add some additional latency and especially unwanted jitter.

Best Regards, Thorsten.

Hi Thorsten,

Thanks for your encouragement/vote of support.

madox

Link to comment
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.

Loading...
 Share

×
×
  • Create New...