Jump to content

Midibox Organ Relay


John_W._Couvillon
 Share

Recommended Posts

With the introduction of the new LPC17 core and its much expanded features (thanks to our superhero TK), midibox is one step closer to being an complete "Organ relay in a box", stealing a slogan from Artisan not intended.

Right out of the box, Midio128 can encode multiple keyboards, pistons, stops, up to 1024 with the 32x32 matrix; encode pots on swell shoes, cresendo pedals, etc.; Drive midi decoders (DOUTS) for SAMS magnets, pipe magnets, LEDSs, and communicate with the outside world in multiple protocols. As a result, one can take a defunct organ console and add midification in the form of midibox devices and end up with a truly remarkable musical instrument.Thanks Thorston for your hours and hours of work, and you willingness to address the unique "nitch" of the virtual organ. in comparison with many commercial devices, midibox concepts are not only technologically ahead of, but more versitle then most, and best of all, "free".

So what's next? What new midification application can stem from the capability of the LPC core? one comes to mind very quickly, and thats addition of a routine to implement a combination action. All of the programming is in place for piston and stop switch inputs, and relay drivers for SAMS magnets. the only thing missing is the "smarts" to make the devices do the job. Perhaps TK can put this application on the "wish" list for 2012. Currently, it is possible to build a midi based virtual organ with midibox encoders generating a midi stream and an Artisan sound engine to provide the conversion from midi to sound without a virtual organ program such as haupwerk, jOrgan, Miditzer. However to have a combination action, one has to rely on either a dedicated pc or a commercial smart device preprogrammed to accept the midi inputs and generate the necessary outputs to SAMS magnets. Granted the costs of SAMS at $25+ each is prohibitive to many, but if the capability were built in to the midio128 software , eliminating the dedicated pc, would free up money for thr SAMS.

Anyone interested please jump in with your comments.

johnc

Link to comment
Share on other sites

  • 2 months later...

TK,

As regards my post below,

With midio128 running on the LPC (ver.3)supporting multiple keyboards, all piston and stop inputs using a matrix, and DOUTS powering the SAMS magnets, addition of the necessary logic to support a combination action seems to be appropriate for the midio128. Midio128 already has built in, button handlers for key press, piston(switch) contacts, stop(sense) contacts on SAMS( including couplers, trems, etc.), as well as output drivers for SAMS magnets. In addition, the LPC uses the SD card with built in driver for storage.

I suspect that in all the apps designed for other devices, the basic logic building blocks to support a combination action already exists.

Building blocks needed:

1. The combination action has a capture function and a recall function, which allows the organist to set multiple stops on the console automatically in advance of playing,with one key piston, keypress, to recall (setting the stops) The CANCEL piston then resets the stops to off.

2. The capture function utilizes three sets of switches on the organ console. The First set has 2 switches, one switch, the SET piston and one switch the CANCEL piston. Set two, multiple swithces, combination pistons, numbered 1 thru however many is needed. Set 3 includes position sense contacts on all STOPS (SAMS)

3. The RECALL function, as implied, includes the Combination and cancel Pistons from step 2.

4. The capture logic (to be added to MIDFIO128) provides:

a. The LPC is "on" scanning all DINS on the organ. To setup a combination, the SET piston is depressed which is picked up by the DINS and the LPC recognizes the switch, and awaits selection of stops accomplished by manually pushing down the desired stop (SAMS) tabs. after the desired combinatiion is selected, the organist presses one of the numbered recall pistons to which the combination is referenced and the LPC scans all stop sense contacts, and saves the combination on the SD card with the ID of the numbered piston pressed. After storeing the combination, the LPC resets the stop tabs to the off position by performing a cancel (energizing the off magnets on all SAMS)

b. To recall the combination set in 1., the organist presses the combination piston set in 1 above, and the LPC recalls the combination, energising the "on" magnet on the stops assigned to that particular piston, the stop tabs go down, and the stops recalled are played. The duration of the recall cycle lasts only as long as the combination piston is held depressed. Release of the piston terminates the 12vdc drive to the magnets, but the STOP remains in the "ON" down position.

The SD card should allow at least as many combinations to be stored as there are numbered pistons.

Divisional and General pistons are not mentioned as any piston can be programmed to include any or all of the stops on the organ.

As regards hardware:

