lunedì 9 luglio 2012

Usare ASIO4ALL su più programmi contemporaneamente

Non sono un amante delle prese in giro, men che meno di quelle ai danni dei tanti ignari DJs e producer che si trovino ad affrontare il celebre duello PC vs. MAC. Infatti, benché molti prediligano l'utilizzo del secondo per produzioni o serate, ammattiti da pubblicità ingannevoli e dalla voglia di fare i fighi a tutti i costi, ci sono molti artisti che su un PC, ed in particolare con un sistema Windows, non hanno mai trovato problemi a far girare tutto l'armamentario correttamente. Tralascio volontariamente il discorso Linux, non me ne vogliate, solo perché si parlerebbe di ripartire da 0 per cercare di imparare nuovi strumenti sconosciuti, il più delle volte senza guide online.
Quindi, perché un qualsiasi creativo che si trovi alle prime armi con il mondo della musica elettronica non può evitare di spendere quei 1000 Euro in più per l'osannato prodotto Apple e cercare di capire se veramente è il suo campo prima di acquistare quello che gli serve?
Sappiamo che tutti i principali strumenti digitali per DJ che possono essere acquistati o scaricati online funzionano su Windows. Sto parlando di Ableton Live, FL Studio, Cubase, Traktor Pro, Serato, senza contare tutti gli infiniti VST (primi fra tutti z3ta+, Massive, Nexus, V-Station, ecc...). Il grosso problema è che quando quella mattina ti svegli e pensi di diventare un DJ nessuno ti avverte di quanto sia difficile far suonare insieme tutta questa roba. La scheda audio del tuo PC o i driver della scheda audio esterna che dovresti cercare di acquistare (o che ti ha lasciato in eredità lo zio disk-jockey) devono essere a bassa latenza e sfruttano, complessivamente quasi sempre, i driver ASIO. La versione libera e gratuita del protocollo per Windows sono le ASIO4ALL, veramente irrinunciabili a meno che tu non voglia avere una latenza di qualche migliaio di ore.
"Ehi Ruj, ma se sono così fenomenali, qual'è il difetto di questi utilissimi driver universali?" - E fammi spiegare! Il primo software che li utilizza, si impossessa completamente della tua scheda audio e non la fa toccare a nessun altro software. Ammazza che avidità!
"Possibile soluzione?" - Eh si, se ho scritto questo articolo vuol dire che una soluzione ci dev'essere per forza. Vi presento JACK, un ponte audio che vi permettere di fare tutte le connessioni che volete tra input e output dei vostri dispositivi e software senza quasi intaccare minimamente le prestazioni del vostro PC.
Come introduzione mi sono dilungato troppo, passiamo direttamente al vivo della questione: voglio far suonare il mio Traktor, che utilizzo per mixare live i pezzi, e Ableton Live, dove invece preferisco gestire sequenze più articolate, contemporaneamente.
Per prima cosa scarichiamo e installiamo JACK2 (io utilizzo la versione 1.9.8 per 64bit, attualmente l'ultima per il mio sistema).
Ora chiudiamo tutti i programmi che sfruttano la scheda audio e avviamo il programma Jack Control con i privilegi di amministratore se ci si trova su Windows Vista o Windows 7, altrimenti non funzionerà correttamente. Vi consiglio di cambiare le proprietà facendo tasto destro sull'icona in modo da avviare sempre il programma in questa modalità.
Ora che ci troviamo di fronte all'interfaccia di Jack, cliccate su Setup... e potrete accedere alle impostazioni. Premettendo che ogni PC ha il proprio settaggio ideale, l'unica cosa che dobbiamo configurare necessariamente è "jackd -S" nel Server Path e "ASIO::ASIO4ALL v2" in Interface. Probabilmente nel menu a tendina di interface non ci comparirà la scritta delle ASIO4ALL, ma non ci preoccupiamo, inseriamola manualmente scrivendola nel campo.
Inoltre dal menu a discesa Driver, è meglio selezionare il più convenzionale "portaudio".

Facciamo click su OK e quindi su Start per avviare il server audio di JACK. Accendendo qualche cerino dovrebbe partire e, una volta trovata la configurazione ideale e funzionante ti consiglio di cambiare le cose solo se sai veramente quello che stai facendo, altrimenti rischi di mandarlo in pappa e di non riuscire a ritrovare la configurazione funzionante.
Avviamo ora Ableton Live sempre con privilegi di amministratore (ti suggerisco di fare la stessa cosa che ho detto prima a riguardo). Nella scheda Opzioni -> Preferenze -> Audio troviamo il menu del Dispositivo Audio. Impostatelo come "ASIO" e "JackRouter". Una volta completato questo passo Ableton è configurato correttamente per funzionare con JACK. Infatti se clicchiamo sul pulsante Connect di Jack Control, troverete Ableton Live come uno dei dispositivi disponibili per il routing audio, cioè vuol dire che ha ingressi o uscite audio disponibili. Se non è questo il tuo caso, controlla in "Config. Entrante" e "Config. Uscite" se ci sono selezionati dei canali.

E' ora giunto il momento di provare a interfacciare Traktor. Apriamo il nostro bel trattore (non c'è bisogno che mi ripeto che debba essere avviato con i privilegi di amministratore, vero?), clicchiamo sull'icona delle impostazioni con l'ingranaggio stilizzato, andiamo su Audio Setup ed ad Audio Device specifichiamo "JackRouter (ASIO)". Occhio a non sbagliare, NON va messo "Jack audio device (Jack)"!
Se tutto continua a filare liscio anche questa rotta può essere visibile attraverso la finestra delle connessioni di JACK. Non mi sto occupando delle impostazioni della scheda audio all'interno dei programmi ora perché dovrebbe essere cosa nota, altrimenti, prima di riprendere questa guida, sarebbe meglio imparare a capire come impostare ASIO4ALL a prescindere da JACK. Comunque tutto questo è personalizzabile dalle configurazioni di Traktor nei menu Output Routing e Input Routing.
La guida sarebbe finita se non volessi mostrarti anche le meraviglie del routing audio. Invece che suonare i due programmi insieme, voglio fare di meglio! Voglio cercare di registrare l'uscita del master di Traktor in Ableton, in modo da, ad esempio, fare un remastering per mettere il set su Soundcloud, o in macchina a palla per mostrare la mio bravura al primo malcapitato.
Niente di più semplice, l'uscita audio di Traktor (ho settato il master ai primi due canali nel mio menu di Output routing, ma collego anche il cue che sono gli ultimi due, non si sa mai), va collegata direttamente ai canali di ingresso di Ableton e l'uscita di Ableton all'uscita di sistema.
Ecco fatto! Come vedi riesco tranquillamente a registrare la traccia audio selezionando i primi due canali in ingresso in Ableton Live. E godetevi sto screen!
Per qualsiasi problema commentate!

