Pages: 1 2 [3] 4   Go Down
Author Topic: Midi direct via USB?  (Read 15022 times)
0 Members and 2 Guests are viewing this topic.
berlin
Offline Offline
Sr. Member
****
Karma: 0
Posts: 293
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ok, i didn't see the "source" tabe on the google page, thanks.

Quote
The serial port speed seems to be the big problem with MIDI output directly from an Arduino.  I ran into that limitation and decided to do the software route to solve the problem.
hmm well. i know about the speed issue concerning midi's 31250 vs the ftdi driver. i thought i'd just use a faster standard baud rate for usb communication. (but didn't realize that would make the standard midi port useless:-( or at least non-standard) I have to think about that.

i have a usb2midi adapter which works great. it's just that i'd like to make these things usb-powered and "one cable" for something like garage band. still i'd like to maintain the old school midi ports because they let me easily connect devices without a computer.(if you're interested: ) i realize i want too much at the same time.

still your app is a huge step forward. i hope to be able to test it tomorrow as i don't have an arduino here. so far the app runs fine, and the interface is self-explaining.

Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 24
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

For Windows

You can try GlovePie/MIDIyoke combo. GlovePie can translate many types off inputs to MIDI code, and MIDIyoke can be used as a bridge between Glovepie and your Windows aplication. MIDIyoke is a virtual MIDI port (we use it to hook up our Wii to the computer)

Glovepie, MIDI Yoke and an
helpfull forum
Logged

Germany
Offline Offline
Newbie
*
Karma: 0
Posts: 9
Arduino rocks and shocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Quote
Quote
Look for [FtdiPort232.NT.HW.AddReg] and change the the second line below to the one that i've got here.

HKR,,"ConfigData",1,11,00,3F,3F,10,27,00,00,88,13,00,00,C4,09,00,00,E2,04,00,00,
71,02,00,00,38,41,00,00,9C,80,00,00,60,00,00,00,34,00,00,00,1A,00,00,00,0D,00,00
,00,06,40,00,00,03,80,00,00,00,00,00,00,D0,80,00,00

Which second line do you mean exctly?
1 [FtdiPort232.NT.HW.AddReg]
2 HKR,,"UpperFilters",0x00010000,"serenum"
3 ;HKR,,"ConfigData",1,01,00,3F,3F,10,27,88,13,C4,09,E2,04,71,02,38,41,9c,80,4E,C0,34,00,1A,00,0D,00,06,40,03,80,00,00,d0,80
4 HKR,,"ConfigData",1,11,00,3F,3F,10,27,00,00,88,13,00,00,C4,09,00,00,E2,04,00,00,71,02,00,00,38,41,00,00,9C,80,00,00,4E,C0,00,00,34,00,00,00,1A,00,00,00,0D,00,00,00,06,40,00,00,03,80,00,00,00,00,00,00,D0,80,00,00

I think this question isn't answered yet.
If re-installing the ftdi drivers wasn't such a pain I could change stuff by trial and error, but somehow I'm not able to uninstall the drivers or change windows' register...

Thanks in advance, Ben

it's 4!

for FTDI USB Driver v2.00.00 included with arduino-0010 you have to change Line 84 in arduino-0010\drivers\FTDI USB Drivers\FTDIPORT.INF :

original
Code:
HKR,,"ConfigData",1,11,00,3F,3F,10,27,00,00,88,13,00,00,C4,09,00,00,E2,04,00,00,71,02,00,00,38,41,00,00,9C,80,00,00,4E,C0,00,00,34,00,00,00,1A,00,00,00,0D,00,00,00,06,40,00,00,03,80,00,00,00,00,00,00,D0,80,00,00

to

changed
Code:
HKR,,"ConfigData",1,11,00,3F,3F,10,27,00,00,88,13,00,00,C4,09,00,00,E2,04,00,00,71,02,00,00,38,41,00,00,9C,80,00,00,60,00,00,00,34,00,00,00,1A,00,00,00,0D,00,00,00,06,40,00,00,03,80,00,00,00,00,00,00,D0,80,00,00