1. Multiple DINS, one pin for SET, CANCEL, the sense contact on each atop(SAM) which closes when the stop is "on", tab down, opens when the tab is "off" , up.

2. Multiple DOUTS with driver ULN chips, or relays. Two output pins for each stop (SAM) one to energize the 12vdc "on" magnet and one for the "off" magnet.

TK, if this has not already been included in the WISH list for the LPC, please include it.

Any comments from other forum participants are welcome.

Johnc

ps: The same programming could also be used with the 8bit cores, DINS, DOUTS and banksticks.

Link to comment
Share on other sites

I could add this to a wish list, but who will implement this? ;)

It's nothing what could be implemented in a couple of hours without having the hardware directly available to try out how the code is working.

So: somebody who owns a similar system and who has the required programming skills has to help out here.

Best Regards, Thorsten.

Link to comment
Share on other sites

I could add this to a wish list, but who will implement this? ;)

It's nothing what could be implemented in a couple of hours without having the hardware directly available to try out how the code is working.

So: somebody who owns a similar system and who has the required programming skills has to help out here.

Best Regards, Thorsten.

TK, I am at your disposal.

My LPC is complete and working. All the DINS and DOUTs are in place and wiring is ready to be terminated.

All the Stops (SAMS) are installed and wired, both sense contacts as well as magnets. The SET and Cancel buttons are wired as are the numbered combination buttons.

It would be indeed a pleasure to provide a development test bed.

I will speed up wiring the SAMS, pistons., etc.

Only one thing, I have more inputs then 128, including spares for additional SAMS, it takes 32 DIN pins (1 DIN4X) for the keyboards and Sams sense contacts on the horseshoe, all on the matrix , I have added an 8bit core and 4 DIN4X's for the pedal (32 ins), pistons (46 ins) and 26 pins for the sense contacts on coupler and trem SAMS, totaling 136 total din pins needed. I could add 3 DIN4X cards to the DIN4X in the matrix, but I would still be short, and would have to add another core anyway..

The intent is to daisey chain the midi out of the 8 bit core with the midi in of the LPC, and the midi out of the PLC to the midi in of the Artisan sound engine. hope this doesn't complicate things. See the attached file. I still have to add the inputs for three pots which will be on the swell and cresendo pedals. The file still has stuff which will not be needed, but still there.

FYI, my SD card is a micro, 4GB

Please let me know if you need any other info, pictures, whatever!

johnc

ARTISAN.txt

Link to comment
Share on other sites

It seems that you misunderstood me - could somebody please help to translate german english to american english?

Best Regards, Thorsten.

TK,

Hey, no problem!

you presented some conditions in the form of questions, all but one of which I can meet. I'm not a programmer.

If there is someone out there that is in a better position with the necessary hardware to test out the new code, sure would be nice to know who you are.

In the mean time, I'll press on with my project with hopes that you will consider my post a request for consideration, and undertake the code mod in the future.

I am still in awe of your work, and thank you for the many hours of enjoyment midibox has brought into my life.

johnc

Link to comment
Share on other sites

What Thorsten is saying is that this project is sufficiently complex that the programmer will have to have direct access to the hardware. It is not something that can be accomplished is a reasonable amount of time by a programmer who has to rely on someone remote to test the software.

Link to comment
Share on other sites

What Thorsten is saying is that this project is sufficiently complex that the programmer will have to have direct access to the hardware. It is not something that can be accomplished is a reasonable amount of time by a programmer who has to rely on someone remote to test the software.

Hi Jim,

Yes, Yes, I got it!

I'm not going to be-labor the ramifications of the english language.

The mod would have a tremendous impact on the DIY VTO nitch in the midibox community.

In addition, the hardware platform on which to test the software is pretty strait forward, all of which I have in place, including the soundengine. In addition, what programmer or knowledgable DIY guy is going to put together the hardware, in advance, just to act as a test bed. Your posts on switch matrix with Alpharo come to mind. Here in South Louisiana we call that networking, and thats really the bottom line and the real drive of the Midibox and Miditzer forums. Great stuff.

Take a look at www.barrytech.com/organ/combinationaction/. He put together what in essence is a core with dout and Din, but in different physical format, all powered by a PIC. His whole setup can be powered by an 8bit core, a couple of DINS and DOUTS. The trick would be to port his ASM code over to MIOS. Actually, using am 8x8 matrix and the SM-Fast.inc code, in midio128 ver. 2. The logic could be incorporated in the same way you added the logic to create midi note numbers, and channels.

