Jump to content

Pipe organ Conversion to Midi


John_W._Couvillon
 Share

Recommended Posts

I am a new commer to the forum and am looking for help.

I am beginning conversion of a Moller pipe organ console to midi with the intent of using the organ keyboards and pedal board with Hauptwerk organ imulation software running on my pc.

I'm interested in this too. I've been working on a MIOS routine to keep track of the notes that are being played (and released) on several MIDI channels. This will let me turn off all notes that are ON on (e.g.) Channel 1 when a switch (on DIN) is turned off. I guess I'd be using tables to hold the note-on information. Have you been working on something like this?

Link to comment
Share on other sites

Greetings...  I am also working on a pipe organ with MIDI. I currently own a three manual/pedal console with ~50 drawknobs that was built by someone who used 8051 microprocessors to handle the MIDI encoding, etc.  I'm driving real pipes using boards a friend of mine designed (pic based).

At this point the builder of the console used SYSEX messages for stop changes where my friend's pipe driver boards respond to either program changes or controller messages.  My initial use of MIOS is to translate from SYSEX to controller messages.  The console and pipe chests are connected via a single MIDI cable.  I can add a PC if I want to record or playback sequences.  I'm looking forward to the MIDIbox sequencer project since I'd like to store some 'demo' sequences that I could play without firing up the PC.  There is some info on my project at:

http://www.haskey.com/johnh/organ

and I have a lot more info to post if I could only find time.  There is a link to an early description of my friends pipe driver boards at:

http://www.haskey.com/yappi

(the site has moved but you will be redirectred).  You could of course use MIOS for pipe control but it would be worth reading my friends approach just for informational purposes.  We are also developing an 'archive' format for MIDI organ files that will make it easy to exchange sequences with the proper registrations among instruments.  So much to do, so little time.  All the best...

                                                              ---john.

Link to comment
Share on other sites

Felix,

Sorry I didn't respond to your comments.

No, I have not gotten that far into the Mios stuff. My core and I/O modules are on order and I will get into it after assembling all of the parts and pieces.

Would like to exchange ideas more later, especially on the pipe drive end. I still don't understand all the ins and outs of the different instructions.

John

Link to comment
Share on other sites

John,

I don't think Jim Henry, the programmer of MidiTzer, has set it up for user configuration yet. As it is written it em???p" style 216 pipe organ. The program is still under development though and I suggested to Jim that it be made configurable. Personally, I would like to see it ported to Mac OS X also. I guess we just need to keep checking his web page.

Mickey

Link to comment
Share on other sites

Mickey,

question: I set up bank 25 on my soundcard for the theater organ sound fonts as recommended.  To check them out, I loaded the  audioHQ software, using the keyboard, located the bank 25 to check out the sounds of the different ranks. All seem to sound ok, however the tibia ranks all sound more like a drumbeat on a particular pitch, rather then the typical sound of a tibia pipe.  Any suggestions why?

I have the same soundfonts in two parts in banks 22 and 23, and the tibia plays ok there.

Thanks,

John

Link to comment
Share on other sites

To anyone!

On my pipe organ conversion project the next step is to look at driving pipe palet valves (90 ohm- 12vdc Solenoids) .

Presently I will be assembling a midio128 and a midio64 to handle encoding the three keyboards. Although I need only 32 inputs for the pedal out of the 64 on the core for the midio64, the balance will be used for stop switches for the different ranks of pipes and presets(see below). So next question:

On the organ console, there are numerous stop switches dedicated to individual ranks of pipes  which in the hardwired relay world enable selected ranks. There are two manuals (keyboards 64 keys each) and a pedal board with 32 keys. If no ranks are selected, pressing keys does nothing.  There are groups of stop switches ( one for each rank) which play from each keyboard and pedal board and also couplers which allow ranks dedicated to one keyboard to also play on the other keyboard, or pedal.

Using midi, I want to accomplish the same things.

How should this be done?

Since in the hardwired world, the stop switch is really a bank switch which enables all pipes on a particular rank to play.  In midi terms, if  there is a core and douts for each rank. and all of these output cores are programmed to the same channel so all would receive the key on/off from the key encoders, in simplest configuration, all ranks would play at the same time. thowever, if you want to play only one selected rank, there has to be a means to enable only one core, while all others ignore the incoming key on/off signals. On the organ, a stop switch is used to perform that function. In midi terms, I need to enable selected output cores with stop switches for each rank and for each keyboard.

