Advanced programming and cheap Arduino Hardware.

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Advanced programming and cheap Arduino Hardware.

Julie Porter
Thanks to all who took the time to read my note and reply.
I will not have anything to do with facebook,  So anything there will be lost to me.  I do appreciate the forward.

I have been able to get about 90 percent of the functionality working.  Mostly with activators.  The trick is not to include the activator in the division (department.)  This makes couplers a bit awkward, but the underlying 'hidden' stop tabs are added to the coupler list and everything seems happy.  A lot of this is trial and error.  There is a little debug icon at the top of one of the menus.  This helps to locate the offending "ID" reference.  A good XML editor is a must.  Note that I am using the postscript printing language to generate the XML.  It has good parsing capability and I can plot the output skins precisely.  It is also good for piano roll views of the tracks which are also graphical.

I found some code for a 'warning' light typically used with the crescendo.  Most of the extra outputs are for things like piano pump, or the spotlights in the room.  I could ignore them, but they are part of the old system.  A few of these are used for ventel controls. Since I am matching the stop name to the rank, this is probably of little effect, although it is nice that the indicator comes on when the tab is active.

Most of the logic functions, the remaining 10 percent or so.  Is for handling modifications to the ranks. Namely pizzicato and reiterate. The only effective way I can see how to do this is like the trems and to have multiple soundfont instances, with and without the effect.  I have yet to find the time and record my own samples. An art unto itself.

I did find a curious behavior, when using the general MIDI 8MBGMSFX.SF2 font.  The percussive effects are in bank 128. I kept getting fret noise instead of cymbols and such.  For some reason I can not seem to select any bank other than 0 with the fluidsynth back end.  From what searching I could do It is unclear if fluid synth can do anything other than bank 0.  Bank selecting seems to be somewhat manufacture proprietary.  I got around this by cutting out the percussive effects into a separate soundfont instance that I renamed. In practice this mostly affects the English horn and the Harp(Marimba.)

As I have noted, the input side is simply an Arduino Leonardo.   The inputs are simply 74HC165 shift registers,  These are buffered over RS422.   The output is also RS422 buffered.  It is quite simple and cost effective.  The Leonardo is connected to the RS422 buffered,  This sees all the inputs sent packed into frames sent every .027uS.  All the Arduino does is convert the pin event to a MIDI Channel/Note,  So every 128 notes gets a new channel.  Mapping the keyboards is a bit non standard, Which makes it impossible to run the customizer, which re-writes the Keyboard MPL, on save, to some 'Standard defaults.'  This is of minor inconvenience as Arduino boards can be had really cheaply these days.   Any old organ can probably be converted for under $75USD these days.  There are plenty of tutorials online for using the 74HC165 input chips and the 74HC595 output chips.  These are called I/O expanders in the tutorials.   The rest is just matching the MIDI to the jOrgan function. 




_______________________________________________
jOrgan-user mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/jorgan-user
Reply | Threaded
Open this post in threaded view
|

Re: Advanced programming and cheap Arduino Hardware.

RoyR
Hi, Julie,

               I'm with you re Facebook, wouldn't touch it with a barge pole. It's a bit like the old Guinness advert really, I've never tried it because I don't like it!    *:)) laughing

   I was intrigued by one line of your last post.

"This sees all the inputs sent packed into frames sent every .027uS."

27 nS per frame... Now that's what I call PDQ by any standard!    *:)) laughing

      Have fun,

            Roy.



On Wed, 31 Oct 2018 at 20:11, Julie Porter <[hidden email]> wrote:
Thanks to all who took the time to read my note and reply.
I will not have anything to do with facebook,  So anything there will be lost to me.  I do appreciate the forward.

I have been able to get about 90 percent of the functionality working.  Mostly with activators.  The trick is not to include the activator in the division (department.)  This makes couplers a bit awkward, but the underlying 'hidden' stop tabs are added to the coupler list and everything seems happy.  A lot of this is trial and error.  There is a little debug icon at the top of one of the menus.  This helps to locate the offending "ID" reference.  A good XML editor is a must.  Note that I am using the postscript printing language to generate the XML.  It has good parsing capability and I can plot the output skins precisely.  It is also good for piano roll views of the tracks which are also graphical.

I found some code for a 'warning' light typically used with the crescendo.  Most of the extra outputs are for things like piano pump, or the spotlights in the room.  I could ignore them, but they are part of the old system.  A few of these are used for ventel controls. Since I am matching the stop name to the rank, this is probably of little effect, although it is nice that the indicator comes on when the tab is active.

Most of the logic functions, the remaining 10 percent or so.  Is for handling modifications to the ranks. Namely pizzicato and reiterate. The only effective way I can see how to do this is like the trems and to have multiple soundfont instances, with and without the effect.  I have yet to find the time and record my own samples. An art unto itself.

I did find a curious behavior, when using the general MIDI 8MBGMSFX.SF2 font.  The percussive effects are in bank 128. I kept getting fret noise instead of cymbols and such.  For some reason I can not seem to select any bank other than 0 with the fluidsynth back end.  From what searching I could do It is unclear if fluid synth can do anything other than bank 0.  Bank selecting seems to be somewhat manufacture proprietary.  I got around this by cutting out the percussive effects into a separate soundfont instance that I renamed. In practice this mostly affects the English horn and the Harp(Marimba.)

As I have noted, the input side is simply an Arduino Leonardo.   The inputs are simply 74HC165 shift registers,  These are buffered over RS422.   The output is also RS422 buffered.  It is quite simple and cost effective.  The Leonardo is connected to the RS422 buffered,  This sees all the inputs sent packed into frames sent every .027uS.  All the Arduino does is convert the pin event to a MIDI Channel/Note,  So every 128 notes gets a new channel.  Mapping the keyboards is a bit non standard, Which makes it impossible to run the customizer, which re-writes the Keyboard MPL, on save, to some 'Standard defaults.'  This is of minor inconvenience as Arduino boards can be had really cheaply these days.   Any old organ can probably be converted for under $75USD these days.  There are plenty of tutorials online for using the 74HC165 input chips and the 74HC595 output chips.  These are called I/O expanders in the tutorials.   The rest is just matching the MIDI to the jOrgan function. 


_______________________________________________
jOrgan-user mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/jorgan-user


_______________________________________________
jOrgan-user mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/jorgan-user