29 commenti:

  1. Ho configurato Jack come hai suggerito, ma una volta premuto il tasto Play il programma mi ha dato un messaggio d'errore:

    Could not connect to JACK server as client.
    - Overall operation failed.
    - Unable to connect to server.
    Please check the messages window for more info.

    Sono andato a vedere la finestra dei messaggi come suggerito dal programma, e questo è quanto riportato:

    13:24:54.812 Patchbay deactivated.
    13:24:54.857 Statistics reset.
    13:25:05.974 JACK is starting...
    13:25:05.977 jackd -S -dalsa -d"ASIO::ASIO4ALL v2" -r48000 -p1024 -n2
    13:25:06.009 JACK was started with PID=34908296.
    13:25:06.093 JACK has crashed.
    13:25:08.105 Could not connect to JACK server as client. - Overall operation failed. - Unable to connect to server. Please check the messages window for more info.

    Qualche suggerimento?

    Grazie in anticipo.

    RispondiElimina
    Risposte
    1. Qual'è il tuo sistema operativo? 32 o 64bit? Mi dai qualche info sulla tua scheda audio?

      Elimina
  2. Lavoro con un Asus Zenbook Ux31 con installato Windows 7 a 64 bit. La scheda audio è quella integrata: una Realtek.

    RispondiElimina
    Risposte
    1. Impostando "portaudio" invece di "alsa" come Driver nel Setup di Jack dovresti riuscire a risolvere. Purtroppo i driver ALSA funzionano malino su Windows. Fammi sapere se riesci a risolvere e scusa per il "piccolo" ritardo

      Elimina
    2. Funziona! Sei un grande. Non hai idea del favore che mi hai fatto... Grazie.

      Elimina
  3. Grandioso! avevo già fatto il sync tra traktor e ableton.....ma questa mi mancava! speriamo riesca ad utilizzare anche il preascolto....poi lo faccio e ti faccio sapere...alla grande!!!

    RispondiElimina
  4. ehy ciao ha funzionato tutto alla grande...anche a me all'inizio mi dava quel problema che diceva marco,poi ho fatto come dicevi tu ed è andato tutto liscio...ma...voglio utilizzare anche il preascolto con una scheda audio esterna che ho messo, ma su jack audio non appare, come devo fare?

    RispondiElimina
    Risposte
    1. Per farlo devi attivare il ramo della scheda audio sul pannello di controllo di ASIO4ALL (l'icona verde in basso a destra nella traybar di windows), cliccando sul pulsante giusto nella Lista periferiche WDM. Ti consiglio, di andare nella modalità avanzata per selezionare soltanto l'interfaccia Out 2x relativa al tuo preascolto (ammesso che ti serva solo quello), perché quando vai su JACK non si riesce a distinguere quali sono i vari canali di uscita, se non procedendo per tentativi. Quindi una volta fatto il routing dovrebbe funzionare tutto. Fammi sapere come è andata!

      Elimina
    2. ciao il discorso è che quando apro i programmi e li configuro come hai scritto sopra, non mi appare l'icona di asio 4 all in basso a destra ,cioè non si apre assolutamente.lo so il discorso del ramo...adesso ho messo la consolle per poter mettere il preascolto ma se non mi si apre asio4all non so come continuare.io comunque nelle preferenze dell'audio ho messo jack audio (asio), e strano che non mi si apra.ma si dovrebbe aprire quando scrivo asio4all su jack audio ? o quando seleziono jack audio asio dal pannello di controllo del traktor o/e ableton? grazie sempre!

      Elimina
    3. Infatti, mettendo "ASIO::ASIO4ALL v2" come interfaccia e cliccando su Start dovrebbe comparire la classica iconcina verde.
      Controlla questa cosa: vai sul prompt dei comandi (Start->Cerca->scrivi cmd e clicca Invio), scrivi cd "c:\Program Files (x86)\Jack\" o comunque nella parte virgolettata assicurati di inserire effettivamente il percorso alla cartella di Jack. Poi jackd -d portaudio -l per visualizzare la lista dei dispositivi compatibili. Magari se mi incolli qui sul blog il risultato vediamo insieme se c'è qualcosa che non va!

      Elimina
    4. Fatto!!! Praticamente avevo sbagliato a scrivere nel server path. Alla grande sei un genio! ciao e grazie! appena in tempo per una festa!!!

      Elimina
    5. Sono contento! In bocca al lupo per la festa :)

      Elimina
    6. purtroppo mi sto facendo pesante ...lo so! ihihih ...ma è successo che volevo mettere + schede audio per avere un secondo preascolto di ableton apparte quello di traktor,ma su traktor e ableton mi visualizza solo la scheda audio della consolle che ha due uscite stereo( una cue ed una master). che devo fare per vedermi nella tendina di traktor le altre schede audio? nel pannello asio sono attivate! ... ti posto una foto http://oi41.tinypic.com/2wokfhs.jpg

      Elimina
    7. Hai provato a riavviare jack (stop e start), una volta attivate entrambe le schede dal pannello asio4all vero? ;) Eventualmente controlla se, attivando tutte e 2 le schede audio, cliccando sul tasto Connect ti visualizza nella colonna a destra, aprendo "system", 6 canali o solo 4 come playback. Un'altra domanda, hai provato a disattivare una alla volta le 2 schede per vedere se effettivamente funzionano singolarmente sempre con asio e jack? Fammi sapere e comunque ora vedo se riesco a replicare il problema sul mio PC per tentare di risolverlo!

      Elimina
    8. Ok mi correggo, ho trovato la soluzione e chiarito anche un paio di dubbi che avevo. All'interno della cartella di Jack trovi il file JackRouter.ini. Se hai installato l'ultimissima versione, il file dovrebbe essere in C:\Program Files (x86)\Jack\32bits. Modifica (usa notepad avviato con i privilegi di amministratore altrimenti ti dà Accesso negato al salvataggio!) la riga "output=4" in "output=16" per sfruttare 16 canali di collegamento nel patchbay :) se vuoi chiarimenti o altro dimmelo e cercherò di essere più preciso.

      Elimina
    9. Ciao, ottima guida, ma io ho riscontrato qualche problemino con traktor, inquanto ,come prima cosa non mi compare jackrouter(saio) ma solo quello con Jack, e poi se non metto la denon dn-mc6000 comescheda audio, traktor non me la riconosce neanche come controller midi.Saresti così gentile da darmi qualche dritta?

      Elimina
    10. Cerchiamo di risolvere il primo problema. Se usi una versione a 64bit di Traktor, non riconosce il plugin x64 di JackRouter. Segui questa miniminiguida http://ruj89.blogspot.it/2013/06/jack-su-ableton-64bit.html e dovrebbe risolversi.

      Elimina
  5. Grazie per la risposta ma il mio problema è che su Ableton seguendo la procedura mi compare...su Traktor invece no.Tra le preferenze audio mi appare solo Jackrouter(jack) invece di (ASIO)...

    RispondiElimina
    Risposte
    1. Probabilmente Traktor accetta solo il servizio a 32bit... quindi vai sul prompt dei comandi con privilegi da amministratore e inseriscili entrambi: se hai seguito la guida che ti ho linkato attualmente quello attivo è solo quello a 64 bit. In questo caso ti serve solo scrivere sul terminale regsvr32 "C:\Program Files (x86)\Jack\32bits\JackRouter.dll" . Se invece hai un'installazione vergine di Jack, devi scrivere solo regsvr32 "C:\Program Files (x86)\Jack\64bits\JackRouter.dll" . Dimmi se si è risolto!

      Elimina
  6. Ciao Ruggero sono Stephane.
    Domanda veloce...ho appena installato il tuo software ma al momento dell'avvio mi si apre una schermata dove l'ultima frase "Waiting for a master" e poi non succede piu nulla...cosa ho sbagliato?
    Ho un asus con windows 7.
    Grazie mille

    RispondiElimina
    Risposte
    1. E' da molto che non uso JACK perché non uso più l'interfacciamento tra i software audio (al massimo uso FL Studio con Ableton, ma mi affido alla possibilità di usare il VST di FL Studio stesso). Se JACK vi dà problemi potreste provare ad installare e configurare VB-Audio Cable http://vb-audio.pagesperso-orange.fr/Cable/ (PS: gratuito). Crea una periferica di riproduzione virtuale, da settare come uscita di un programma ed ingresso di un'altro. I driver penseranno a creare un loopback tra uscita ed ingresso e reindirizzare i flussi audio.

      Elimina
  7. grandioso come sempre esaustivo.bravo!

    RispondiElimina
  8. Ciao,complimenti per la guida!!!
    Invece della versione 1.9.8 di Jack2 ho scaricato la versione 1.9.9 per windows 64 bit. Nella finestra Setup alla voce Serve Prefix nel menu a tendina non ho Jack-S come nella versione 1.9.8 che mostri tu, ma ho -jackd -jackstart -jackdmp. Impostando tutto il resto come dici mi si collega al server solo selezionando jackd. Per gli altri 2 mi esce un messaggio di errore dicendomi che non si connette,quindi lascio collegato con jackd. Poi vado avanti impostando Ableton Live 8.2.2 e Traktor scratch pro 2 come dici tu e mi fa fare tutto perfettamente. Avvio una traccia su Tracktor e non sento niente, avvio una traccia su Ableton e non sento niente. Come scheda audio ho quella integrata del controller U-MIX CONTROL PRO 2 della MIXVIBES. Può essere un problema della scheda audio?.
    Usando i driver ASIO4ALL v2 per TRAKTOR E ABLETON me li attiva solo per un programma,quello che apro prima.
    Per favore aiutami.......è da 3 giorni che sto smanettando come un dannato,la tua guida è stata quella più curata e che ha risolto tutti i problemi.
    Grazie,saluti,Vincenzo.

    RispondiElimina
    Risposte
    1. Ciao Vincenzo, va bene anche la configurazione che hai usato tu, non ti preoccupare, -S avvia jack in Sync mode e teoricamente evita perdita di dati causando perdita di qualità. Praticamente la differenza è quasi impercettibile, specialmente su un buon PC. Purtroppo sembrerebbe che i tuoi problemi riguardano ASIO4ALL piuttosto che Jack. Controlla nelle impostazioni "avanzate" (chiave inglese) del pannello di ASIO4ALL che tutti i canali siano attivi e funzionanti.

      Elimina
  9. Questo commento è stato eliminato dall'autore.

    RispondiElimina
  10. Ciao forse puoi aiutarmi a risolvere questo enigma. quando uso gli Asio4all
    in cubase5 in insieme a Virtual Midi synth, succede che non sento più l'audio in uscita! cioè, funziona il file Wave, funzionano i vst instrument, ma Virtual Midi synth non manda più l'audio al Out della scheda audio. la cosa si risolve se torno agli Asio full-duplex normali di cubase5.....grazie.

    RispondiElimina
  11. Ciao e grazie per il tutorial, volevo usare Jack (64bit) con EZDrummer e Jamulus, ho seguito la tua configurazione ma gia aprendo EzD e mettendo ASIO non mi trova Jackrouter, come posso risolvere?

    RispondiElimina
  12. Ei ciaoo, il link al download non funziona, potresti risolvere perfavore?

    RispondiElimina