portable oontz player

Our weekly LIVE video chat. Every Wednesday at 8pm ET!

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
Locked
User avatar
nortonw3
 
Posts: 19
Joined: Sat Jul 19, 2014 12:45 pm

portable oontz player

Post by nortonw3 »

OK, so I recently purchased the OONTZ and really want to bust out some tunes but often find myself without my computer and Ableton Live. I would like to build a portable player or even something i can retrofit inside the OONTZ that would read the MIDI-out messages and play the preloaded samples wether it be drums, synths, clips, .etc...

I was thinking i would go about this by having a separate arduino and MP3 shield that I could load the samples onto and have the MIDI signals trigger the individual files. MIDI over USB would be best if at all possible and i want to take full advantage of all 64 pads on the OONTZ. and maybe add a few pots for volume control as well as attack and release for each individual audio sample.

HOWEVER, I have no idea what I need to do about coding this project. as I am a novice at coding, however I am quick to learn. Any tips whatso ever would be greatly appreciated. Thanks,

will

User avatar
brianlight
 
Posts: 38
Joined: Mon Dec 23, 2013 9:52 pm

Re: portable oontz player

Post by brianlight »

I was contemplating making a standalone unit too. I've played around with the oontz on both the BeagleBone & Raspberry Pi. There is plenty of midi software and other audio software that you can experiment with that runs on both these platforms.
Last edited by brianlight on Mon Jul 21, 2014 7:41 pm, edited 1 time in total.

User avatar
nortonw3
 
Posts: 19
Joined: Sat Jul 19, 2014 12:45 pm

Re: portable oontz player

Post by nortonw3 »

brianlight wrote:I was thinking contemplating making a standalone unit too. I've played around with the oontz on both the BeagleBone & Raspberry Pi. There is plenty of midi software and other audio software that you can experiment with that runs on both these platforms.
ive looked around some but most everything ive found has been MIDI-out from arduino and not stand-alone MIDI-in. what have you found to work best?

User avatar
pburgess
 
Posts: 4161
Joined: Sun Oct 26, 2008 2:29 am

Re: portable oontz player

Post by pburgess »

I had some hacky ideas here but the Pi or Beaglebone really sounds like a winner. Perhaps the best part is that it doesn't require any special code on the OONTZ Arduino...it would be exactly the same thing that you plug into your computer.

An Arduino would be possible but a bit more involved...requires a USB "host" interface and some specialized code to read the MIDI data. Collin's done something here:
http://makezine.com/2010/11/30/usbhacking/
Then forward the MIDI messages to something like the Music Maker Shield:
https://www.adafruit.com/product/1788
The Pi/Beaglebone approach would sort of merge these into a single thing. Synth software for these platforms is beyond the realm of my experience thus far, but brianlight seems to have something running and might have specific suggestions.

The alternate "hacky" thing I was thinking was to put the Music Maker Shield inside the OONTZ (if there's room), then modify the code so MIDI messages are output both over USB and sent to the shield. This would be most compact, but would require customizing the OONTZ firmware...and every time a change or new sketch came along, those same changes would then need to be made every time.

User avatar
brianlight
 
Posts: 38
Joined: Mon Dec 23, 2013 9:52 pm

Re: portable oontz player

Post by brianlight »

I've been playing around with a Firmware for Trellis/OONTZ that emulates the monome that works well with music making languages like SuperCollider & PureData you may want to check out. https://github.com/rbnstubbs/trellis-monome There is also a discussion thread here about emulating the Monome 40h Protocol on the OONTZ located here---> viewtopic.php?f=47&t=47582&hilit=40h+protocol
PureData & SuperCollider will also work with midi input but both require learning a new programming laungage but are very powerful & can make some really Wicked Unique sounds

You can easily modify the OONTZ example sequencer code to work well as an 8 step drum sequencer to use with the mature & open source drum sequencer Hydrogen.


I'm sure as more people start looking at the open source OONTZ as an inexpensive gird controller we will see some interesting projects here in the near Future..

User avatar
nortonw3
 
Posts: 19
Joined: Sat Jul 19, 2014 12:45 pm

Re: portable oontz player

Post by nortonw3 »

brianlight wrote:I've been playing around with a Firmware for Trellis/OONTZ that emulates the monome that works well with music making languages like SuperCollider & PureData you may want to check out. https://github.com/rbnstubbs/trellis-monome There is also a discussion thread here about emulating the Monome 40h Protocol on the OONTZ located here---> viewtopic.php?f=47&t=47582&hilit=40h+protocol
PureData & SuperCollider will also work with midi input but both require learning a new programming laungage but are very powerful & can make some really Wicked Unique sounds

You can easily modify the OONTZ example sequencer code to work well as an 8 step drum sequencer to use with the mature & open source drum sequencer Hydrogen.


I'm sure as more people start looking at the open source OONTZ as an inexpensive gird controller we will see some interesting projects here in the near Future..
so i have tried to upload your sketch, but errors keep popping up here.

Code: Select all

 struct TileOffsets TileOffsets = {
      { 0, 4, 0, 4, 0, 0, 0, 0 },
      { 0, 0, 4, 4, 0 ,0, 0, 0 }
    };
the errors are as follows:
trellis_monome:54: error: variable 'TileOffsets TileOffsets' has initializer but incomplete type
trellis_monome.ino: In function 'void setup()':
trellis_monome:87: error: 'TCCR2A' was not declared in this scope
trellis_monome:89: error: 'TCCR2B' was not declared in this scope
trellis_monome:89: error: 'CS21' was not declared in this scope
trellis_monome.ino: In function 'void checkButtons()':
trellis_monome:177: error: 'TrellisToXY' was not declared in this scope
trellis_monome:182: error: 'TrellisToXY' was not declared in this scope
trellis_monome:183: error: call of overloaded 'write(int)' is ambiguous
/Users/nortonw3/Downloads/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino/USBAPI.h:41: note: candidates are: virtual size_t Serial_::write(uint8_t)
/Users/nortonw3/Downloads/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino/Print.h:49: note: size_t Print::write(const char*)
trellis_monome.ino: In function 'void clearRows()':
trellis_monome:202: error: 'XYToTrellis' was not declared in this scope
trellis_monome.ino: In function 'void setRows()':
trellis_monome:217: error: 'XYToTrellis' was not declared in this scope
trellis_monome.ino: In function 'void TIMER2_OVF_vect()':
trellis_monome:258: error: 'XYToTrellis' was not declared in this scope
trellis_monome:261: error: 'XYToTrellis' was not declared in this scope
trellis_monome:292: error: 'XYToTrellis' was not declared in this scope
trellis_monome:295: error: 'XYToTrellis' was not declared in this scope
trellis_monome:306: error: 'XYToTrellis' was not declared in this scope
trellis_monome:309: error: 'XYToTrellis' was not declared in this scope
What should i do about this? do i not have the correct libraries because i have both Trellisxy.h and trellis.h as well as wire.h

User avatar
liamfpower
 
Posts: 6
Joined: Wed Oct 01, 2014 10:13 pm

Re: portable oontz player

Post by liamfpower »

Hi norton.
I got the oontz working with monome software. The trellis monome 0.5.1 sketch will not work with the arduino Leonardo in my experience. If you connect an UNO instead it could fix your problem. Make sure you are using the most recent trellis x y library.

Locked
Please be positive and constructive with your questions and comments.

Return to “Ask an Engineer! VIDEO CHAT (closed)”