Jump to content

Per S

Members
  • Posts

    69
  • Joined

  • Last visited

Everything posted by Per S

  1. This indicates that there is no MIOS loaded. Once the MIOS is loaded this message will only display once after power on. As suggested the MIOS Studio is the best choice for loading the MIOS and applications. With MIDI-OX it's very difficult to hit the 2 second window after power on when uploading the MIOS.
  2. Yes. Be sure to have the MIDI Merger enabled in the MIDO128 INI file. Regarding the channel assignments there are no limits. You can for example send MIDI commands on channels 1, 2, 3 from Core 1 and from Core 2. It's only dependent on the configurations in the INI files. There will be no mix up.
  3. I have successfully midified my organ, 3 manuals, pedal, stop tabs and pistons, using three cores. The cores are chained using standard Midi cables (Midi Out to Midi In). You should use DIN's since I assume that you are midifying the keys and pedal. The DOUT’s are used for controlling LED’s, relays or similar. I do recommend using the standard MIDIO128 because it’s tested and proven very reliable with a minimum of latency. It also very flexible, you can mix key contacts, pistons, and different Midi channels all on the same core.
  4. Hi Johnc, One great advantage with this release is that you can selectively update INI files if you have several chained cores. For example I have three cores with ID's 00, 01 and 02 chained with Midimerge active. With this release I can send an INI file (SYX format) to one specific core without having to break up the MIDI connection. It requires that you tag the INI file with the core ID and do the conversion to SYX like this: perl mk_midio128_syx.pl Midi_02.ini -device_id 0x02 The SYX file will only update the MIDIO128 residing in core ID 02. This wasn't possible before without manually changing the MIDIO128 and recompile it.
  5. I have now updated my three interconnected cores with MIDIO128 V2.1d and it worked like a charm. Thanks a lot!
  6. The reason I opened this very old subject again is that it came up in a discussion with another user. He has, like me, several cores with MIDIO128 chained with MIDI Merge enabled. Having separate application ID's is very handy since you can do selective updates of the INI file without having to disconnect anything. Is this improvement still being considered? Best Regards,
  7. Hi, I think I understand what you are looking for. The DOUT is responing to Channel volume as follows: B0 07 00 -> set pin to 0V B0 07 xx where xx is 01-7F -> set pin to 5 V. In your example all six pins will be turned on by any of the B0 07 since the third byte is in the range of 01-7F. You could use six different Control Change commands instead. There are several not assigned to any specific function. B0 0C 00 B0 0D 00 B0 0E 00 B0 0F 00 B0 10 00 B0 11 00 If the third byte is different from 00 the pin will be set to 5 V, if 00 set to 0V Regards,
  8. In my opinion it’s much better to stay with separate Midi in. A Midi Merger will not improve anything. I should clarify my statement about choking the Midi interface. Normally you can’t outplay the Midi interface. But if the application needs to control many ranks of “pipes†and each key depression sends 10-15 or even more “Note On†then there might be problems. If, on the other hand, only a few “Note On†are sent with each key depression there is no cause for alarm. Per S
  9. Hi Robin, I did some work regarding stop and coupler control years ago using the old version of the MIDIO128. I never completed that mainly due to two reasons. One is that it’s easy to clobber up the MIDI interface with lots of Note On/Off. The MIDI specification isn’t really suited for controlling organs. If several identical Note On are sent, the synth may layer them (volume increase) or re-trigger. But it only takes one Note Off to stop the sound regardless of how many Note On have been sent. If an Octave coupler is active and C2 and C3 is pressed only three Note On should be sent, C2, C3 and C4. Now if C3 is lifted Note Off should not be sent to C3 but rather to C4. Add some pitch control, 16’, 8’, 4’ and 2’ to Sub and Octave couplers you will have to send 6 Note On for every key depressed. Now hit it with ten finger chords and the MIDI interface will be quite busy. Another and decisive factor was the availability of Virtual Organs for PC like the Miditzer, Hauptwerk and jOrgan. These applications handle all the controlling and handling of stops. They also don’t suffer from the speed limitation of the standard hardware MIDI interface. Now I’m using three cores with 384 DIN, standard MIDIO128 with a small addition to handle the swell function. Only simple MIDI messages are sent, no extra processing. Three manuals, pedal, stop keys and combination pistons are all midified. The MIOS and MIDIO128 are rock solid, never had any problem. Per S
  10. Robin, Apart from coding technique there are some logistic procedures to think about. As I understand it you have separate cores for the pedal, Core 1 and the manuals, Core 2. Assume the following simple cases, manual to pedal coupler on One case: Press and hold Middle C on the pedal. Then press Middle C on the manual. No Note on for the manual should be sent because it’s already on, sent by the pedal. Another case: Assume you hold Middle C on both the pedal and the manual. If you release the manual C (still holding the pedal) no note off should be sent. Note off for the manual should not be sent until you release the pedal Middle C. I can see some challenges here since you have two independent cores and one doesn’t know what the other is doing. Per S
  11. I don’t think the sequence matters. When I did my wiring I used the existing cables from the keyboards and they were laced 1-61. This doesn’t match the physical layout on my DIN board so instead of breaking up the lacing I connected the wires where it was most convenient. The input ended up in groups of four, for the most part. Since I have a homemade DIN module with 128 inputs I wired both the Solo and Acc manual to the same board. There is second board with Great and Pedal and a number of stop keys. My third board has stop keys and combination pistons. Here is an example from my INI file.   8 = 93 27 7F  83 27 00  @OnOff # D#2 Solo   9 = 93 2B 7F  83 2B 00  @OnOff # G2 Solo   10 = 93 2A 7F  83 2A 00  @OnOff # F#2 Solo   11 = 93 29 7F  83 29 00  @OnOff # F2 Solo   12 = 93 28 7F  83 28 00  @OnOff # E2 Solo   13 = 91 24 7F  81 24 00  @OnOff # C2 Acc   14 = 91 25 7F  81 25 00  @OnOff # C#2 Acc   15 = 91 26 7F  81 26 00  @OnOff # D2 Acc   16 = 91 27 7F  81 27 00  @OnOff # D#2 Acc ########################################## # Pin  # On Evnt # Off Evnt # Behaviour # ##########################################   17 = 91 2F 7F  81 2F 00  @OnOff # B2 Acc   18 = 91 2E 7F  81 2E 00  @OnOff # A#2 Acc   19 = 91 2D 7F  81 2D 00  @OnOff # A2 Acc   20 = 91 2C 7F  81 2C 00  @OnOff # G#2 Acc   21 = 93 44 15  83 44 15  @OnOff # Spare   22 = 93 45 16  83 45 16  @OnOff # Spare   23 = 93 46 17  83 46 17  @OnOff # Spare   24 = 93 47 18  83 47 18  @OnOff # Spare Regarding the spares I have used normal note on-note off but in the velocity field I have the pin number. Per S
  12. I have now completed the installation of MIDI function in my Trio 321A. This is an organ with three manuals and a full pedal. I used three sets of MIDIO128 to do all of the manuals (3 x 61), pedals (32), all of the stop keys (60) and 35 buttons intended for combinations plus an analog input for the swell (volume) function. I like to thank Thorsten for his support. For people who want to “Midify†their instruments please take a close look at the MIDIO128 before ordering expensive ready made stuff. Per S
  13. Per S

    Organ Bass Pedals

    Many, like me, have MIDIFyed whole organs, manuals, pedals, and stop keys. What you need is one CORE module and a DIN (Digital in) module. This will give you 32 inputs. Don’t use the analog module. You also need the MIDIO128 application program and the MIOS operating system. And of course appropriate switches for the pedals. Some ideas can be found at http://www.hauptwerk.co.uk/pedalboard.html. Good luck Per S
  14. Per S

    rs232 to midi

    John, You could use the LTC module to convert to serial interface. Then you could use a booster to get to your 75 feet. See for example the following link http://www.bb-europe.com/product.asp?dept_id=16&sku=232LB9R . Secondly you have to persuade the PC serial to talk to the jOrgan and the Miditzer and I don’t know how to do that. Per S
  15. Per S

    rs232 to midi

    John, You could use the LTC module to convert to serial interface. Then you could use a booster to get to your 75 feet. See for example the following link http://www.bb-europe.com/product.asp?dept_id=16&sku=232LB9R . Secondly you have to persuade the PC serial to talk to the jOrgan and the Miditzer and I don’t know how to do that. Per S
  16. Some time ago Thorsten wrote the following. This is a humble reminder to look into these questions. Before doing this, please consider this post. Here’s a short recap: Contents of the MIDIO128.INI # (Program Change) Example: C0 01 00 FF 00 00 @OnOff (ON: send C0 01, OFF: send nothing!) # (Channel Aftertouch) Example: D0 40 00 FF 00 00 @OnOff (ON: send D0 40, OFF: send nothing!) # (Pitch Bender) Example: E0 30 30 E0 60 60 @OnOff (ON: send E0 30 30, OFF: send E0 60 60) # - If byte0 is FF, the event will not be sent Problem number 1: C0 01 00 will send CO 00 since the third byte is sent, not the second. Same thing for D0. Jim Henry and I think this should be changed. The old 16F worked OK in this respect. Problem number 2: INI file description says: - If byte0 is FF, the event will not be sent. In fact a meta event will be sent. Is this correct? It can be resolved using @OnOnly Regards, Per S
  17. I’m not sure I follow you on this one, it looks quite complicated. Here’s what I did: On one of my MIDIO128 setups I connected the swell potentiometer directly to the Analog in pin of the PIC (pin RA0). The MIOS has all the necessary AD routines. See also my earlier posts on the subject. No additional components or circuits are necessary! Next step was to add some code to the MIDIO128 (http://www.ucapps.de/mios/ain_example1_v1_3.zip) and make necessary setup of the MIDI message to be sent (Bc 0B yy for example). Now MIDI Volume messages are sent through the MIDI interface whenever the swell potentiometer is moved. This setup works great with Miditzer and Hauptwerk. I have not tried the jOrgan yet but it will work with this too. The controlling of the swell function is similar for all these three. Per S
  18. Small world, isn't it. I was quite certain too I was the only Trio owner. We'll get in touch. Per S
  19. I also have a Trio which I have midified using the standard MIDIO128. So far I have only the Solo manual hooked up and I have been using a sampler to get some percussion voices. The keying voltage on the Solo and Great is +12V and I used a simple resistor dividers to get to +5v. There is no interference with the tone generators since the keying voltage is only gating the signal. To midify the Acc and Pedal a more sofisticated method has to be used. The Acc keying voltage is normally about +6V and goes up to 12V when Acc ff stop is on. The Pedal keying voltage is 4V and goes up to 7V when Pedal ff is on. The idea with zeners should work I guess. The Stop keys are a different story since most of them operate by grounding one end of a relay, 12V on the other end. I'm seriously considering remove the entire Rodgers circuitry. I has served me well for 30 years but now it's time to move on. Per S
  20. Have you checked The in-circuit programming adapter, connector J3 that all 5 jumpers are installed and OK? Per S
  21. Robin, Here is my interpretation of what is happening This function returns a FSR0 pointer to the button value depending on ;; MIDIO_CURRENT_DIN ;; ------------------------------------------------------------------------ -- MIDIO_FSR_DINValue ;; (status of 8 buttons stored in a SR register) SET_BSR MIDIO_BASE ; needed for indirect addressing lfsr FSR0, MIDIO_DIN_VALUES_SR0 ; The above will result in FSR0 = 0x090. This is defined by the following statement( in app_defines.h): ;; button values (packed) MIDIO_DIN_VALUES_SR0 EQU 0x090 rrf MIDIO_CURRENT_DIN, W, BANKED ;(A) copy current din into WREG, Rotate R into WREG rrf WREG, F ; (B) copy WREG into F = itself (=WREG), Rotate R rrf WREG, W ; © copy WREG into WREG, Rotate R andlw 0x07 ; (D) mask last 3 bits WREG, result into WREG addwf FSR0L, F ; (E) add WREG to low address of FSR0 Assume that current din = b,0101,0111 =0x57 After (A) this becomes = b, 0010,1011 into W (the instr is Rotate through Carry) After (B) this becomes = b, 1001,0101 into W After © this becomes = b, 1100,1010 into W After (D) this becomes = b, 0000,0010 into W After (E) this becomes = b, 1001,0010 into FSR0L This routine will give you an address to 8 registers 0x090 - 0x97 depending on the current DIN Per S
  22. Jim, I think I overlooked the following. I made the conclusion that the meta event is triggered by Fx xx but the FF would still send nothing. I also took a look at my old 16F MIDIO. My version doesn’t support the â€@OnOnly†and the ini file looks like this (there is no support for meta event either) ############################## # Pin # On Evnt # Off Evnt # ############################## 9 = C0 00 00 FF 00 00 10 = C0 09 00 FF 00 00 11 = C0 0E 00 FF 00 00 The result: 0000D42A 9 -- C0 0E -- 1 --- PC: Tubular Bells 0000DCF8 9 -- C0 09 -- 1 --- PC: Glockenspiel 0000E4C4 9 -- C0 00 -- 1 --- PC: Acc. Grand Piano As can be seen the second byte contains the information and the third byte is not sent. Yes, we need to have this confirmed Per S
  23. When testing my MIDIO128 in my organ application I came across the following problem: The Program Change (C0) event didn’t produce the desired result. I used the following example in the MIDI128 ini file # (Program Change) Example: C0 01 00 FF 00 00 @OnOff (ON: send C0 01, OFF: send nothing!) # (Channel Aftertouch) Example: D0 40 00 FF 00 00 @OnOff (ON: send D0 40, OFF: send nothing!) The result was this: 00048EBF 9 -- C0 00 -- 1 --- PC: Acc. Grand Piano 000495CF 9 -- F0 Buffer: 9 Bytes System Exclusive SYSX: F0 43 10 5C 10 10 31 00 F7 00050607 9 -- D0 00 -- 1 --- Channel Aft 00050BCA 9 -- F0 Buffer: 9 Bytes System Exclusive SYSX: F0 43 10 5C 10 10 31 00 F7 After some experimenting I found that the “on†event sends byte 2 instead of byte 1. The cause seems to come from the “midi_evnt.inc†;; sending two bytes MIDI_EVNT_Send_Cx ; Program Change MIDI_EVNT_Send_Dx ; Channel Pressure movff MIDI_EVNT0, WREG call MIOS_MIDI_TxBufferPut movff MIDI_EVNT_VALUE, WREG andlw 0x7f call MIOS_MIDI_TxBufferPut rgoto MIDI_EVNT_Send_End After I changed it to the following the “on†event works OK ;; sending two bytes MIDI_EVNT_Send_Cx ; Program Change MIDI_EVNT_Send_Dx ; Channel Pressure movff MIDI_EVNT0, WREG call MIOS_MIDI_TxBufferPut MOVFF MIDI_EVNT1, WREG ; <-----Changed andlw 0x7f call MIOS_MIDI_TxBufferPut rgoto MIDI_EVNT_Send_End Result: 000A492B 9 -- C0 01 -- 1 --- PC: Brite Acc. Piano <--- OK 000A4AA6 9 -- F0 Buffer: 9 Bytes System Exclusive <--- Shouldn’t be there!! SYSX: F0 43 10 5C 10 10 31 00 F7 000A8675 9 -- D0 40 -- 1 --- Channel Aft <--- OK 000A8785 9 -- F0 Buffer: 9 Bytes System Exclusive <--- Shouldn’t be there!! SYSX: F0 43 10 5C 10 10 31 00 F7 If byte 0 is FF the MIDIO128 is supposed to send nothing. Instead a SYSEX string is presented. It seems to originate from the midi_meta.inc routine but I don’t know how to fix it so I’m hoping for some help there. Per S
  24. Jim, IMHO it should be enough to send the "on" status. In other words if there is one stop key on, one MIDI Event will be sent. I don't have my Trio up and running now but I have a pretty good test outfit where I could test it. Per S
  25. Johnc wrote: True, but the MIDIO128 actually reads all the switches and stores it upon power on but it doesn’t send out any MIDI events. When Thorsten designed this he probably had a reason not to send out MIDI events. Unfortunately this is a disadvantage in the organ Midification application. It’s not a major thing for me personally but, as Jim points out, it should be fixed and he will look into that. Per S
×
×
  • Create New...