VGuitar Wireless Midi Controller project

Started by gumtown, February 24, 2013, 05:32:33 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.


Macciza

Hi Gumtwon
Just a small point but was wondering about your choice of Manufacturers Id as 66h?
Wouldn't the Academic/Development one be better ? 7Dh

From what I have seen it looks like an interesting project - hope to put some time to it . . .

MM
'70s Strat, Brian Moore iM, VG-8, VG-99, FC-300, VL-70m, StringPort, SoftStep, Sentient6, iMac QC i7 27".

gumtown

#27
Quote from: Macciza on March 09, 2013, 12:04:59 AM
Hi Gumtwon
Just a small point but was wondering about your choice of Manufacturers Id as 66h?
Wouldn't the Academic/Development one be better ? 7Dh
Sounds like a plan, the Id 66h was plucked out of thin air, I must have overlooked 7Dh from the manufactures sysx ID list.

Have started on the graphical editor, once I have something usable, I will assemble it into a guitar and a floorbox.

Looking for a cheap strat like guitar to chop, but I might just use a $5 acoustic for now, the guitar is only good for snow shoes- but only have 1 and not a pair.
Now looking for cheap switches and joysticks in the junk to make a frankenstein and install a GK internal kit too.

One thing that amazes me with the PIC micro controller is it is able to do what I have wanted so far, and yet the entrie Flash RoM space (program memory) for operating system uses a whole 1.2KB

Memory Summary:
    Program space        used   489h (  1161) of   800h words   ( 56.7%)
    Data space           used    6Ch (   108) of    80h bytes   ( 84.4%)
    EEPROM space         used    38h (    56) of   100h bytes   ( 21.9%)
    Configuration bits   used     1h (     1) of     1h word    (100.0%)
    ID Location space    used     4h (     4) of     4h bytes   (100.0%)
Free "GR-55 FloorBoard" editor software from https://sourceforge.net/projects/grfloorboard/

gumtown

#28
Here is a screen capture of the V-Guitar Wireless Controller (VGWC-Edit) editing software that will be used to program the wireless guitar controller and floor controller unit via a midi interface.
Still very much at the alpha stages of design, but functional.

Free "GR-55 FloorBoard" editor software from https://sourceforge.net/projects/grfloorboard/

Elantric

Looking great

Shoot me a BOM and schematic and I'll design  PC boards

GtrGeorge

wow!!!  You guys are AMAZING!
  GtrGeorge

gumbo

Quote from: GtrGeorge on March 13, 2013, 08:08:57 PM
wow!!!  You guys are AMAZING!
  GtrGeorge


...and what's more, they do it backwards in high heels....    :o
Read slower!!!   ....I'm typing as fast as I can...

shawnb

Gumtown, quick clarification....   You'd be able to program different controllers to use different channels, right?   To control more than one device/app?   
Address the process rather than the outcome.  Then, the outcome becomes more likely.   - Fripp

gumtown

Quote from: shawnb on March 17, 2013, 08:26:20 AM
Gumtown, quick clarification....   You'd be able to program different controllers to use different channels, right?   To control more than one device/app?
Yes, all 16 midi channels are independantly selectable across all 25 controllers (6 wireless pb's + 6 wireless analogs + wireless 5way sw + 6 floor pb's + 6 floor analogs).
Just sorting some quirky stuff like patch change won't work above channel 10, which the concept works quite well using dedicated buttons to select predefined patches.
Other stuff like note on/note off to sort, using them separate seems pointless, better to have note on with a button press and note off when the button is released.
But I may just leave that stuff open ended so users can make their own fatal midi mistakes, the editor will let you choose what you want, and the user to sort what works. 

The editing part is working quite well except for uploading complete patch file into the controller, maybe i am trying to get too much out of a simple pic micro with 2k of program space.
The editor can 'connect' with midi Identity request/reply sent back from the micro controller (pic16f685 is used),
It can update the editor GUI with it's current settings (patch), and changes made to individual parameters can be written into the micro.
So far so good.
Free "GR-55 FloorBoard" editor software from https://sourceforge.net/projects/grfloorboard/

shawnb

Very cool.  I have images in my mind of a little 2" touchpad, or maybe even trackball controller! 
Or even just one of those Keith McMillan pads on the QuNeo...   I think those are proprietary, tho...
Address the process rather than the outcome.  Then, the outcome becomes more likely.   - Fripp

