Go Down

Topic: arduino midi over usb (per midi controller) (Read 2 times) previous topic - next topic

I_am_citizen_insane

salve a tutti!  :)
da poco ho comprato un arduino UNO e avevo intenzione di costruire un midi controller per controllare il software che uso per fare musica (AudioMulch)..
mi domandavo se fosse possibile trasmettere messaggi midi da arduino direttamente tramite usb..

grazie in anticipo

Filippo  :D

cece99

bhè, diciamo che è possibile, ma prima ti chiedo di spostare il topic nella board Software o Hardware (scegli tu in base alle esigenze) e dopo di rimuovere questo topic con la funzione "remove topic" in basso a destra.
Grazie
ciaoooo
Il Vero Programmatore non ha bisogno di manuali sull'assembler, sono
  sufficienti i data sheet dei microprocessori.

astrobeed


da poco ho comprato un arduino UNO e avevo intenzione di costruire un midi controller per controllare il software che uso per fare musica (AudioMulch)..
mi domandavo se fosse possibile trasmettere messaggi midi da arduino direttamente tramite usb..


Senza la shield USB Host no.

pitusso

Quote
Senza la shield USB Host no.


+1
oppure potresti acquistare una Leonardo

dancol90

Se vuoi collegare la tua UNO al pc e usarla come controller midi allora si può fare, ma non è una procedura immediata e facile. Si tratta di sostituire il firmware del atmega8u2 che si occupa della conversione usb-seriale con uno che faccia riconoscere la uno come periferica midi. Purtroppo però si perde la possibilità di caricare gli sketch dall'IDE.
Fino a qualche mese fa almeno era così, non so se abbiano risolto nel frattempo.

In alternativa puoi puntare ad una Leonardo o ad una Teensy, adottano lo stesso micro entrambe, ma la seconda esiste da un po' di tempo  :)

cece99


Se vuoi collegare la tua UNO al pc e usarla come controller midi allora si può fare, ma non è una procedura immediata e facile. Si tratta di sostituire il firmware del atmega8u2 che si occupa della conversione usb-seriale con uno che faccia riconoscere la uno come periferica midi. Purtroppo però si perde la possibilità di caricare gli sketch dall'IDE.
Fino a qualche mese fa almeno era così, non so se abbiano risolto nel frattempo.

In alternativa puoi puntare ad una Leonardo o ad una Teensy, adottano lo stesso micro entrambe, ma la seconda esiste da un po' di tempo  :)


mica vero!!!
io ho fatto una pianolina midi con arduino senza dover modificare il firmware dell' atmega8u2: i dati si mandano in seriale ad un programma sul pc che simula una periferica midi (disponibile sotto windows e mac osx)
Il Vero Programmatore non ha bisogno di manuali sull'assembler, sono
  sufficienti i data sheet dei microprocessori.

dancol90



Se vuoi collegare la tua UNO al pc e usarla come controller midi allora si può fare, ma non è una procedura immediata e facile. Si tratta di sostituire il firmware del atmega8u2 che si occupa della conversione usb-seriale con uno che faccia riconoscere la uno come periferica midi. Purtroppo però si perde la possibilità di caricare gli sketch dall'IDE.
Fino a qualche mese fa almeno era così, non so se abbiano risolto nel frattempo.

In alternativa puoi puntare ad una Leonardo o ad una Teensy, adottano lo stesso micro entrambe, ma la seconda esiste da un po' di tempo  :)


mica vero!!!
io ho fatto una pianolina midi con arduino senza dover modificare il firmware dell' atmega8u2: i dati si mandano in seriale ad un programma sul pc che simula una periferica midi (disponibile sotto windows e mac osx)


si ok, è la via più facile, ma bisogna far girare su pc programmi intermedi, che potrebbero anche creare dei ritardi. Modificando il firmware arduino viene visto come periferica nativamente midi plug n' play, non c'è bisogno di installare nulla, e probabilmente si evitano i lag che dicevo sopra.
Rimane il fatto che è un lavoraccio :)

