Controllo Audio Con arduino

Ciao a tutti... navigando ho trovato alcuni interessanti articoli sulla comunicazione MIDI di arduino con il pc.
Mi stavo chiedendo, si può realizzare un dispositivo in grado di cotrollare ad esempio un software di mixing audio (come ad esempio virtual dj)? cioè, si può, ad esempio tramite dei potenziometri, regolare il volume, i bassi, alti di un software audio?? software come virtual dj o Mixxx (sia in ambiente windows che linux).
qualcuno sarebbe così gentile da linkarmi eventuali guide o spunti da cui iniziare?? Grazie infinite :slight_smile:

Con la libreria MIDI puoi comunicare con i dispositivi MIDI:
http://www.arduino.cc/playground/Main/MIDILibrary
Penso faccia al caso tuo.

..aggiungo pure che cercando con san google, si trovano pure progettini già realizzati, tipo questo:
http://cal.freeshell.org/2009/11/midi-mixer/
(sempre che abbia capito cosa stai cercando di fare :))

Su grix c'è quello che cerchi

e forse anche questo: Benvenuti nella sezione riservata del sito di GRIX

Ciao

Grazie infinite a tutti :slight_smile:
Purtroppo non ho i diritti per accedere al contenuto di Benvenuti nella sezione riservata del sito di GRIX
Comunque molto interessante tutto il resto, il post di pitusso e' proprio simile a quello che voglio realizzare e che non riuscivo a trovare.
spero di riuscire a realizzare qualcosa di concreto :slight_smile: grazie mille :slight_smile:

Ciao, anche io sto cercando di realizzare qualcosa del genere, anche se non ho molto tempo da investire... :frowning:
Puoi vedere i miei progressi qua:

Il primo thread è l'ultimo che ho fatto, mentre il secondo è quello sul forum vecchio. Lì puoi leggere come far vedere al pc i segnali inviati in seriale da Arduino come messaggi MIDI. Nel secondo invece spiego il mio attuale problema.
Se devi usare solo slider e pots posso spiegarti come fare, per i pulsanti invece ci sto ancora studiando purtroppo..

Ottimo!! :slight_smile: Grazie mille :slight_smile: Comunque la mia idea sarebbe di cominciare controllando ad esempio i volumi con, ad esempio, un potenziometro per poi ampliare il tutto con altri controlli e, per l'appunto degli effetti audio tramite l'uso di pulsanti... E sarei felice di aiutarti nel caso in cui riuscissi a risolvere quei problemi che hai riscontrato... :slight_smile: l'unico problema rimane sempre il tempo.. Comunque grazie per gli spunti iniziali, vorrei solo chiedere ancora una cosa (per essere sicuro di non sbagliare), per fare il tutto non serve acquistare nessun dispositivo MIDI, e' quindi sufficiente il segnale seriale inviato via USB e convertito via software in MIDI?

o così, oppure esci direttamente midi, nel caso tu abbia una scheda audio con ingresso midi, o un semplice convertitore midi-usb, che si trova sulla baia a 8€ mi pare.
io per esempio ho fatto questo:

leggo gli accelerometri, il joystick analogico e i pulsanti e li converto in segnali midi. Arduino standalone mi spara fuori direttamente midi, ed entro nel pc con un convertitore midi-usb. poi un semplice programma di synth su linux assegna ad ogni canale midi un potenziometro o pulsante del synth. Praticamente la stessa cosa che vuoi fare tu.

EDIT: eccolo, se ti serve, praticamente 7€ compresa spedizione, e funziona anche su linux.
http://www.ebay.it/itm/260726942691?ru=http%3A%2F%2Fwww.ebay.it%3A80%2Fsch%2Fi.html%3F_from%3DR40%26_trksid%3Dp3984.m570.l1313%26_nkw%3D260726942691%26_sacat%3DSee-All-Categories%26_fvi%3D1&_rdc=1