I plan to use the 32 spare inputs on the midio64 (pedal encoder) for the stop switch  inputs  to enable selected ranks. How do I do this with midi software, hardware?

In addition to enabling individual ranks, I would also like to enable selected, preset groups of ranks with one switch action (presets in organ lingo).

Can the Midio128 which I have already purchased be used in the process? I have .jpg photos of the hardware if it will help understanding the situation. Will the insert image button insert a .jpg? Otherwise how do I insert diagrams, or photos.

Any and all comments will be appreciated.

John

Hope that this is not too confusing for you non-organ chaps.

Link to comment
Share on other sites

Hi Jim,

I don't have a soundblaster (yet) since I use a Mac and the sound system built into it. Unfortunately, I can't answer the question about how the Tibia's sound.

In reference to the stop and preset control, there was a link posted to the Residence Organ List just a day or so ago pointing to some great information on this. It is http://tadstone.home.netcom.com/Orgel.htm and  Craig Williams is the one who designed the YAPPI. You might want to see if you can find and add some ranks as seen in the Dictionary of Unknown Organ Stops. ;)

Later,

Mickey

Link to comment
Share on other sites

Mickey,

Thanks for the info.  Seems that the solution to my problem is quite complicated. Evidently the progam change approach is the way to go, however, the receiving pipe rank decoder would have to be programmed to respond to the various Progam changes sent from the stop switch encoder. I think that I will need some help on programming.

John

Link to comment
Share on other sites

John, Mickey,

Craig Williams is now testing using Controller Messages

instead of Program Changes for stop controls.  Using the

Controller Messages allows for a larger number of stops.

Using his scheme with Program Changes limits you to

63 stops.  63 stops is a lot for a Residence Organ but

having more 'available' stop numbers makes some things

easier.  He's also working on a standard format for organ

MIDI files and then a 'converter' which will re-register them

for a specific instrument.  It's interesting stuff!

                                                                       ----john.

Link to comment
Share on other sites

Johnh,

Thanks for the input.  I am at the point in my conversion where I have to go one direction or another, PC change or controller. My concern is that I am not a programmer. the software side of all of this is a concern and I don't want to change horses in mid-stream.

Anyone else have suggestions?

Thanks,

John

Link to comment
Share on other sites

John, It's totally feasible to have your pipe control boards

respond to both methods, or more if you choose.  You

could get 'fancier' and have a 'mode selection' switch

on the board if you like.  If you can develope the software

to the point that one works the other wouldn't be much

more work.  We temporarily had a version of the YAPPI

boards that would work with my console's SYSEX scheme.

Best of luck, I'm off to fix a cipher (Hauptwerk doesn't have

*that* problem...)

                                                                   ----john.

Link to comment
Share on other sites

Hi All,

Along with adding MIDI a big problem is no standard for what stops are assigned to what channels or controllers or notes. Tony Decap has written a MIDI Mapper program, primarily for band organs, that might be useful. See more about it at http://mmd.foxtail.com/Tech/decap_midimapper.html where there is also a download link. I have downloaded it, but have not had a chance to play with it yet.

Later,

Mickey

Link to comment
Share on other sites

Hello,

Jim Henry here and this is my first post.  I am looking at using Midi Box to provide MIDI Out from a 2 manual Wurlitzer theatre organ console I am restoring.  I plan to use the output as input to a PC running the Miditzer program that I am writing.  Details are at www.miditheatreorgan.com .

It seems like there is a lot of interest in the applications of the Midi Box to organs.  Perhaps a topic area devoted to organ applications would be appropriate?

A theatre organ has what is called second touch.  It is the original polyphonic aftertouch!  Each key has two switch closures.  This means that two manuals, pedals, stops, swells, and miscellaneous buttons is going to be about 400 inputs.  That would mean 4 cores and about 13 DIN boards.

Does anyone have any feeling for whether a single core has the horsepower to deal with say 512 inputs if the appropriate input boards were designed and a driver was added to MIOS for such a board?

Jim Henry

Link to comment
Share on other sites

Jim Henry,

Please look back on this thread.  I asked some questions about midizer dealing with multiple keyboards and pedal board, and configuration of the program. If you can answer the questions or shed some light on the subjest, it would be appreciated.  your program looks very attractive if configurable to include stops, multiple keyboards, etc.

