Newsgroup: it.arti.musica.strumenti.tastiere
Titolo: Programmazione MIDI

Salve a tutti,
sto pianificando di progettare un software che sia in grado, quanto
più possibile da solo, di controllare se la cablatura è ok.
Questi sono gli aggeggi che ho in ballo:
un notebook, 2 tastiere, un expander, una pedaliera midi del tipo UP/
DOWN e una patchbay midi da/verso cui convergono tutti gli elementi.
uso il notebook solo per inviare gli opportuni program change per ogni
parte del brano della scaletta, niente audio dal portatile.
Il software agirebbe in questo modo (è solo una prima ipotesi): invio
di comandi ad ogni periferica e successivamente richiesta dello stato
della periferica. confrontando i due valori posso capire se la
cablatura midi è ok.
Tramite l'invio di note on/off posso fare il check anche della
cablatura audio. (in questo caso ovviamente sono io che confermo di
aver sentito la nota, o cmq il fonico di aver ricevuto il segnale).
Domande:
1) che voi sappiate esiste già qualcosa di simile?
2) (per i programmatori) avete opinioni/esperienze sui pacchetti midi
dei vari linguaggi? (io userei java/c#)
3) altri approcci per il test di funzionalità?
Magari non è il ng più "adeguato", ho cmq bisogno di idee da tutti.
Poi se funziona credo di renderlo disponibile come freeware.
Grazie a tutti,
P.

 3) altri approcci per il test di funzionalit�?
l'idea � carina. Posso solo dirti che ho in Java ci sono delle classi 
per la gestione del midi gi� nel jdk (cerca java sound api), ma non le 
ho mai usate...

pi� possibile da solo, di controllare se la cablatura � ok.
brainspawn echo :
http://www.brainspawn.com/index.php?option=com_content&view=article&id=46&Itemid=71
posso farti una domanda?
utilizzi questo setup dal vivo?
1)SI
allora un notebook mi sembra sprecato e scomodo per mandare dei semplici 
program change, meglio programmare una master.A questo punto sfrutta il 
notebook per ampliare i tuoi suoni con dei VST ,campionatori,ecc...
2) NO
end

 utilizzi questo setup dal vivo?
La risposta è sì. Segue la mia personalissima analisi.
CONTRO: Per quanto poco, un notebook è un aggeggio in più da
trasportare e da installare on stage; l'uso che se ne fa è in effetti
limitato, sia in termini di risorse che di tempo d'uso (al max 4 o 5
cambi per brano, questione di pochi millisecondi).
PRO: Ogni tastiera/expander è completamente slegata dai brani. è forte
+ehco che mi gestisce ogni cambio di scena di ogni brano di ogni
scaletta. Posso usare lo stesso suono in scene diverse, con controlli
diversi ecc ecc, senza creare dei preset ogni volta per ogni scena di
ogni canzone. (non dimentichiamo che la scaletta dev'essere anche
ordinata!)
in termini "informatici" mi sono adeguato alla filosofia midi, che è
essenzialmente quella "state-less": ogni elemento del setup non fa
nulla di più di ciò che deve fare (le tastiere emettono suoni, forte
+ehco organizzano il tutto).
Inoltre il sistema è pronto ad essere "espanso" nel senso che intendi
tu, quello dell'uso di vst. Prima però devo dotarmi di una scheda
audio come si deve e prima ancora devo fare dei test sul portatile,
devo essere sicuro che regga (non dispongo di un portatile ad uso
musicale esclusivo, quindi devo capire bene com'è il terreno!)
Inoltre dalla strumentazione che ho io non posso comandare la patchbay
midi (il cambio dei presets della patchbay accetta un formato diverso
dal program change).
Lo so che qui si apre un dibattito, ci sono mille variabili oggettive
e soggettive in gioco. Non mi dispacerebbe parlarne in futuro su post
dedicato.
Grazie mille per le tue impressioni!
P.

 di "all notes off" ai generatori del suono interni.
Sì, è corretto quello che dici.
Non dimenticare però che di mezzo c'è una patchbay midi; non so bene
quindi CHI risponda alla richiesta...
supponiamo che l'expander mandi la richiesta active sensing.
1) risponde la patchbay?
2) oppure la patchbay, secondo l'impostazione del momento, inoltra i
segnali e/o ne fa il merge (quindi anche dell'active sense). chi
risponderà?
Ti dico in tutta sincerità che non ho proprio voglia di prendere il
midiox e monitorare le periferiche per rispondere alle domande di cui
sopra.
Del programma che intendo fare ho già realizzato il design fino a buon
punto; mi manca la gestione midi (invio/ascolto), la definizione dei
test da fare sulle periferiche e il test finale sul programma.
Concettualmente è rimasto gran poco.
Grazie mille, non mancare di farmi altre segnalazioni!
P.

tu, quello dell'uso di vst.
ero nelle tue stesse condizioni un anno fa.
Ma visto che mi serviva il portatile (uso FORTE) ho eliminato tutti gli 
expander e uso solo vst,
chiaramente con una scheda audio esterna.
Sul portatile ho fatto un dual boot con XP e una partizione lavora solo per 
la musica.
La patchbay l'ho sostituita con uno scatolotto midi merge perche' uso anche 
una pedaliera midi.
Eliminando hardware(expander,trasformatori,case,ecc..) mi sono anche 
alleggerito i traslochi casa/live/sala prove/auto
Confesso pero' che Forte e relativi vst qualche infarto dal vivo me lo hanno 
fatto prendere :-((
A.

 aggeggio midi fá storia a parte  ?
devo ancora considerare quale particolare richiesta avanzare;
l'assunto "filosofico" da cui parto è il seguente: "so che una
periferica (midi) funziona solo dopo che l'ho vista funzionare".
quindi la procedura potrebbe essere la seguente:
1) il pc invia un comando ad una periferica (program change,
controlli, o qualche altro sysex)
2) il pc chiede alla periferica lo stato della modifica che ha imposto
3) il pc confronta la risposta reale con la risposta attesa.
esempio:
1) invio un program change
2) chiedo: "qual è il tuo program attuale?"
3) confronto la risposta reale con la risposta che mi aspetto
P.

 P.
Probabilmente la strada pi� semplice � quella di inviare agli slave un 
messaggio sysex "Device Inquiry" ed attendere una risposta entro un 
ragionevole timeout.
Essendo un messaggio di tipo universal, se il device lo supporta (nella 
stragrande maggioranza dei casi, basta verificare nella midi implementation 
chart sul manuale) esso viene riconosciuto indipendentemente dal 
costruttore.
Ciao
Raf
 

 costruttore.
Ottimo spunto, ti ringrazio tanto!!!
P.