Correct me if I'm mis-guided, but all the handlers for input and output are already in place, in particular in the mios 32 and midio128 Ver.3. The LPC would be a great platform since it is up to date, includes the matrix code and also the SD card which would be a perfect place for storing combinations. A "capture" function to acquire combinations and save on the SD card, and a "recall" function to read the combinations and output to SAMS. Again, I realize that there are many factors to consider in the code development, but IMHO it boils down to using already developed macros, handlers, etc. and re-arranging them to produce a different result.

I know you are a busy man, but would you be interested in acting as the programmer part of a team. Maybe TK would be agreeable to work with us. Your english may fare better with him then mine! No disrespect intended, TK!

Johnc

Link to comment
Share on other sites

Hi John,

the LPC17 MIOS32 programming stuff is all quite straightforward and not alien technology, why not give it a try yourself? It is tremdendous fun and there are very nice tutorials to get you started:

http://ucapps.de/mios32_c.html

Also, the other coders around here are really helpful, if you have a specific question, you will get help! :-)

Greets,

Peter

Link to comment
Share on other sites

Not interested in doing the programming for this. I don't have the hardware and I am not interested in acquiring it. By the time you spend the money for the SAMs and the power supply required, the cost of a commercial solution for the control electronics is not unreasonable. I don't think you appreciate just how complex this seemingly simple system is. I have seen some very good engineers come close to going up in flames, literally, building combination actions due to very small errors in the code and/or hardware. There is a massive amount of amperage being controlled here. This is not a project that is forgiving of mistakes.

Link to comment
Share on other sites

Hi Peter,

To do as you suggest has passed thru my mind. Admittedly, I have read through the referenced url in addition to that for the 8 bit core,and the wiki, and have some familiarity with figuring out ASM. "c" is a different story.

Perhaps you are right.

I appreciate your comments and encouragement.

Thanks,

johnc

Link to comment
Share on other sites

Peter,anyone,

Attempts to download the mios32 tool chain for windows have failed. The 27.7mb file stops at 20+mb, and won't complete. Gave up after 3 repeats. Is win 7 OS not legal for this download, or do I have to go back to XP? Can it be downloaded from any other website, or FTP?

johnc

Link to comment
Share on other sites

TK,

No luck on the download of the mios toolchain. Tried Safari, IE and firefox on a WIN7, 3mhz pentium machine and IE and firefox on an pentium 1.6mhz XP machine, and the down load terminates anywhere from 16 mb to 22 mb of the 27.7mb file. Download speed is from 69kb/sec to 100mb/sec. Could it be timing out before the complete file is downloaded? I don't normally have a problem downloading a 27 mb file.

Any other suggestions?

Is the toolchain available at any other FTP site?

Johnc

Link to comment
Share on other sites

Hi John.

To be honest, web browsers make pretty useless ftp clients!

I would suggest that you download Filezilla which is a 'proper' ftp client from http://filezilla-project.org/

I it possible that the download was timing-out due to the slow connection. That server is on a dedicated 4Mb leased line which very little bandwidth use so you should be able to download quicker than that! If the slow connection is the problem then filezilla supports resuming the download...

I just downloaded it from home (to verify that the file is OK) and I got it in about 360KB/s which took 80 seconds.

Thanks

Phil

Link to comment
Share on other sites

TK,

now that i have the tool chain downloaded, and reviewed, I don't exactly know what I am looking at, nor do I understand what i would do with it , if I did.

Foe my purposes, i need midio128, ver. 3 to provide the basic functions of my midified organ. IMHO, I need an additional alternative added to the firmware at the point where a button is pressed, and the program branches to deal with the button, encoder, etc.

With 126 input pistons to deal with, The matrix feature is ideal. Perhaps, using one of the J5 IO for the SET button, to initiate the Capture.

In all the tutorials, i don't find examples of write an read to the SD card for storing combinations.

Comments anyone.

johnc

Link to comment
Share on other sites

TK,

I did not intend to imply that I expected you to teach me to program. My apology. It was not intended.

My project with the LPC and midio128 ver.3 is progressing and I probably will have some questions getting it up and running. Hopefully it will go smoothly, but if not, I would appreciate some help.

As for programming - I will continue to read available material and search for answers on the forum.

Thanks,

Johnc

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