Thanks,

JohnC

Link to comment
Share on other sites

Thorsten,

Thanks much!

I am really glad that I tuned in to midibox. The input and information is super. Thanks Guys - all who have taken the time to respond.

I assembled my first core over the weekend, and am moving on with the program. Probably will have some questions when I get in to programming the pic.

John Couvillon

Link to comment
Share on other sites

Question for anyone?

The note numbers for inputs and outputs in the .ini file for the midio128 are in hex which doesn't match the note numbers on the standard midi note list.  When I edit the .ini file I suspect that the note numbers must be in HEX. Yes? Does the soundcard recognize the hex or english units?

I need 128 inputs for the two keyboards. the .ini file is coded with note on/of for the first 64, then is coded with "B0" for the next 64. I want the second set of 64 to be on note on/off on  channel 2, so I just change the "B0" to "91" yes?

If I load the  edited .ini file into the pic and It doesn't work like intended, can I just re-edit and overwrite the previous attempt?

Going back to previous discusions about organ stops, etc., is it possible to use anoutput on one dout card to enable /disable another card? Would the card have to be modified? I know that I can do it with a relay and just turn power off to the card?

Thanks in advance for the help.

Johnc

Link to comment
Share on other sites

Hi,

here you can find a conversion table for hexadecimal to decimal format:

http://www.ascii.cl/conversion.htm

I want the second set of 64 to be on note on/off on  channel 2, so I just change the "B0" to "91" yes?

yes, thats absolutely correct! :)

If I load the  edited .ini file into the pic and It doesn't work like intended, can I just re-edit and overwrite the previous attempt?

yes, you can overwrite the flash more than 100000 times

Going back to previous discusions about organ stops, etc., is it possible to use anoutput on one dout card to enable /disable another card? Would the card have to be modified? I know that I can do it with a relay and just turn power off to the card?

It's also possible to program a function into the MIDIO128 application which enables/disables the DIN/DOUT handler. Such a function could be controlled from a free input - everything no problem, but somebody has to implement (and documentate) this...

Best Regards, Thorsten.

Link to comment
Share on other sites

Thorsten,

Thanks for the input.

Question: I looked at the data sheet for the 74HC595, and note that the output data is not transfered to the output drivers unless  pin OE# is held low.  On the MBHP_DOUTX4  circuit boards the OE# pin is grounded.  I plan to use a core for each rank of pipes, 64 outs.  If I lift all of the OE# from ground, and wire them all together, I can use a relay driven by a stop output, or  invert the output on the stop dout to hold OE# high unless the stop is selected. Will that work?  Can you invert individual outout to active low instead of active high and leave the rest active high, or would I have to set separate core up with douts inverted?

Lastly,  I purchased the core kits with the bootstrap loader pre loaded.  I read up on the procedure using perl and midiox to transfer the edited .ini file to the core, but when is the mios operating system loaded on the pic. Did smashtv do it when the bootstrap loader was loaded, or what?  Confused.

Thanks,

Johnc

Link to comment
Share on other sites

Hi John,

thats a really clever idea!

Yes, you can wire all OE# pins together in order to control the output drivers. If the drivers are not enabled (OE# = 5V), all DOUT pins are in high impedance state, which means that they are floating. In order to get a stable logic signal (either 0V or 5V), you have to add 10k Pull-Up or Pull-Down resistors to the DOUT pins, similar to the way it has been done on the DINX4 module. These resistors will define the default state of each individual pin.

I'm not sure if Smash already loaded MIOS into the PIC. If the upload request message will be repeated every 2 seconds, MIOS is not available.

Btw.: maybe it's simpler just to modify the pin configuration directly in midio_presets.inc and to build a new application instead of using the .ini file.

Currently the upload of a .syx data (not code) file is a little bit tricky, since MIDI-Ox has to be reconfigured for inserting delays between every byte. Many users already stumpled about this problem --- all those different setups are too confusing. Therefore I will change the upload format after my holidays so that it is the same like used for MIOS and MIOS applications (and therefore the MIDI-Ox setup doesn't need to be changed).

What I want to say: if you notice problems during the upload of a configuration (a .syx derived from a .ini file), just change the pin definitions directly in the application code. I will make this step easier next month.

Best Regards, Thorsten.

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...