or even better insert ; in front of line 84 to comment this line out and then past the changed code in new line below.

ftdi published some infos about changing baud rates as mentioned before: http://www.ftdichip.com/Documents/AppNotes/AN232B-05_BaudRates.pdf

For easy reinstall the ftdi windows driver, search through c:\windows\inf\oem1.inf ... oemX.inf (windows xp) or c:\winnt\inf\oem1.inf ... (windows 2000/NT) and simply delete the old ftdi inf file, for example oem7.inf and oem7.pnf (be carefull to delete only the correct files, its possible that there exist more than one copy of the ftdi inf, depends on your setup. ensure to disconnect arduino before remove driver !!!)

download Roland Serial MIDI Driver Ver.3.2 for Windows XP / Windows 2000 here: http://www.roland.com/products/en/_support/dld.cfm?iCncd=724&ln=en&SearchBy=RcId&dst=P&iRcId=0000010777&dsp=1

arduino>usb>serial>midi setup (Window$):
Tested with arduino diecimila + modded ftdi driver + roland serial midi driver + modded midi_drum_kit.pde by todbot + some switches connected to arduino + ableton live.

Hope this usefull and answers some questions ?!?  smiley
« Last Edit: November 13, 2007, 11:03:30 pm by pixeldoc2000 » Logged

Why is it that only drug dealers and software developers call their clients "users"?

0
Offline Offline
Newbie
*
Karma: 0
Posts: 2
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Weeehaa!
Thanks guys, this thread helped me a ****ing lot!!!

Im kind of new in Arduino comunity (know it since summer, have it since friday) and Im working in a similar project for my master thesis. (Interfacing Arduino equipped with bunch of different sensors via MIDI with software running on PC - in my case Resolume)

So perhaps in the future we can share experiences.

Once more thx for FTDI driver hack quide   ;D
Logged

Norway
Offline Offline
Sr. Member
****
Karma: 0
Posts: 370
R-Doo-Inoo in the making :3
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I'm planning on trying a simple midi control keyboard (1 octave) once I understand the arduino a bit better.. I'd like to use it with cubase, or reason (whatever i am using at the time). Mayben if i try a layout like the arduinophone  (stylaphone thingy) that i saw on youtube, i could get some kool sounds smiley. i'll look into getting some peizos tot. the drum kit i saw on youtube using peizo speakers as drum pads was way kool smiley

no doubt i will be in here asking umpteen questions (im such a noob with the arduino and programming and stuff i dont even have the arduino yet smiley-grin its in the post as we speak {and is taking its sweet merry time too}, cant wait to build it :d at least i can solder smiley-razz)
I hope this thread will help me out smiley

the plan:
Switches/sensors => Arduino => usb|midi => Cubase/Reason.

fingers crossed smiley-razz its blinking led's 1st tho. gotta take it slow smiley-grin
Logged

B-dui in creation.

Norway
Offline Offline
Sr. Member
****
Karma: 0
Posts: 370
R-Doo-Inoo in the making :3
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

having trouble getting cubase or any other sequencer to listen to my arduino or the serial midi port.. i know the arduino is sending data because i see it in the serial monitor of the IDE

hasnt someone created a step by step tutorial on how to get an Arduino to run over serial midi for beginners. with full what port and what settings information. i must be missing something somewhere..

I got the Roland serial midi drivers in, and i implanted the registry data (i assume it went in ok) one program says it cannot open port, and cubase doesn't seem to be listening at all.. Are the ports sposed to be set up the same? ( serial midi- com3 and usb serial- com3).

also can a standard serial port be used for serial midi, to make life a little easier for me? (i have doubts tho, may have to try and get a usb midi cable)
Logged

B-dui in creation.

0
Offline Offline
Newbie
*
Karma: 0
Posts: 5
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ok.. I"m not sure if anybody else out there got there arduino MIDI device to work via USB on Mac, but if anybody still have trouble I made a workaround that works.

