Touchscreen MIDI Controller

Status
Not open for further replies.

Blackaddr

Well-known member
When I started my Teensy Guitar Audio project, I really appreciated the discussion and feedback I got on the development thread. So let's try it again with my next project, a touchscreen MIDI controller!

Here's the initial concept. Use the the 2.8" touchscreen here and build an interface board that contains the Teensy.

I want to use it control my audio effects running on my TGA Pro board via MIDI, but it could be used to control any MIDI device from synthesizers to lighting. I'd like the graphical interface to be better than crudely drawn boxes and labels for buttons and switches. I'm planning to use sprites of knobs, switches, etc to give it a nicer look and feel.

Planned features
- rotary encoder knobs (with built in push button)
- 5 pin MIDI in and output jacks
- at least two 1/4" TRS jacks for connecting external expression pedals or footswitches (like this or this).
- extra RAM as runtime sprite memory
- extra FLASH for storing skins, sprites, presets, etc.
- DC power supply and jack to switch between USB power and external power

Here's a basic concept diagram showing the above.

Any thoughts?

touchMidi_concept.jpg
 
Maybe support "MIDI IN" by the USB host port?

Great idea! The Teensy's USB MIDI library will make it easy to use the host (when connected) as a MIDI sink/source in addition to the external jacks. I freakin' love the various USB classes supported by the Teensyduino libraries.
 
To keep the PCB cost reasonable I had to stay inside the 10cm x 5cm form factor. As a result I could fit 2 rotary encoders and and two TS jacks in addition to the 2 MIDI DIN jacks.

Here's the schematic.

and a couple 3D renderings of the board (not all components have 3D models). The "empty" side will mostly be covered by the touchscreen with the two encoders on the left.
teensy_TouchMidi_rev1_front.jpg
teensy_TouchMidi_rev1_back.jpg
 
Hmmm.... I may become interested in this project. Our church has an old Johannus OPUS 1100 organ that has a MIDI out only, which no one uses. I've often wondered what that port provides. Maybe just keypresses? Would your project allow reading a MIDI port and tell what is being received from a device like an organ? Perhaps my interest may lie in a MIDI with a diagnostic feature.

Peter.
 
Hmmm.... I may become interested in this project. Our church has an old Johannus OPUS 1100 organ that has a MIDI out only, which no one uses. I've often wondered what that port provides. Maybe just keypresses? Would your project allow reading a MIDI port and tell what is being received from a device like an organ? Perhaps my interest may lie in a MIDI with a diagnostic feature.

Peter.

Yes, you should be able to see and decode all the MIDI messages send by the organ. You could maybe display them on the screen as text, or perhaps write them as MIDI files to the SD card?

Here's a link I found about the MIDI file format. Doesn't seem too complicated if it's something you're interested in.

https://www.csie.ntu.edu.tw/~r92092/ref/midi/

If the organ puts out full MIDI information like velocity and maybe even aftertouch information, you could playback the recorded MIDI file on your computer using different VSTs for different organs to get the performance played on a different organ in a different size hall, etc. That might be kinda cool.
 
This sounds like a great idea. I was thinking of making something along the same lines but more of a UI for making music. Like a much simpler version of sunvox. I've currently got a perf board version of a teensy 3.6, audio shield, serial flash and a Gameduino 3. The gameduino has the FT810 GPU and can handle all the UI drawing which leaves more cycles and ram for audio processing on the Teensy. Here's some photos, without the gameduino mounted.

IMG_20180122_075748-02.jpg
IMG_20180122_075807-01.jpg
IMG_20180122_075733-01.jpg

I need to get around to learning how to make a PCB.
It would be nice to have a slimmer profile.
 
Finally getting back to this project while I wait for my next production batch of TGA Pro audio shields to come in.

TouchMIDI_top.jpg TouchMIDI_side.jpg

I've mostly been writing platform code for the MIDI controller. So far I have:
- setup a Controls class for managing the touch interface, rotary knobs, and switches
- create a Preset class for handilng the name and a variable number of named MIDI controls.
- calibrating the touch screen and storing data on the FLASH card
- add JSON format processing for storing presets on FLASH
- loading presets from the FLASH card
- a basic navigation screen to move between presets.

Still lots more to do! The project is on Github here
 

Attachments

  • TouchMIDI_top.jpg
    TouchMIDI_top.jpg
    152.5 KB · Views: 78
Status
Not open for further replies.
Back
Top