astrobeed


mica vero!!!


Hai letto il topic ?
La richiesta è per una periferica midi USB, non per una emulazione sulla seriale tramite un qualche driver.
Tra parentesi la seriale del pc non può funzionare alla velocità standard delle porte midi, 31250 bps, il che vuol dire farla lavorare alla velocità più vicina, solitamente 38400 bps, con il reale rischio di problemi con il sync dei messaggi midi.

astrobeed


si ok, è la via più facile, ma bisogna far girare su pc programmi intermedi, che potrebbero anche creare dei ritardi.


Non solo c'è il problema del lag, ma ci sono reali problemi di stabilità dei driver e spesso di incompatibilità con il proprio pc.
Il discorso midi è molto delicato e va affrontato nel giusto modo se non si vuole andare incontro a cocenti delusioni.

cece99

guardate, io lo dico solo perchè ho provato ed ho notato che il lag è inesistente, anzi, il mio pianoforte (che è midi nativo e che è un clavinova 340) ha più lag di un "coso" costruito con arduino in 10 minuti!
Il Vero Programmatore non ha bisogno di manuali sull'assembler, sono
  sufficienti i data sheet dei microprocessori.

dancol90


Non solo c'è il problema del lag, ma ci sono reali problemi di stabilità dei driver e spesso di incompatibilità con il proprio pc.
Il discorso midi è molto delicato e va affrontato nel giusto modo se non si vuole andare incontro a cocenti delusioni.


Concordo, avevo consigliato apposta la teensy perchè è gia "pronta all'uso", basta impostarla in modalità periferica midi e preoccuparsi solo di mandare e ricevere i messaggi con le apposite funzioni.
Secondo me è la maniera più immediata per fare quello che @I_am_citizen_insane vuole...


guardate, io lo dico solo perchè ho provato ed ho notato che il lag è inesistente, anzi, il mio pianoforte (che è midi nativo e che è un clavinova 340) ha più lag di un "coso" costruito con arduino in 10 minuti!


Sul pc di qualcun'altro, con hardware o anche solo configurazione software diverse, potrebbe non funzionare come funziona a te  ;)

bigjohnson

Ma al posto della Uno non è meglio usare una Leonardo, così l'impostazione dell'usb si può fare direttamente dallo sketch senza dover riprogrammare l'atmega8u2.
Mi sembra che l'avessero introdotta proprio per questo tipo di esigenze.

Alberto

I_am_citizen_insane


Ma al posto della Uno non è meglio usare una Leonardo, così l'impostazione dell'usb si può fare direttamente dallo sketch senza dover riprogrammare l'atmega8u2.
Mi sembra che l'avessero introdotta proprio per questo tipo di esigenze.

Alberto


mi pare dunque di capire che la soluzione migliore sarebbe basare il controller su una board Leonardo, giusto?

ps: qualcuno potrebbe dirmi come si fa a spostare un thread?  :smiley-sweat:

cyclone

se avete come SO xp o seven 32bit allora potete scaricare dalla roland:
Roland Serial Midi Driver.....
http://www.roland.com/support/article/?q=downloads&p=SK%2D500&id=1812543

verrà installata una com midi virtuale a 31250bps e dovrete gestire solo la comunicazione standard midi....con la seriale ardu ... latenza bassissima
meglio di così :)
ciao



I_am_citizen_insane


se avete come SO xp o seven 32bit allora potete scaricare dalla roland:
Roland Serial Midi Driver.....
http://www.roland.com/support/article/?q=downloads&p=SK%2D500&id=1812543

verrà installata una com midi virtuale a 31250bps e dovrete gestire solo la comunicazione standard midi....con la seriale ardu ... latenza bassissima
meglio di così :)
ciao





grazie! ottimo fino a quando non saprò come operare sulla leonardo :D

Go Up