gumtown

Quote from: Elantric on March 12, 2013, 05:40:00 PM
Looking great

Shoot me a BOM and schematic and I'll design  PC boards
Will do that  soon,
just want to make sure of no last minute design changes.
Free "GR-55 FloorBoard" editor software from https://sourceforge.net/projects/grfloorboard/

gumtown

#36
EDIT** it is now working 100% reliably with the controller**
can also now use buttons for note on/off, and system mode song select & tuner request.
I must say I am exceptionally impressed, if I don't mind saying so myself.  8)
Now at the next phase where I will replicate the same circuitry on a second controller.
----------------------------------------------------------------------------------------------------------

And here is the initail upload of the VGWC-Edit software editor for programming the project controller.
It now works nearly perfectly, with the ability to tweak individual settings and save/transfer/load patch type files into/from the the controller.

http://sourceforge.net/projects/grfloorboard/files/VGWC-Edit/

Free "GR-55 FloorBoard" editor software from https://sourceforge.net/projects/grfloorboard/

Elantric

#37
Looking this over, I rather wish there were more than 6 floor button Switches - I'm used to 13!

1 Bank up
2 Bank down
3 Patch A
4 Patch B
5 Patch C
6 Patch D
7 Patch E
8 Stomp #1
9 Stomp #2
10 Stomp #3
11 Stomp #4
12 Stomp #5
13 Tap Tempo/ Tuner

And if I want another wish, it would be to clone the operation of older Digitech footpedals, where a "double press" of any Patch Switch returns you to the previously selected patch.





gumtown

#38
The analog inputs can also be used as switch inputs, plus there are two extra switch inputs which i am proposing to use as fixed function patch up/down and utilise dual pupose led output (I/O functions are software switchable) for another switch input.
So there are a possible 15 switch inputs availble with the current hardware for the floor controller.
To implement the added wishlist features, i may need to upgrade the chip from a $4 one to a $5 one with double the program space (same I/O's and pin configuration) and increase the patch size from the current 58 bytes, but it is very possible to achieve (these chips are the same as used for the GK-IO project's gk-switching modules).
Some of the existing assignable functions (to any input sw) in the System exclusive area include MTC 1/4 note frame sync output (F3 tap tempo?) and tune request (F6?).
The bank/patch thing could be expanded to make your patches per bank assignable, 3 to 10 patch pedals with bank increment/decrement to suit.
At the moment you can also assign to have any given pedal fixed to select a specific patch.

Just ordered some of the chips with larger memory and an ALPS potentiometer joystick control (with center push-button).
http://docs-asia.electrocomponents.com/webdocs/0bf3/0900766b80bf3e72.pdf
Free "GR-55 FloorBoard" editor software from https://sourceforge.net/projects/grfloorboard/

gumtown

By Crickey !!  :o
I am currently using it as a polyphonic keyboard,
using the foot controller part to play Windows GS Wavetable Synth cello.
An unusual (and unexpected) side effect being 14 part polyphony, and all controllers can be used concurrently.  ;D ;D ;D
Free "GR-55 FloorBoard" editor software from https://sourceforge.net/projects/grfloorboard/

musicman65

Very cool! I want to build a "pedal strip" that is less than an inch thick by 3" deep and the width of my FC300 and embed your controller in it. I am going to use a piece of extruded aluminum door threshold as the case. It will attach via Velcro to the front edge of the FC300 to extend its capabilities....could use standalone as well.

Does anyone know if the FC300's MIDI input retransmits to the VG99 via RRC1? If not, a desperate cable will be used.

bd


neophytte

Wow, I haven't been here in a while and ... wow!!!

Cheers

Richard

cell7

im outa my depth a bit on this thread... just wondering what are the reasons RF is being used? Could bluetooth also do the job? Im interested in direct transmission to a iphone from the guitar [and then potentially via midi out to the vg99].

Elantric

#43
The goal of the project is to grow a system of added control for 13 pin users.
This thread explains the goals
https://www.vguitarforums.com/smf/index.php?topic=7852.msg55635#msg55635
Elantric Wrote>
QuoteSeveral of us have been chatting for years about creating an Improved  / expandable version of the Roland US-20 13 pin A/B box.

If you have used the US-20, you know how restrictive it is. if your GR-55 or VG-99 patches do not map the GK-3 Vol pot to "Patch Volume" - the US-20 does NOT WORK. and FWIW - bulk of the factory patches for VG-99 and GR-55 do not map GK-Vol to Patch Volume.

