Jump to content

Recommended Posts

Posted

Hello there!

I have finished my MidiBox!!

The box is for live performance. MIDI IN is my master keyboard, MIDI OUT my sound module, and it has foot pedal connections.

I wanted it to be small, and fully configurable for any parameter.

I have written code specifically to control my sound module, although it can be easily changed to any other module, because it mostly uses CCs and some RealTime Universal Sysexes (and some manufacturer specific messages too).

It is based on the following hardware:

- An standard CORE module, running MIOS with my own C developed application

- A custom stripboard, that holds a DIN module, AIN connections (unmuxed) and Bankstick

- An standard LCD 16x2 screen

- 6 foot controller connections, 3 analog controllers (AIN) and 3 digital switches (DIN)

- 3 pots

- 3 momentary buttons (switches) for left, right and mode functions

- 1 encoder, for incrementing/decrementing values

- IN/OUT MIDI ports

I wrote the software to control a sintetizer (Roland XV-5050) using pedals, and also to read some MIDI messages coming from my master keyboard (a Casio Privia 100).

The basic functionalities of the software are:

- Two application modes: standby and setup. Setup allows to access a tree-based menu with four sections: program, preset (8 programs), global and pattern. Global allows to provide default behaviour for all controllers.

- Left, Right and Encoder allow to navigate the menus and change numeric and alphanumeric values.

- Every parameter is saved to Bankstick (programs, presets and global). A total of 8 programs * 16 presets = 128 programs can be stored.

- Buttons from my Privia are used to change program (0-7) inside a preset.

- Every pot and foot controller can be programmed from the setup menu to send different messages (Sysex and CC). Foot switches can be defined to have inverted polarity, or act as a latch.

- A drumbox, based on patterns sent in Sysex. Sysex is read by application to load the patterns and play them. Patterns are saved to Bankstick. Tempo changes are sent to my XV-5050.

- I have a table to convert AIN values (for pots and pedals: Roland EV-5) to 0-127 values. It allows me to calibrate values.

- I have also a table to convert key velocities, so I can change the velocity curve.

- A led connected to RD4. Its use can be also programmed: can be assigned to a switch latch or to show a metronome.

- A debug mode for reading MIDI incoming messages.

You can have a look at the box at this address:

http://picasaweb.google.com/julian.gregorio/MidiBox

I can share the code with anyone interested.

Regards,

Julian

  • 1 month later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...