MUFF WIGGLER Forum Index
 FAQ & Terms of UseFAQ & Terms Of Use   Wiggler RadioMW Radio   Muff Wiggler TwitterTwitter   Support the site @ PatreonPatreon 
 SearchSearch   RegisterSign up   Log inLog in 
WIGGLING 'LITE' IN GUEST MODE

Grid controller for the nw2s::b
MUFF WIGGLER Forum Index -> nw2s Goto page 1, 2, 3, 4  Next [all]
Author Grid controller for the nw2s::b
scottwilson
Update... here's a sample of it running a trigger sequencer with the 'b as host:



And here's one running a note sequencer on a monome grayscale 64:



In hurry up and wait mode with the 'io module and thinking that the white whale is pretty cool. Not sure I want to add a monome to the assortment, but there is a cool kit at adafruit that's not too dissimilar.

Just got one of these and will be evaluating hooking up via USB or possibly I2C and building a couple of 'b instruments that will use it.

Some days you really wish you didn't have a day job.

https://www.adafruit.com/products/1999

-s
dude
can't speak highly enough about the build and quality of current model 128 monome grid. sure if you want a kit it's another story but damn would i ever buy another new varibright 128 direct from monome if mine was lost/stolen/broken etc. i don't use it all the time but when i do it feels *perfect*
dadek
i'd love to use my monomes etc directly with the nw2s... rater than via ww. thumbs up
scottwilson
Curious how the monome works - I would want an API that basically can query the interface to see if a button is pressed and something that can turn lights on and off - the host should take care of the rest.

The monome is pretty ubiquitous, but not being a performer, I'm not sure I'll be able to justify one anytime soon.

Looks like the place to start would be here:

http://monome.org/docs/tech:ports:arduino

Assuming I can get the UNTZTrument/trellis to run a version of arduinome, and I can code to that API, then you should be able to use the monome just the same. Probably worth going that direction than coming up with something of my own.

Time to start digging through the public code repos...

-s
scottwilson
Whaddya know? There exists code to make the tiles used in the Adafruit kit work as a monome. I think this is using the older 40h protocol, but from the looks of things, they are backwards compatible with the newer, more advanced monome.

https://github.com/rbnstubbs/trellis-monome

Also, the serial protocol is outlined here:

http://monome.org/docs/tech:serial:40h

This is going to be perfectly feasible with a little bit of time!

s
gottberg
iOS 8 now has MIDI over BLE.