Basically, instead of sending MIDI data to a USB port, which then needs a driver to allow you MIDI receiving program to see it (Ableton fx), you send data in a format you are comfortable with (like MIDI code fx) and then make a Processing sketch that converts that data into MIDI data and pass it on to your IAC MIDI port on your OS X system. To do this you need to install Processing as well, download the proMIDI Processing library and install it, and download the MMJ Java library which you install in your /Library/Java/Extensions directory. (It might work without the MMJ library but a post I read suggested using it. Look for the post by "basti")
Then you make a sketch in Processing that listens for serial data on your USB port, sort it out according to the type of messages and pass it on to your IAC MIDI port. It works like a dream smiley-grin
I"ll post a Processing code example as soon as I get home to my Mac and extend the sketch a bit. So far it only recognizes simple controller messages.  
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 1
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

undervand, thanks!! This is exactly what I was looking for. I'd love to see your example processing sketch if you ever got around to writing it.
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 3
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Quote
Quote
Quote
Look for [FtdiPort232.NT.HW.AddReg] and change the the second line below to the one that i've got here.

HKR,,"ConfigData",1,11,00,3F,3F,10,27,00,00,88,13,00,00,C4,09,00,00,E2,04,00,00,
71,02,00,00,38,41,00,00,9C,80,00,00,60,00,00,00,34,00,00,00,1A,00,00,00,0D,00,00
,00,06,40,00,00,03,80,00,00,00,00,00,00,D0,80,00,00

Which second line do you mean exctly?
1 [FtdiPort232.NT.HW.AddReg]
2 HKR,,"UpperFilters",0x00010000,"serenum"
3 ;HKR,,"ConfigData",1,01,00,3F,3F,10,27,88,13,C4,09,E2,04,71,02,38,41,9c,80,4E,C0,34,00,1A,00,0D,00,06,40,03,80,00,00,d0,80
4 HKR,,"ConfigData",1,11,00,3F,3F,10,27,00,00,88,13,00,00,C4,09,00,00,E2,04,00,00,71,02,00,00,38,41,00,00,9C,80,00,00,4E,C0,00,00,34,00,00,00,1A,00,00,00,0D,00,00,00,06,40,00,00,03,80,00,00,00,00,00,00,D0,80,00,00

I think this question isn't answered yet.
If re-installing the ftdi drivers wasn't such a pain I could change stuff by trial and error, but somehow I'm not able to uninstall the drivers or change windows' register...

Thanks in advance, Ben

it's 4!

for FTDI USB Driver v2.00.00 included with arduino-0010 you have to change Line 84 in arduino-0010\drivers\FTDI USB Drivers\FTDIPORT.INF :

original
Code:
HKR,,"ConfigData",1,11,00,3F,3F,10,27,00,00,88,13,00,00,C4,09,00,00,E2,04,00,00,71,02,00,00,38,41,00,00,9C,80,00,00,4E,C0,00,00,34,00,00,00,1A,00,00,00,0D,00,00,00,06,40,00,00,03,80,00,00,00,00,00,00,D0,80,00,00

to

changed
Code:
HKR,,"ConfigData",1,11,00,3F,3F,10,27,00,00,88,13,00,00,C4,09,00,00,E2,04,00,00,71,02,00,00,38,41,00,00,9C,80,00,00,60,00,00,00,34,00,00,00,1A,00,00,00,0D,00,00,00,06,40,00,00,03,80,00,00,00,00,00,00,D0,80,00,00

or even better insert ; in front of line 84 to comment this line out and then past the changed code in new line below.

ftdi published some infos about changing baud rates as mentioned before: http://www.ftdichip.com/Documents/AppNotes/AN232B-05_BaudRates.pdf

For easy reinstall the ftdi windows driver, search through c:\windows\inf\oem1.inf ... oemX.inf (windows xp) or c:\winnt\inf\oem1.inf ... (windows 2000/NT) and simply delete the old ftdi inf file, for example oem7.inf and oem7.pnf (be carefull to delete only the correct files, its possible that there exist more than one copy of the ftdi inf, depends on your setup. ensure to disconnect arduino before remove driver !!!)