p.s., non penso sia pubblicità, più che altro è una cosa che può tornare utile a molti. spero di non essere maleducato.

Wow :slight_smile: Grazie Mille :slight_smile: molto interessante.. Quindi io potrei collegare (come fa vedere questo tutorial http://arduino.cc/en/Tutorial/Midi) direttamente l'arduino al PC tramite il convertitore MIDI - USB e non dover più effettuare alcuna conversione di segnale via software,giusto? (cosa che invece invece dovrei fare se realizzassi il tutto senza convertitore MIDI).
Ancora una domanda, potrei utilizzare qualsiasi software MIDI per effettuare i miei test?

Si, perchè tu crei un treno di segnali midi, che altro non sono che una comunicazione seriale ad una determinata velocità (non ricordo il numero preciso, ma se cerchi..) quindi lo puoi attaccare, e ci puoi comandare qualsiasi periferica midi, non solo il pc!

io ho cercato l'adattatore midi-usb, prima di tutto perchè su linux non era così facile emulare il midi da usb via software, poi perchè cmq ho pensato che uscendo da arduino direttamente in midi (parte HW facilissima da fare) potevo poi connettermi a qualsiasi pc, o sinth esterno.

ciao!

Capito, molto interessante... in effetti è vero, diventa molto più standard come progetto... così potrei anche collegarlo alla mia tastiera :slight_smile: Grazie infinite :slight_smile:

inoltre midiyoke per qualche strano motivo non funzia bene su win7

io il progetto l'ho iniziato e mai finito perchè ho troppe cose per la mente e devo scegliere ancora le priorità.

comunque per windows semifunzionante avevo trovato un software però era molto buggato.

la soluzione midi usb è sicuramente la migliore sotto questo punto di vista, per la gestione e la "sensibilità" dei tuoi affari conta anche che dipende dalla precisione che vuole il programma (vedi il mapping).
io nel mapping con mixxx ho appunto avuto il problema di far combaciare per bene il potenziometro con la figura sul programma... fai attenzione...

per gestire i piatti puoi usare 2 motori stepper, ti bastano 3 entrate analogiche per stepper e se a posto.
per fare un progetto simile di conviene usare un arduino mega (principale motivo per cui mi sono fermato).

io ora sinceramente aspetto arduino DUE e faccio un vero e proprio cdj XD

Capito.. la Mega non credo che la prendero' ... Comunque per iniziare credo che guarderò qualcosa da parte i piatti... Spero di riuscire ad interfacciare almeno mixxx... Se qualcuno avesse dei programmi con il quale ha testato il proprio progetto senza troppi problemi mi farebbe davvero un favore nel dirmelo.. :slight_smile: così potrei iniziare usando quelli... e poi ampliare... grazie ancora a tutti:)

mikykey:
Capito.. la Mega non credo che la prendero' ... Comunque per iniziare credo che guarderò qualcosa da parte i piatti... Spero di riuscire ad interfacciare almeno mixxx... Se qualcuno avesse dei programmi con il quale ha testato il proprio progetto senza troppi problemi mi farebbe davvero un favore nel dirmelo.. :slight_smile: così potrei iniziare usando quelli... e poi ampliare... grazie ancora a tutti:)

come ti abbiamo detto la soluzione più veloce e meno "rompi***" è quella di usare un midi usb converter che trovi a 20€.

comunque fidati a conti fatti un mega è obbligatorio.

ti comporta un meno sbatti, vero costa èiù di un arduino uno ma secondo te quello che poi andresti a spendere in shift register, I2C multiplexer e ADC alla fine non spendi più di 30€? :wink:

fidati che tra potenziometri, pulsanti ecc andrai a saturare tutte le porte e il debounce su tutte (non mi ricordo se lo faceva mixxx ma mi pareva di no) ti occupa spazio.

per finire il tutto preparati a spendere in pulsanti: costano più di ciò che sembra.

ti serviranno: (a canale)
5 potenziometri di cui due possono essere slider (pitch e track volume)
ca. 15 pulsanti (play/pausa-stop-efx-cue-cue1-cue2-cue3-cue4-loop in-loop out-reloop-preascolto-sync(se vuoi fare il nabbo :smiley: ))

poi in più
7 potenziometri di cui 1 slider obbligatorio:
head vol-head mix-balance-lfo-depth-delay-slider crossfader :wink:

il mapping midi di mixxx è un po una rogna devi capire come funziona per il resto è buono.

per potenziometri consiglio quelli che hanno una zona di semiblocco in mezzo così anche gli slider dei pitch e se sei comodo del crossfader.

i pulsanti belli reattivi ma morbidi ma devi sentire il click e meno si premono meglio è (vedi cdj100S)

EDIT:
non dimenticare 2 vecchi hard disk, sono gratis e ci ricavi 2 ottime jog wheel, li sto rivedendo il codice :wink:

EDIT2:
non basterebbe neanche il mega, però potresti togliere il balance così gli ingressi analogici sarebbero giusti giusti e usare il sistema dell'amplificatore operazionale per le jog :stuck_out_tongue: oppure encoder ottici...

aspetta, ma il mixer che devi realizzare è per un controllo da dj, o da fonico?
nel senso che lo usi con programmi tipo cubase/nuendo/ardour tipo multitraccia, o tipo roba da dj?

dab77:
aspetta, ma il mixer che devi realizzare è per un controllo da dj, o da fonico?
nel senso che lo usi con programmi tipo cubase/nuendo/ardour tipo multitraccia, o tipo roba da dj?

ha detto che vuole un controller midi per software come mixxx o virtual dj (che sconsiglio. l'unico che consiglio è o mixxx appunto perchè os oppure traktor scratch pro che è il top).

per fare mixer audio ti arrangi con elettronica analogica non digitale :wink:

Ma guardate che coi multiplexer non è poi così complesso. Io per gli input analogici(pots e slider circa 15-20) ho usato dei 4051 senza nessuna fatica e con risultati ottimi.
Il problema è con gli input digitali sotto multiplexer, devo stabilizzare il segnale in uscita, ma ora che ho scoperto l'uso delle resistenze in pull down in settimana spero di mettere a posto la cosa.
Ottima l'idea dell'interfaccia midi-usb, economica e ti semplifica la vita lato software.
Per il software io ho usato virtual dj che ha funzioni di mapping abbastanza semplici. Una volta che funziona lì passo a traktor.
Bel problema quello dei pulsanti. Avete trovato qualcosa di monetariamentee qualitativamente valido? Io per ora uso dei rimasugli che in casa.
Datemi tempo fino a martedì mercoledì e posto tutto quanto, foto, codice, schemi quant'altro, così vediamo di fare un progetto comune e condividere un po' di know how.

superlol:
per fare mixer audio ti arrangi con elettronica analogica non digitale :wink:

no, lascia perdere l'analogico, che per avere qualità ce n'è...
ci sono dei programmi di registrazione multitraccia (tipo quelli che ho citato) dove hai a disposizione un mixer audio, dove ogni controllo è 'allacciabile' a un control change midi, come quelli da dj, solo che le funzioni sono un pò diverse. Tipo, io per ogni canale metterei un controllo per volume, pan-pot, gain, mandate aux, insert on/off, poi quattro controlli per l'eq parametrici e altri 4 per le dinamiche (compressori o limitatori, o gate)... troppi ne servirebbero!
un mixer dj è molto più semplice, nel senso che i controlli sono meno, i canali direi al massimo 4 (ma posso sbagliare).

Mah.. io volevo creare qualcosa più tipo mixer dj perchè mi sembrava più semplice.. perchè sto proprio cominciando da zero.. se poi riesco a migliorarmi e fare qualcosa di più complesso meglio.. ma questo in un secondo tempo...