A bit off topic, but could this work with the b and a BLE shield (like this one http://redbearlab.com/bleshield/)?
scottwilson
Interesting - It wouldn't work with the shield because if wouldn't allow all of the pins through, but if someone were to make a BLE breakout board, then you could either wire it manually to the SPI pins that the BT breakout uses, or if Adafruit made one that was pin compatible, you could just substitute.

-s
gottberg
b <MIDI over BLE> iPad = Play Him Off, Keyboard Cat.
racs
scottwilson wrote:
Whaddya know? There exists code to make the tiles used in the Adafruit kit work as a monome. I think this is using the older 40h protocol, but from the looks of things, they are backwards compatible with the newer, more advanced monome.

https://github.com/rbnstubbs/trellis-monome

Also, the serial protocol is outlined here:

http://monome.org/docs/tech:serial:40h

This is going to be perfectly feasible with a little bit of time!

s


hey I wrote that code! Glad to see it getting some attention. I should point out before any of you jump on it that it is still not 100% optimized (row/col commands are iffy at best) and it was written before the UNTZtrument, etc., kits existed so it is written for UNO (or any ATMega328) timers. Making the switch to a ATMega32u4 (leonardo) should be fairly straightforward, I think the hardest part would be getting the libraries switched over.
scottwilson
Thanks for getting back. There's also some Adafruit code that's written to be a USB MIDI client... Between what you've got and what they've got, I'll bet it's a matter of glue code.

(And speaking of that USB code, I should make the 'b be able to look like a MIDI device, shouldn't I?)

-s
scottwilson
Getting started...

scottwilson
Making some progress... but quick question if anyone knows: Where is 0,0 on the monome? I am assuming it's bottom left, but in some world, I could see someone making the top left be 0,0.

dude
i thought it was top left
scottwilson
Yes, you're correct - top left. I've gotten it working with the test max files. I'm not a max user, though, so if anyone wants to test it, feel free:

https://github.com/nw2s/trellis-monome/blob/master/sketches/oontzmefir mware128/oontzmefirmware128.ino

In the mean time, it's off to get the nw2s::b operating as host so we can get some cool grid-based instruments running!

s
a scanner darkly
Just wanted to say - very interested in this. To be able to use a Grid directly with nw2s::b will be amazing.

Some questions:

- if nw2s::b can be made to work as a USB host, does it mean it could eventually be used with something like Korg nanokontrol or other generic USB MIDI controllers?

- will it require some additional hardware in order to connect Monome grids / make it a USB host or will it work with the existing USB port?

Thanks Scott, really excited about this development.
scottwilson
I'm studying USB host development right now. Its - oof - a bit daunting, but perfectly doable despite the naysayers I've seen here and there. The client was a piece of cake.

Yes - it will use the second (native) USB host built into the Arduino Due. No additional hardware besides a USB OTG adapter.

I'm guessing that a USB MIDI host would not share much of the same code - to keep things simple in MCU environments, most USB hosts are special purpose - in this case, it would be written to handle the 40h protocol which is extremely simple.

What would be easier would be setting up the 'b as a MIDI device rather than a midi host. Then you could interface it with your computer. We'll see. In my mind, I like keeping those two domains separate and instead building tools that allow you some flexibility, but that is ultimately completely separable of the computer.

s
a scanner darkly
Makes sense. So if I understand correctly, it's fairly easy to make the 'b host a Monome grid via the 40h protocol but making it into a USB MIDI host could be possible but more difficult to implement.

I wonder if all of the generations of Monome devices support the 40h? I'm going to see if I can find this info on the Monome forums.

Either way it will be a great addition to the 'b. I still hope there is a way to connect USB MIDI devices to the 'b - having so many outputs would really benefit from being able to control them with a cheap MIDI controller - this is a much cheaper option than to get a bunch of controller modules instead.

What about using something like Kenton USB host to MIDI to pass MIDI information from a MIDI controller to nw2s::b? Would that work with nw2s::b being a device and not a host?
scottwilson
Sorry - should have been more clear. In general any USB client will be considerably easier than any USB host... and one class of host (storage vs HID vs raw) won't share much code with another class of host due to the way USB works.

The 40h is an older protocol, but it seems like the newer protocols use the same basic principle but with more possibilities. That could mean they are backwards compatible, but once I get it working I'll hunt down a monome to test and see. Modifying to support the newer devices seems like it'd be easy once I got the first one done - as long as I had something to debug with.

I'm not familiar with the Kenton device, so I'd have to evaluate that to answer your question.

-s
a scanner darkly
Thanks Scott, that's how I understood it - easier to make the 'b a USB client than a USB host (and making it a host for different purposes means different implementations).

Since I assumed it would be possible to use a USB MIDI controller with the 'b working as a USB MIDI device by connecting both to a computer which would serve as a USB host and route MIDI messages between the two my thought was to eliminate the computer by using the Kenton device instead. But looking at it again it actually only has one USB port and 2 MIDI DIN ports, so it would only work for MIDI controllers with DIN ports. Here is the link to the Kenton device if you're curious:
http://www.kentonuk.com/products/items/utilities/usb-host.shtml

Still, using my OhmRGB to control sketches or even simply control the outputs on the 'b would be amazing. Same for the monome support, even if it won't work with the newer grids I'll be very much tempted to get a 40h compatible grid just so that I can use it with the nw2s::b!
scottwilson
I'll keep you folks updated. Should be getting the io prototypes next week, so that gives me a bit of a window that I need to shoot. for.
gottberg
The Kenton USB host only works with class compliant midi devices (and then not with all of them).

I don't know if the Monome grid is class compliant, somehow I doubt it.
a scanner darkly
Yeah, I don't think that Monome is class compliant.

I meant using Kenton for connecting class compliant controllers such as Korg nanoKontrol to the 'b.

For instance: the simplest application would be using nanoKontrol to set the voltage of the analog outputs - with kontrol's 8 faders and 8 knobs you could control all 16 analog outs, and then you could use the buttons to control the digital outs. So you get a very cheap controller that lets you control 16CVs and 16 gates. Of course, something far more interesting could be achieved, like same idea but realized as a preset storage.
gottberg
But then how do you connect the Kenton's MIDI out to the b?
gottberg
You'd need something like the iConnect MIDI I think.

[EDIT]

It has both client and host connections as well as 5 pin MIDI
a scanner darkly
Yeah, you would need to use a MIDI controller that has DIN ports in order to use Kenton.

iConnectMIDI should work. Too bad when they replaced it with iConnectMIDI2+ they removed USB host functionality (you can get it with MIDI4 but it's a lot more expensive).
MUFF WIGGLER Forum Index -> nw2s Goto page 1, 2, 3, 4  Next [all]
Page 1 of 4
Powered by phpBB © phpBB Group