Come costruire il mixer economico di Jenny
CasaCasa > Notizia > Come costruire il mixer economico di Jenny

Come costruire il mixer economico di Jenny

Oct 29, 2023

Jenny ha scritto un articolo su Ask Hackaday all'inizio di questo mese, tutto sulla ricerca di un mixer audio economico basato su computer. Il primo tentativo non è andato molto bene, a causa di un problema che molti di noi conoscono bene: alle applicazioni Linux non piace davvero usare più dispositivi audio contemporaneamente. Jenny ha riscontrato questo problema e non ha trovato un modo per unire le schede audio in un'unica applicazione.

Ho combattuto questo problema per un po', probabilmente 10 anni ormai. Il mio primo impatto con questo è stato un tentativo di registrare un pianoforte con tre microfoni, utilizzando un paio di preamplificatori USB diversi. E ovviamente, proprio come Jenny, sono stato subito frustrato dal problema che il mio software di registrazione vedeva solo un'interfaccia alla volta. La soluzione semplice è acquistare un'interfaccia con più canali. Tascam US-4x4HR è un'ottima interfaccia audio input/output a quattro canali e la linea Behringer U-PHORIA arriva fino a otto preamplificatori microfonici, espandibili fino a 16 con un secondo DAC in grado di inviare audio tramite ADAT. Ma quelle sono interfacce semi-professionali, con prezzi adeguati.

Ma che dire dell'idea di Jenny di mettere insieme più interfacce super economiche? Ebbene sì, anche questo è possibile. Ti mostrerò come, ma prima parliamo di come controlleremo questo mostro del mixer software. Sì, puoi semplicemente usare un mouse o una tastiera, ma la sfida era costruire un mixer e, per me, questo significa fader fisici e pulsanti di disattivazione dell'audio. Ora ci sono soluzioni predefinite, tra cui Behringer X-touch è una soluzione popolare. Ma ancora una volta, siamo molto al di sopra del prezzo fissato da Jenny per questo problema. Quindi, facciamo quello che sappiamo fare meglio qui a Hackaday e costruiamo il nostro.

Ciò di cui abbiamo bisogno è un microcontroller con supporto client USB nativo, più pin I/O digitali e alcuni ingressi analogici. Ho scelto Arduino MKRZero per le dimensioni ridotte, il prezzo decente e per il fatto che è effettivamente disponibile presso Mouser. Gli altri elementi di cui avremo bisogno sono alcuni fader e pulsanti. Ho scelto i fader da 100 mm di dimensioni standard e alcuni pulsanti di attivazione/disattivazione LED realizzati da Adafruit. Le spese accessorie, come cavi e resistori, provenivano dal cestino dei ricambi locale nell'angolo.

Il mio primo pensiero è stato quello di progettare e stampare in 3D il pannello, ma dopo aver realizzato il layout su un pezzo di compensato di scarto, la dimensione risultante si è rivelata un po' troppo grande per la mia stampante. Quindi diventiamo retrò e realizziamo un mixer "con venature del legno". Sarebbe un ottimo progetto per un router CNC, ma poiché non faccio ancora parte di quel particolare club interessante, è stato un trapano a colonna, una sega da tavolo e uno strumento oscillante in soccorso. I risultati non sono così belli come volevo, ma forse un giorno otterremo un Mark II di questo progetto.

Il cablaggio è relativamente semplice, con un resistore limitatore di corrente per proteggere i LED all'interno dei pulsanti e un resistore pullup per impedire che il pin digitale fluttui quando il pulsante non viene premuto. Ora, quel pullup potrebbe non essere necessario, poiché in seguito ho appreso che Arduino ha un pullup integrato sui suoi pin digitali. E da notare anche che un resistore da 10 Ω *non* è una buona scelta per un pullup. Come ha detto eloquentemente Al, si tratta di un "resistore pull-up". 10 kΩ è la scelta migliore.

E per completare la costruzione, avremo bisogno di uno schizzo da eseguire su Arduino. Per fortuna, esiste già un'ottima libreria esattamente per ciò che vogliamo fare: Control Surface. Ci sono molti modi per impostarlo, ma il mio schizzo è piuttosto banale:

E ora passiamo al nocciolo della questione di questo progetto. Come convinciamo un'applicazione a vedere gli input da più dispositivi e ad eseguire effettivamente un po' di mixaggio? Il problema qui è la desincronizzazione. Ogni dispositivo funziona con una sorgente di clock diversa, quindi il flusso di bit di ciascuno potrebbe vagare e non essere sincronizzato. Questo è un problema abbastanza serio da far sì che le vecchie soluzioni audio non implementassero molto in termini di combinazione delle schede. Non molto tempo fa, il processo di ricampionamento di tali flussi audio per sincronizzarli correttamente sarebbe stata una procedura che richiedeva un utilizzo intensivo della CPU. Ma oggigiorno abbiamo tutti dei colossi multi-core, dei pratici supercomputer rispetto a 20 anni fa.