Buon giorno a tutti.
Apro questo topic per chiunque fosse interessato e avesse delle idee in merito.
Come spiegato nel mio messaggio di benvenuto in general, lavoro in un service e mi occupo di tutta la parte video (ledwall, schermi, proiettori, picoli mapping).
Questo lavoro mi porta spesso a dover mandare contributi video o fare serate di classico VJ(quello che manda le clip sul ledwall :P).
Il software che uso e' resolume arena, che permette di suddividere le clup video in tracce e applicare efetti in rel time (il tutto controllato esternamente da MIDI),Posseggo gia un' AKAI APC40 e una mini ma il mio scopo e' costruire un cntroller esterno personalizzato.
Ho visto online molti progetti (tanti dei quali utilizzano ancora l' interfaccia midi DIN), io utilizzero' invece l' interfaccia USB-MIDI.
Ho un' aruino UNO SMD v2 e il chip di cui e' fornito mi permette di usare HIDUINO (trasforma tramite riscrittura via software l' arduino in un dispositivo MIDI riconosciuto dal pc).
Le prime prove le sto eseguendo su questo dispositivo anche se ho in ordine un teensy 3.5 che ha l' usb-midi nativo e molti piu' DI e AI.
L'hardware e' ancora in fase di progettazione, per ora sto facendo prove con pezzi separati:
1 pulsante
2 potenziometri a slitta
1 led
1 analog stick (recuperato da un vecchio controller Ps2
Ho trovato in rete le librerie Control-Surface che aiutano moltissimo nella creazione di un controller midi-usb:
Molti di voi sicuramente le conosceranno, ma a chi non sappia cosa sono e si voglia cimentare in questa impresa, ne consiglio l' utilizzo.
Ho iniziato a usare un po' di codice per fare prove (poco codice per ora) ma tutto funziona correttamente.
#include <Control_Surface.h> // Include the Control Surface library
// Instantiate a MIDI over USB interface.
USBMIDI_Interface midi;
const pin_t ledPin = 3; // uscita led per midi out
using namespace MIDI_Notes;
NoteButton button = {8,{note(C, 4), CHANNEL_1},}; // Digital input, nota inviata, canale
CCPotentiometer potentiometers[] = { // chiamata potenzometri
{A0, 0x10}, // slider 1
{A1, 0x11}, //slider 2
{A2, 0x12}, //analog stick x
{A3, 0x13}, //analog stick y
};
// instanzia il led che si accendera' alla ricezione
NoteValueLED led = {
3, // Pin del led
{note(C, 4), CHANNEL_1}, // nota c4 di ritorno da resolume sul canale 1
};
void setup() {
Control_Surface.begin(); // Initializza Control Surface
}
void loop() {
Control_Surface.loop(); // aggiorna control surface
}
Ho incentrato questo topic su resolume arena perche' utilizzo quello e chiedo ad altri utenti dello stesso software di postare pareri, dubbi e idee.
Il bello di resolume e' che per ogni note on che gli arriva (ogni comando di note on e' seguito da un comando di note off) manda indietro ad arduino la stessa nota con velocity programmabile (dal software).
Quindi e' possibile, ad esempio, far illuminare il tasto che si e' usato per mandare in play una clip solo quando la clip sta realmente girando. Stesso riscontro si ha quando mando in play la clip direttamente dal software: resolume manda indietro la stessa nota e accende il led ( devo pio implementare la velocity perche' vorrei utilizzare led rgb).
I due potenziometri slider sono generici, quimdi possono comandare qualunque cosa, stesso vale per il pulsante.
L' analog stick l' ho testato utilizzandolo come fossero 2 potenziometri separati e programmandoli su 2 parametri di un effetto.
Non so se sia possibile fare tipo una media dei valori letti dai due e usarlo in altri modi, chiedo a qualcuno di piu' esperto.
Concludendo (per ora) , se qualcuno fosse interessato ma piu' che altro avesse idee o consigli, ben venga.
Tanti controller midi online vengono realizzati per synth o per ableton o DAW, questo sara' indirizzato alla gestione del video (ovviamente non sara' un mixer video, ci vuole ben altro hardware).
Domanda stupida: posso fare lo stesso post anche sul forum internazionale o vado a infrangere qualche regola?