The other issue is the Piezo guitars need a High Pass filter to  track Guitar to PCM or Guitar to MIDI correctly on the GR-55, and VG-99. Bass guitars need yet another separate High Pass filter type. If you are a multi-instrumentalist you have a headache.

With Gumtowns's GK IO, we have a path to build an expandable / programmable US-20 with programmable High Pass filters for each string that solves many problems, and will be open source.


https://www.vguitarforums.com/smf/index.php?topic=7852.msg55678#msg55678
GUMTOWN wrote>
QuoteThis project has been in the design stages for a little while now, and this week i have the initial design sorted and the midi I/O subsystem working enough to demostrate on the GR-55.
It will be an Opensource project, hopefully available one day in various stages as kitset, short form and product, or as a DIY program your own chips.

Here is a little blurb on what it is

The beginnings of the V-Guitar GK-IO project.
A multi-function hardware device to interface between multiple GK equiped guitars and multiple GK devices such as the GR-55 and VG-99. A modular intelligent system which can support up to four GK input devices and four output GK devices and one programmable hexaphonic High Pass filter. Input to output routing will be completely independant for each string, allowing certain strings to be routed to multiple GK compatable devices, as well as standard GK switching.
The GK-IO also features midi input and midi output with user configurable CTL buttons depending on the display mode, CTL1 and CTL2 plus patch up/patch down, or CTL 1 to CTL 4.
The GK-IO will initially have 16 patches 8 preset and 8 user editable, functions such as GK Volume, S1/S2 switches, GK switch will have the abilty to send cc# data, and a feature which samples the normal pickup and converts the amplitude to a midi envelope level. An external Expression pedal can also be plugged in to send user selectable midi cc# data, as well as four foot pedals to extend the function of the four tactile pushbuttons.
The GK I/O modules will have switch selectable addressing to determin it's function, detected on startup. A minimum requirement of 3 GK I/O modules for 1 in and 2 out, or 2 in and 1 out configurations, and up to 8 GK I/O modules are supported, so the system can be expanded when required.

It became apparent that a the "GKIO" above could become a set of open source tools for All readers here, add a MIDI Floor controller and Guitar mounted controls to expand the methods to control these tools.

I suggested we re-allocate the 13 pins, perhaps re-use the GK-3's  Switch S1/ S2 pins as a BI-DI serial interface, but that opens up several problems with lack of backward compatibility. So Gumtown has determined a wireless RF interface could be employed here on this thread

Using MIDI message to switch Pickup
https://www.vguitarforums.com/smf/index.php?topic=7946.0

and my message here
https://www.vguitarforums.com/smf/index.php?topic=7946.msg56536#msg56536
QuoteEDIT: a colossal idea   a micro controller chip hooked to a 5 position strat pickup selector switch which sends system exclusive data to change GR-55 modeled pickups.

Let me know if you need help to make this a reality - Select a suitable PIC and I'll get started on the PC Board.

But why stop there?

I've previously stated my desire to make a replacement GK-3 PC board, that DIY users could swap out the old Roland board and install the new "Smart GK-3 board" make it fully hardware backward compatible with a
"stock GK-3 mode" 
but also provide a new
"smart mode", that can interface with Strat 5-way switches and more control Pots  - or even more controls  - like two small 4 way joysticks (like an X-Box Controller)  could be incorporated on the guitar for further MIDI Control of the 8 assignable GR-55 controllers right on the guitar. - use the existing "S1, S2" GK-13 pins #10 & #11 for a cheap bi-directional multi-drop communication protocol - rather like RS-485. 

Maybe this could interface with your GK-IO project at the other end of the 13 pin cable - with a new 5 pin MIDI Out - so the "Smart GK-3 board" equipped guitar could also control lots of other gear via assignable MIDI CC# commands.
https://www.vguitarforums.com/smf/index.php?topic=7852.0

BTW - the desire for a 5-way PU Select for GK /VG Users goes way back - with arcane but working implementations -
details here:
https://www.vguitarforums.com/smf/index.php?topic=45.0

and Gumtowns response here:
https://www.vguitarforums.com/smf/index.php?topic=7946.msg56595#msg56595
QuoteBeen giving this more thought in a rather 4 dimensional mannor.
Try to cover everyones needs from all different angles, this could split into two paths here.
The GK-Kit replacement (assuming it is the internal Kit and not the GK-3) sounds like a fantastic idea.

Initially first looking at a 'drop in' into a strat which either uses the GK-3 or internal Kit, connecting to the tone side of the 5 way PU selector (or it could also work on a Gibson style 3 way too), one tone pot can be used across the Normal PU guitar out, the spare tone used as a rotary controller.
Most Joe-Blo's won't want to be modifying GK cables and VG/GR units and such, so a cheep miniture RF transmitter in the guitar using a small 8 pin pic (12F675) allowing 3 pins for 5 way PU selection and two A/D rotary pot controllers (or a 4 axis joystick).

These are the RF modules I have used in other pic micro projects (band lighting), they are common and cheep as chips.

QuoteThe small one (transmitter) is the size of a finger-nail, coupled direct to the pic and a 5v regulator and cap would be the only on-board components required inside the guitar, and could be powered by a 9volt battery which would last for years with careful sleep-mode design of the software. (wakes up - measures pots and switches - if no change go to sleep) the transmitter would send data (when required) at 1200 baud to the receiver box on the floor which would conver the 1200 baud data to midi (and maybe acouple of foot switch buttons thrown in too).

This would eliminate the need to interfere with any GK wiring at all.

We are mostly concerned to keep this low cost and reduce the latency, so that is why the generic RF  Modules set here was chosen
http://robokitsworld.com/index.php?main_page=product_info&cPath=7&products_id=75

Bluetooth is attractive, Many products such as the IK Multimedia Bluetooth Footcontroller comes to mind  - but that would require much development time and cost. But might be a good plan for the future.
http://9to5mac.com/2013/01/23/ik-multimedia-announces-irig-blueboard-bluetooth-midi-pedalboard-for-ios-mac/

So we have several threads with very different - off topic titles, that all have bits of information all relevant and crucial to know.
Someone just joining the discussion might have surely missed!

shawnb


I had COMPLETELY missed the connection to the US-20 limitations (GK IO floor unit)... 

I thought this was about the Fishman Triple Play!   The ability to control two different apps (guitar FX & MIDI synth).  I've been thinking that if I had an on-guitar patch up/down and one or two controls for each app I'd be golden!  (Hence my question about the ability to use different MIDI channels for the different buttons above.) 

Address the process rather than the outcome.  Then, the outcome becomes more likely.   - Fripp

Elantric

Quoteif no change go to sleep) the transmitter would send data (when required) at 1200 baud to the receiver box on the floor which would conver the 1200 baud data to midi (and maybe acouple of foot switch buttons thrown in too).

Gumtown,

I feel its very important to add this feature:
Have a path to support Guitar Mounted Joystick that (after going thru your RF wireless protocol and floor mounted PIC Floor controller) allow for smooth / fast 14bit MIDI Pitch Bend messages to be output via the 5pin MIDI Out Jack 

musicman65

#46
Am I understanding this correctly? See attached sketch...


Elantric

Yes  - looks correct to me!

Maybe Gumtown can elaborate.


musicman65

If this is the design concept with digital and analog onboard the guitar and at the floorboard receiver...this will be revolutionary! Gumtown, can you confirm? I am already thinking of locations on the RR Strat pickguard for 2 momentary DPDT toggles and perhaps a nano joystick. WhoooHooo!

I long for the day when I can patch change, hold/sustain, and adjust midi params without returning to my pedalboard and balancing on one foot!

Gumtown, if I have my #1 guitar performing and #2 on-stage as backup, both GKIO enabled, do they conflict?

Thanks, bd

Elantric

#49
Gumtown is saying he has a path for an internal installed small Microchip PIC Embedded CPU
http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en023114

which has internal 12 A/D Input Channels that can directly read the position of Rotary Pots and status of Momentary Switches and send via RF Wireless Link to a 2nd PIC CPU located in a Floor Controller that performs the MIDI CC# Controller translation.

Realize in the block on the left called  "Digital and Analog ON-GTR Controls "
we are NOT sending  / Transmitting ANY Guitar AUDIO via Wireless

Also we are not doing any Guitar To MIDI here either. Must refer to other methods/means for both of those.

A 1200 baud rate RF serial link  is  way too slow for real time audio anyway.

and remember MIDI is 31,250 Baud =  26 times faster



In this thread we are talking about cheap RF wireless link for Guitar Mounted Controls.