• Benvenuti su RaspberryItaly!
Benvenuto ospite! Login Login con Facebook Registrati Login with Facebook


Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5

[-]
Tags
chi mi il con midi aiuta

[Studio] Chi mi aiuta con il MIDI
#1
Ciao a tutti,

uno dei miei progetti prevede l'interfacciamento del RasPi con un multieffetto comandabile via MIDI.
Per l'interfaccia fisica utilizzo un adattatore USB / MIDI IN / OUT.

Dovrei scrivere un piccolo programma in C o C++ per inviare dei Control Change e Program Change in base alla pressione di alcuni pulsanti.

In pratica dovrei leggere gli ingressi dal GPIO e far partire questi messaggi MIDI.

in C o C++ quali librerie di comandi MIDI conoscete? c'è qualche sito risorsa di riferimento? qualche codice esempio?

grazie mille.
Manuel
Risposta
#2
Mi auto rispondo perchè sono andato un po' avanti.
Ho installato Code::Blocks come IDE, ho installato GCC come compilatore ed ho trovato la libreria Rtmidi.

primo problema: come si linka la libreria in un progetto di tipo console C++? ho provato con #include "RtMidi.h" (come da sample code di https://www.music.mcgill.ca/~gary/rtmidi/ ) ma nulla, ho modificato l'estensione così #include "RtMidi.cpp" ed ha funzionato :-). Come faccio a fare un link pulito con .h?

secondo problema: Sempre allo stesso link di sopra ho provato il sample code Probing Ports ma mi dice che non c'è nessuna porta MIDI collegata... cosa sbaglio? ho anche provato ad atttivare qjackctl ma nulla è cambiato.
Risposta
#3
Strano che il file header nell "#include" non sia stato accettato dal compilatore mentre dal file sorgente si (il gcc accetta nell'include anche file xxxx.cpp). Prova ad eseguire la compilazione da riga di comando (in una finestra terminale) piuttosto che da IDE (in alcune IDE di compilatori per microcontrollori è capitato di dover specificare nella struttura del progetto quali erano i file header ed i sorgenti che componevano il programma).  Per quanto riguarda la parte MIDI non conosco l'argomento ma questo potrebbe essere di aiuto per individuare la porta MIDI collegata http://andrewdotni.ch/blog/2015/02/28/mi...spberry-p/
Risposta
#4
(07/02/2018, 11:23)ippogrifo Ha scritto: Strano che il file header nell "#include" non sia stato accettato dal compilatore mentre dal file sorgente si (il gcc accetta nell'include anche file xxxx.cpp). Prova ad eseguire la compilazione da riga di comando (in una finestra terminale) piuttosto che da IDE (in alcune IDE di compilatori per microcontrollori è capitato di dover specificare nella struttura del progetto quali erano i file header ed i sorgenti che componevano il programma).  Per quanto riguarda la parte MIDI non conosco l'argomento ma questo potrebbe essere di aiuto per individuare la porta MIDI collegata http://andrewdotni.ch/blog/2015/02/28/mi...spberry-p/

Grazie questa sera farò altre prove con il compilatore.

Ottimo il link che mi hai dato sto trovando veri spunti interessanti. Big Grin
Risposta
#5
da linea di comando sono riuscito ad individuare la porta MIDI con il comando

amidi -l

e ad inviare dei messaggi con il comando

amidi --port="hw:1,0,0" --send-hex="B0 56 50"

come faccio a fare una cosa equivalente in C o C++?

Grazie mille
Risposta
#6
Se ricordo bene tramite l'istruzione "o.s. (.....................);" in C . Se ritrovo qualche sorgente potrò essere più preciso. Questo ti potrebbe aiutare: "http://www.raspberry-projects.com/pi/programming-in-c/console/using-console-commands-in-code"
Risposta
#7
trovato. ecco i sorgenti:

https://searchcode.com/codesearch/view/21948743/

essendo Open Source i sorgenti devono essere da qualche parte :-)

Mi sa che toccherà a me fare un tutorial sull'argomento MIDI :-) magari può essere utile a qualcuno
Risposta
#8
Dal link riportato si vede che il programma è stato sviluppato in una distribuzione Fedora, probabilmente per CPU Intel/AMD. Per prova, soddisfatti gli include del sorgente, ho provato ad eseguire la compilazione con gcc ottenendo una serie di errori connessi alla comunicazione con i dispositivi USB.
Risposta
  


Vai al forum:


Navigazione: 1 Ospite(i)
Forum con nuovi Post
Forum senza nuovi post
Forum bloccato
Forum Redirect