Jump to content

MIDIbox as base for touch GUI music project


fabgar

Recommended Posts

Hi, for the past few weeks I have been looking at development boards as a base for developing audio/music projects. I almost decided on an STM32F7 discovery board until I found out about the MIDIbox NG. This board with its STM32F4 module looks ideal for what I want to do but I have two major questions before I can decide.

I'm currently trying to learn as much as I can about MIOS and trying to find related threads on this forum but in the mean time all the help would be greatly appreciated, thanks!

 

1) Can I use a capacitive touch screen with the MIDIbox NG ?

The projects I want to develop will make use of capacitive touch displays from 4.3” up to 7”. Either directly driven from the board or by using an intelligent display like those based on FTDI's EVE or Nextion. But I can't find any example of this, which makes me wonder if it is possible at all ?

Would this mean I should write my own driver for MIOS for the screen, or could I use existing drivers and STM32 libraries for this, or even integrate GUI frameworks like µGFX, touchGFX or embedded wizard, etc .. with MIOS ? And how difficult would that be ?

Or is MIOS not really designed for this and should I better look into MPU/Linux based solutions?

 

 

2) From what I understand so far, MIOS is mainly a MIDI control/processing OS, but how suited is it as a base to develop your own synth for instance? Are there any limitations or can you basically do anything you could do on a barebone STM32 board and thus use all its code examples, libraries, dev tools, toolchain ,etc ? I guess what I'm asking is, how well does MIOS and it's amazing features integrate with your own code or can you only use API functions? How transparent is it and does it impose limitations ?

 

Are there currently projects like these (synths, Eurorack modules, etc ..) that are based on MIDIbox that I could check out to get an idea what is possible? (I've been looking at the MIDIbox gallery and there are some truly extraordinary devices, but most seem to be controllers and I haven't yet found anything with a touch GUI)

 

Thanks!

Link to comment
Share on other sites

Have you looked at http://www.ucapps.de/ yet, or just the forums?  There are several midibox synths.  The Midibox SID is a commodore SID synth; there's an FM synth.  Midibox CV V2 isn't a synth, but it's also interesting: http://www.ucapps.de/midibox_cv_v2.html.  If you look around the wiki http://wiki.midibox.org/ and old forum threads, you can find a bunch of examples of people making custom synths and MIDI controllers with features that didn't previously exist in MIOS.

You are not restricted to the API in MIOS - take a look at the app.c files in some of the projects (eg: http://svnmios.midibox.org/filedetails.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Fcontrollers%2Fmidibox_ng_v1%2Fsrc%2Fapp.c) - there are a bunch of hooks in that file that you can use to launch custom stuff.

 

  • Like 1
Link to comment
Share on other sites

I have yes, and I found some really cool projects. It's really crazy the stuff people come up with and build!

Now, I haven't found any examples with an LCD touch screen interface, so I took a good look at the MIDIbox NG board and yeah, I guess that is going to be difficult. Parallel/RGB won't be possible just because of the lack of pins available. It probably would work via SPI/I2C but that seriously limits the choice in displays. Any ideas on how to do that are always welcome.

And thank you for your link! Took quit a bit of reading through the MIOS code to get my head around it and find out how I would write my own code for it. But the link you provided already made things a lot clearer.

Anyway, overall I think MIDIbox is really great. Already ordered the STM32F4 board while I'm checking out all the modules ;)

Link to comment
Share on other sites

Is there no one that can shed some light on how to use an LCD touch interface with the MIDIbox NG? Give me some advice on how I can find out ? Is it even possible ?

Anyone that has done a project like that ?

I would really appreciate some help, thanks.

 

 

Link to comment
Share on other sites

See http://ucapps.de/mbhp_lcd.html

In particular DOGM and DOGL Displays have touch support (with a scanning example), but you will probably need a custom driver. If I remember correctly, TK. is generally not interested in touch screen applications that can be easily taken over e.g. by an iPad or tablet running Lemur and communicating over OSC.

  • Like 1
Link to comment
Share on other sites

thanks !

I guess the only way to use a large touch screen display with the MIDIbox is by using a display that has its own processor, and communicate with that via SPI or I2C. And not to take precious resources away from it's core functionality.

 

Link to comment
Share on other sites

FWIW I use Lemur on an old iPad v1 and use it for the BLM of the sequencer, and with the MBSID. That communicates over OSC, is rock solid and make me think that going the SPI i2C route would be unnecessary. Only thing is that requires you using a computer to to go USB MIDI -> OSC -> Lemur. I might go computer free at some point using Midibox + an OSC interface, but so far things work so well and I given that I always end up having a computer on to capture MIDI and audio from my jams that it seemed like if it's working I'll get on with making some music :)

Maybe before you complicate things trying to communicate using an internal bus, give that a try? Just a suggestion!

Link to comment
Share on other sites

Thanks @monokinetic, I guess that is a valid option. But I'm really looking for a fully integrated solution. And I don't mind working low level with SPI/I2C etc. It all might take a bit longer ;) but ..  the projects I have in mind are both functional but also for me to learn more about embedded systems.

Link to comment
Share on other sites

I have decided on an STM32F7 and F4 board so I can learn the basics of the ARM architecture and GUI frameworks. So if I decide to use a MIDIbox NG later, I should be better equipped to integrate the functionality I want. Using the the F4 board which is the base for the NG or I could just do it the other way around and try to integrate the modules onto the F7 board. Since it already has a touchscreen and some other great functionality onboard.

Thanks everyone for the help !

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...