download Roland Serial MIDI Driver Ver.3.2 for Windows XP / Windows 2000 here: http://www.roland.com/products/en/_support/dld.cfm?iCncd=724&ln=en&SearchBy=RcId&dst=P&iRcId=0000010777&dsp=1

arduino>usb>serial>midi setup (Window$):
Tested with arduino diecimila + modded ftdi driver + roland serial midi driver + modded midi_drum_kit.pde by todbot + some switches connected to arduino + ableton live.

Hope this usefull and answers some questions ?!?  smiley

The setup of the Roland driver keeps saying that it can't use COM4. I changed the bits per second to 38400. But it doesn't work. Do you know a solution?
Thanks smiley

(just bought a Arduino yesterday, but have worked with it for a month last year.)
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 3
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Weeehaa!
Thanks guys, this thread helped me a ****ing lot!!!

Im kind of new in Arduino comunity (know it since summer, have it since friday) and Im working in a similar project for my master thesis. (Interfacing Arduino equipped with bunch of different sensors via MIDI with software running on PC - in my case Resolume)

So perhaps in the future we can share experiences.

Once more thx for FTDI driver hack quide   ;D

Like WTF? I want to do exactly the same smiley
I want to control Resolume with a dance pad (Dance Dance Revolution thing).
Logged

Minnesota, USA
Offline Offline
Jr. Member
**
Karma: 0
Posts: 66
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset


Researching this, I found a new resource I'm surprised I didn't hear about here. Haven't used it yet....

It's called Maple Virtual Midi Cable.

http://www.hurchalla.com/Maple_driver.html
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 3
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

The driver is working! On another Xp install (for resolume).
Going to experiment now for a bit smiley
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 2
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I have done all of the steps required to get the arduino to work as midi but I am still having problems. The arduino software recognizes when the piezo is touched but MIDI-OX and the midi drum software (CakeWalk Studio Instruments) I am trying to use it with dosen't respond to it. I am using the midi drumkit pde code. I don;t know if I have to change anything in that code? If anyone can help me with this problem or tell me a different way to do this please let me know as soon as you can. I am building a drum kit from piezos for my sound class and I am supossed to display it this weekend at our show. I need to get this working by then.  Thanks
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 6
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Is there a forum for this dedicated to windows, im sick of seeing mac
Logged

0
Offline Offline
Full Member
***
Karma: 0
Posts: 111
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Most forums in the world, acidhax.  If it doesn't name the OS explicitly then it will be Windows.

Looks like maybe three posts in this thread mention Mac OS at all, and none of them talk about a Mac-specific solution.  As opposed to the three posts giving a solution that only works on a Windows PC.


Sorry for the mini-rant.

I'm puzzling over the same keyboard issues myself.  I've got MIDI working fine, and I've got Arduino-to-Processing working fine.  Haven't gotten MIDI out of Processing yet -- library problems to sort through still.

But on the hardware side, I've got a real tempting shape to work towards.  And that's a one-octave (with octave key) keyboard designed specifically to work with monophonic instruments such as those in the Garritan libraries.  The aim is a keyboard that doesn't attempt to emulate a piano, but instead allows expressive entry of a monophonic line -- and is small enough to stick in a laptop bag (and either battery or USB powered, to boot).

Mono means easier implementation of MIDI on the Arduino side.  To make the keyboard properly expressive, however, would need to add the mod wheel CC (Garritan libraries use the mod wheel to control dynamics.  Keyboard velocity is mapped only to attack).

And, of course, would help greatly if the keyboard was velocity-sensitive.

I've played one of those roll-up pianos.  Unless someone can really improve the sensitivity and feel of piezo's I don't think my fingertips are up to hammering out 120 bars of music on them.  The technique in the keyboards I've disassembled is using a lever-type key that hits two contacts in succession.  Timing the difference between them becomes velocity.  That seems simple enough to handle in Arduino; the question becomes more mechanical at that point.
Logged

Pages: 1 2 [3] 4   Go Up
Jump to: