TEENSY - V-tone a Roland/Boss amp and EQ knob-box tweaker

Started by gumtown, August 27, 2015, 12:51:36 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

gumtown

Here is a concept I have thought about for a very long time,
Can you guess what it is, what it does?



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

sixeight

Excellent. More knobs. Great midi controller. Three displays for parameter feedback. I like it.

Will it eventually become the amazing hardware editor for all Roland/Boss floor multifx...?

And will it have a wireless connection with the V-Controller?

http://www.ebay.com/itm/2Pcs-Wireless-Transceiver-Module-NRF24L01-2-4GHz-Antenna-For-Arduino-New-/221481797303?hash=item33915806b7

gumtown





Quote
Will it eventually become the amazing hardware editor for all Roland/Boss floor multifx...?
Thought it would start off doing amp tweaking and EQ's
The floor multi effects are handy, but I sure miss having real knobs to tweak my amps and EQ on the fly, and something on a desk or attached to a mic stand would be really handy and convenient.

Quote
And will it have a wireless connection with the V-Controller?
Hmmm that is a good idea, was thinking it would be good if it could interact or be integrated with the V-controller.


I figured the addressing on multiple I2C LCD's 0x27 with no address jumpers, 0x20 with all A0,A1,A2 jumpers in, the addressing is subtractive.

Ordered a couple of these USB B panel mount socket to USB micro plug, to make that Teensy USB/Midi port external
http://www.ebay.com/itm/111748707086

And what the heck - 8 pieces of these too
http://www.ebay.com/itm/2Pcs-Wireless-Transceiver-Module-NRF24L01-2-4GHz-Antenna-For-Arduino-New-/221481797303?hash=item33915806b7
Free "GR-55 FloorBoard" editor software from https://sourceforge.net/projects/grfloorboard/

Elantric

I want it! 
Need to clear a few projects off my schedule,  fire up the drill press and heat  up the soldering iron - join the fun.

Just need a big case to haul all these user created solutions to problems created when the bean counters at Roland left off the controls.

I once built a pedal board out of a 19" rack lid, so I could transport one box and setup/Tear down rapidly.

Perhaps consider a high speed RS485 link for remote mic stand mounting. Or base it on a fast RPI gen2 with Teensy 3.1 or PIC for remote using POE ( power over Ethernet)

Give it kemper control too and integrate with the VControl project , and stealth wireless guitar mounted multi-touchpad pick guard


mbenigni

Amazing!

Is this a generic MIDI controller or is it programmed specifically for one (or more) Roland product(s)?  How are you getting the parameter names etc. on screen?  SysEx requests?

Very impressive!

sixeight

Is the knob on the right an encoder or a potentiometer?

Will you share your code?

gumtown

Quote from: mbenigni on August 28, 2015, 07:48:19 AM
Is this a generic MIDI controller or is it programmed specifically for one (or more) Roland product(s)?  How are you getting the parameter names etc. on screen?  SysEx requests?
Aimed at being for specific Roland/Boss/Whatever units, but it is possible to have a page of regular generic cc# sends.
Parameter names have to be hard coded, SysEx requests can only provide parameter values.

Quote from: sixeight on August 28, 2015, 08:16:44 AM
Is the knob on the right an encoder or a potentiometer?

Will you share your code?
The one on the right is an encoder, and I will post the code on GitHub once there is something worthy of uploading.

It's all still conceptual, the twelve knobs will eventually be a problem and may get replaced with encoders.
There are two ways the project can go, with potentiometers, and reading amp and EQ values from each patch, the values can end up 'fixed' as per each knob position, or will change the parameter value to the current position once the knob is moved.
With rotary encoders, the patch parameters can be read in, and the encoder can then add/subtract from the current value, rather than a 'jump' that a potentiometer will do.
The potentiometers will be O.K. if one wants the 'V-tone' knob box to act like a traditional hardware preamp or Equalizer.

Also I am one A/D port short, tried using a software I2C as the hardware ones also use the A/D ports, but couldn't get it to compile.
Free "GR-55 FloorBoard" editor software from https://sourceforge.net/projects/grfloorboard/

gumtown

So far got it so the GR-55 Preamp/cab settings are on one page,
press the rotary encoder push-button,
and the Equalizer page is displayed.

I think rotary encoders will be better, instead of pots, but to use traditional encoder interface means, will require 2 digital inputs for each encoder.
Time to devise a multiplexing method.

Alternative is to have only one rotary encoder, and 12 push buttons, each to select the required parameter to adjust with the common encoder.
Free "GR-55 FloorBoard" editor software from https://sourceforge.net/projects/grfloorboard/

sixeight

QuoteTime to devise a multiplexing method.

I have been experimenting with the mcp23017, which will give you an extra 16 input ports.

