daemons_ca Posted April 18, 2004 Report Share Posted April 18, 2004 Hi, I searched the forum but didn't find anything specific. What I need is an 8 (or 9) to 1 midi merger. I'm pretty sure the 16F877 is fast enough for it, but my question is this... can MIOS do this, with some modifications?My circuit design would be pretty much what MIDImerger is, except I would use all the Port A inputs. It would have NO LCD... or any need for controls. It would do one job, and one job only: Merge Midi data to one output. Even the input/output MIDI status leds would be handled in hardware using hex buffers/inverters.If MIOS can't handle it I'll have to write my own code, which will take well.. alot longer :( Since thats all the PIC would be doing running at full speed, I'm wondering if it would be possible to use more inputs (yes, being greedy, I know). If ram buffers would be a good idea, I was thinking of using an external 8kx8 ram module but that would limit the midi inputs since I would need the PIC I/Os to interface with the ram module. I know I could use serial ram, but that would mean more processing and possibly reducing the efficiency with more midi inputs, so why bother. I've been gathering parts to make a Midibox64 and I have almost everything to make one (except the time and work area.. Lol ) but with the new gear I recently aquired, a Midi merger is very much of a need at the moment.Before someone brings up the latentcy issue, this merger would be used mostly for Midi outs of rack modules and non-controller devices. All 9 inputs are not expected to be used at the _exact_ same time. If it can handle any two Midi INs at once, it would already be doing a great job in my mind since the output is limited to a single MIDI bandwith (31250bps).Also, if someone would like to work on this project with me I'd welcome the help.MarcNewbie to this forum. Quote Link to comment Share on other sites More sharing options...
uclaros Posted April 18, 2004 Report Share Posted April 18, 2004 Hi,well, you could use eight 16f877! ;) Quote Link to comment Share on other sites More sharing options...
SexyBeast Posted April 18, 2004 Report Share Posted April 18, 2004 Hey Marc,I'm pretty sure MIOS could handle that. I don't think there'd be problems as far as the hardware is concerned. I think the real problem lies in MIDI itself: it's a pretty slow standard. You do already have timing problems if you merge two MIDI-streams, especially if you use your keyboard controllers (or worse: sysex data).With 8 or 9 IN-ports you would certainly experience heavy latencies due to the mass of data (and not because of the speed of the PIC)This would only work satisfactory if you just merged three, maybe four streams the same time, using little controllers.regards, Tom Quote Link to comment Share on other sites More sharing options...
pilo Posted April 18, 2004 Report Share Posted April 18, 2004 I think it's doable if you "don't care about" latency.Maybe you can add external RAM (as far as I remember the pic18f452 as got 1.5Kb of ram). Quote Link to comment Share on other sites More sharing options...
daemons_ca Posted April 18, 2004 Author Report Share Posted April 18, 2004 very funny. Thats a waste of PICs. Plus the nightmare of getting 8 pics to talk to each other is not worth the effort.MarcHi,well, you could use eight 16f877! Â ;) Quote Link to comment Share on other sites More sharing options...
daemons_ca Posted April 19, 2004 Author Report Share Posted April 19, 2004 I did mention that in my original post... I can't reinvent Midi. Of course there will be latentcies... I'm going from 8 x 31250bps to 1 x 31250bpsI'd have the same problem as everyone using an 8 to 1 Merger has. I asked a friend who does pic programming and he suggested I make a dedicated program for it instead, and I would have less chances of errors. ...and since I have a 16F877 here I guess I'll start with understanding the MIDImerger code first. :) The circuit is already designed. I'll try to make it into a gif or jpg and post it here.MarcHey Marc,I'm pretty sure MIOS could handle that. Â I don't think there'd be problems as far as the hardware is concerned. I think the real problem lies in MIDI itself: it's a pretty slow standard. You do already have timing problems if you merge two MIDI-streams, especially if you use your keyboard controllers (or worse: sysex data).With 8 or 9 IN-ports you would certainly experience heavy latencies due to the mass of data (and not because of the speed of the PIC)This would only work satisfactory if you just merged three, maybe four streams the same time, using little controllers.regards, Tom Quote Link to comment Share on other sites More sharing options...
Duggle Posted April 19, 2004 Report Share Posted April 19, 2004 hi,if youre planning to merge the output of rack units for the purpose of saving sysex dumps etc. and you are able to control the dump requests to make sure they are not simultanious then why not OR the inputs by connecting the open collectors from the optos? (dead simple solution!)Of course active sensing or timecode from any of the inputs would shag this approach :-/A more sophisticated approach whould be a multiplexer with a arbiter circuit to prevent interruptions to the midi stream (still much simpler than 8 UARTs and buffers and plenty of firmware to write!).The suitable solution really depends on what you need the merger for. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.