I wanted to use it for the LEDs of the VController. Had it working, but then discovered the neopixel LEDs which were a much easier option.

  I still have a sketch with working code. Just let me know if you are interested.

  Here is somebody who has done this already: http://www.g7smy.co.uk/?p=451



gumtown

Uploaded the half done code to GitHub
http://github.com/gumtown/V-tone

Still short on one A/D port, but the project will be set at two stages.

1) the simpler 12 pot knob box, which doesn't seek any parameter feedback from the midi devices.

2) 12 rotary encoder knob box with midi parameter feedback.

the extra A/D port can be achieved by either working around the software I2C port to free up 2 A/D ports, or an old trick I used to do with digital only inputs with a resistor and capacitor, have the I/O port initially as an output to charge a capacitor, then change it to an input and measure the time it takes for the capacitor to discharge and the port state goes low, time depending on the pot resistance draining the capacitor.

With the rotary encoder option, I am determined to keep the component count minimal, with an idea to common all the 12 encoders A & B outputs to two Arduino pins, and use 12 digital outputs on the encoder common/ground pins, polling each in series, so only 14 I/O are required instead of 24.

I tried the V-tone knob box last night at a band practice session with my GR-55, and it worked really well !!!
It was so nice to tweak the GR-55 preamp in real-time, tweaking any parameter as I wished, with none of the frustration of ducking to/fro menu items and scrolling to find settings.
Nice......  :)
Free "GR-55 FloorBoard" editor software from https://sourceforge.net/projects/grfloorboard/

sixeight

Nice. I only find the .gitignore files on Github though.

I don't know which method you use for uploading the files, but I do it from the command-line. You have to add the files you want to upload by committing them first. I use

git commit -am'Description of what changed'
git push

It took me awhile before I was succesful in uploading code to Github...

gumtown

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

sixeight

Had a quick browse. Looks vaguely familiar. ;D

Nice work though.

Elantric

#13
I need Two of these ( or ability to change firmware)  - one for GR-55, and another for GP-10

For me I need Tremolo Depth, , Rate

For me I need Tremolo Depth, , Rate

or just ditch it all and revert to my Vetta combo - or
68 Fender Vibrolux Reverb amp ;)

Seems all the DSP Modeler designers think dedicated Bass, Middle , Treble , Presence Tone controls are mandatory ( AXE FX, HD500, Helix) - but frankly once I set these to taste at home - I rarely  touch those live at the gig  - by contrast,  I need Tremolo Depth, , Rate, Echo time, depth, repeat, Reverb Dwell, Mix, Tone - Put these on dedicated knobs and you get my interest ( Hello M13) -  Ive explored numerous DSP Amp / FX Modeling boxes and rarely do I  encounter the "point and shoot" dedicated  controls i need at the gig for FX that I use.

This V-tone a Roland/Boss amp and EQ knob-box tweaker box comes close  - but Id want to remap the knobs to the FX controls I need


sixeight

Quote from: Elantric on September 04, 2015, 04:17:49 AM
I need Two of these ( or ability to change firmware)  - one for GR-55, and another for GP-10

For me I need Tremolo Depth, , Rate

I would build one and add a button to toggle between the GR55 and the GP10.
Firmware of the v-tone is on Github. Anyone can download it.

If need control over only a few parameters, you can make a simplified version with fewer buttons.
Or you could make one button that changed tremolo depth on both devices at once...

gumtown

It currently has 2 buttons,
one flips through the different (firmware) units GP-10 > GR-55 > GT-100 > SY-300 > VG-99 > GP-10.
the other flips through 4 pages of 12 parameters, some yet to be determined. currently a little over 50% of the program space has been used.

I have some I2C RF modules coming, and would like the V-controller to be able to control the unit mode, depending on which unit is currently selected, and have the V-tone midi passed wireless through to the appropriate V-controller midi port.

Suggestions then on a page of 12 most useful parameters to have instant access to.
As for the devices, I picked out what I thought were the most appealing, for me it will mostly be used on the GR-55 and SY-300.
The code is easy enough to substitute devices for others (provided they use standard SysEx protocol), or swap out preamps and EQ for effects parameters.
Free "GR-55 FloorBoard" editor software from https://sourceforge.net/projects/grfloorboard/

gumtown

Started playing with rotary encoders now,
will definitely need encoder acceleration there, it currently takes many turns to get from 0 to 100.

EDIT: Rotary encoder acceleration now sorted, can now increment by 1, or go from 0 to 100 in a quick twist.

MORE EDIT: using interrupts on the rotary encoder is now even better, very smoooooth.   Nice !!
Free "GR-55 FloorBoard" editor software from https://sourceforge.net/projects/grfloorboard/

gumtown

Here is a quick YouTube video showing the first incarnation of the project,
the box the bits are mounted in is a piece of plastic electrical box section trunking (it was handy).
It shows some of the basic controls in the box and a close up my thumb.
Free "GR-55 FloorBoard" editor software from https://sourceforge.net/projects/grfloorboard/

sixeight

#18
Excellent work Gumtown.
Looks like a fun project to build. Does this version have the rotary encoders implemented?

gumtown



It has one rotary encoder in use, the encoder on the far right side works in place of knob 12 (bottom right side) due to only 11 A/D inputs available after the I2C port uses two of the 13 available A/D inputs.

Once the code is all completed for the potentiometer static version (midi TX only), and the rest of the encoders arrive.
The project will be branched to a encoder only version with duplex midi.

The plan is to use all 12 encoders with the encoder A's and B's common together, and multiplex the 12 encoder ground terminals.
That will save on a lot of wiring and I/O ports.

Just got back from band practice tonight and tried the V-tone on the GR-55, some parts worked great (preamp), I find I don't have the EQ used on any patches, and the chosen Synth parameters don't really cut it, more trial and error required to pick out the more useful settings for live playing of patch tweaking.
Things like the NPU, Modeling, and PCM levels worked out great.
Some knobs I might make control more than one parameter, in an EZ Tone type of concept.
Free "GR-55 FloorBoard" editor software from https://sourceforge.net/projects/grfloorboard/

mbenigni

#20
Awesome stuff!  Are you responding to parameter changes on the GR-55 itself?  Does your control surface refresh on patch change events, or query for new values when you press the switch, or anything like that?

I've been thinking of buying a bunch of those Tuna Knobs (http://tuna-dj-gear.myshopify.com/) and sticking them on an old iPad 1 semi-permanently, then modding my TouchOSC app to benefit from "physical" controls.  But I still have all of the compromises that come from having no communication from the GR-55.  (Also, those Tuna Knobs are expensive, and I have no first-hand experience as to how well they work.)

Is that a track off of "13" backing your video?  Also cool.  :)

gumtown

Quote from: mbenigni on September 10, 2015, 07:21:19 AM
Awesome stuff!  Are you responding to parameter changes on the GR-55 itself?  Does your control surface refresh on patch change events, or query for new values when you press the switch, or anything like that?
At the moment, no.
The nature of regular potentiometers doesn't work well with updated parameters from the GR-55 (or other devices), as their value is fixed to 'where they are at'.
Rotary encoders do work well with parameter feedback, as their range is limitless.
Which is why this project will be branched two ways. The pot design which is simplistic to build, and allows many devices and parameters to be loaded into the available memory space.
A few more devices can fit in, I am currently looking at the Kemper midi implementation doc, and a few pages of generic cc# controls will do it.
Also a shuffle of the knobs, the rotary encoder will end up at the top left, as that is more suited place for selecting amp types.
I will then post a schematic and a shopping list, the Arduino code is available on GitHub
http://github.com/gumtown/V-tone
And a binary build of the project will also be available for anyone that just wants to 'build and go'.
I am trying to keep the code as user readable and modular as possible, so anyone can modify it to suit their own device and parameters.

The rotary encoder version will be (still a concept) device readable, with parameter feedback data requests when a page is changed or a device patch has changed.
But due to memory constraints (of the Arduino Teensy LC) not as many devices will be loaded in, maybe 3 units.
Still the code will be reasonable easy to follow and can be easily adapted to other devices.

Quote from: mbenigni on September 10, 2015, 07:21:19 AM
Is that a track off of "13" backing your video?  Also cool.  :)
Yes - one of my favourite albums, and a great live show too,
and they are coming back April 2016 for the END tour.  :)
Free "GR-55 FloorBoard" editor software from https://sourceforge.net/projects/grfloorboard/

sixeight

QuoteBut due to memory constraints (of the Arduino Teensy LC) not as many devices will be loaded in, maybe 3 units

You could always replace the LC with a Teensy 3.1. Similar footprint, but four times the memory. If I will ever build a VController version 2, I will upgrade the Teensy to 3.1.

mbenigni

#23
Quote from: gumtown on September 10, 2015, 01:44:07 PM
Yes - one of my favourite albums, and a great live show too,
and they are coming back April 2016 for the END tour.  :)

I missed the last tour, but I will definitely be seeing the next one.  (Well, assuming I can afford it...)  I don't think we'll have many more opportunities, sadly.

gumtown

Rotary encoders have arrived,
so I have decided to tidy up the simple potentiometer version, make a schematic and shopping list, post a built binary file for direct uploading to the Arduino LC micro.
Once the project at that stage is completed, the GitHub code will be branched for the rotary encoder version.

The next version will now use the (3 off) 4x20 LCD's and the Teensy 3.1

Did I mention that as well as the 5 pin midi ports, it also has Midi/USB too?
This project can also be used as a cc# control box for a D.A.W.

Here is my 'artist impression' on what it will look like
Free "GR-55 FloorBoard" editor software from https://sourceforge.net/projects/grfloorboard/