WineASIO: Come ottenere il massimo dalle applicazioni audio emulate tramite Wine

Dopo un breve periodo di assenza di nuovi post, dovuta a faccende di università e di riflessioni estive, finalmente una nuova mini-guida per il mondo audio e linux.

logo_ASIO

Di solito, prima di consigliare di emulare programmi non-free che funzionano solo per windows, cerco e valuto molto accuratamente le varie alternative free, e solamente dopo vari test, se mi ritengo non soddisfatto di tali alternative, cerco di fare funzionare tramite wine, i cosiddetti (per me) “programmi insostituibili” (vedi la guida “Guitar-pro 5 sotto linux“).

Fino ad ora però, non mi sono mai trovato di fronte all’esigenza di emulare programmi che, per sfruttarne appieno le funzionalità, richiedessero l’utilizzo dei driver ASIO.

Per questo scopo ci vengono in aiuto gli sviluppatori (Non sono sicuro di questo, se qualcuno mi corregge ben venga😀 ) di JAD (Jack Audio Distribution, una distribuzione Audio basata su OpenSuse).

E come? direte voi… semplice: creando dei bindings tra le applicazioni windows che richiedono ASIO e il nostro amato server audio a bassa latenza JACK.

Vediamo ora in dettaglio come funziona e come installare questa dll (di fatto è solo una dll chiamata wineasio.dll).

Maggiori informazione su wineasio potrete trovarle qui.

In pratica questa dll non fa altro che “registrarsi” come driver a bassa latenza disponibile per le applicazioni emulate con wine. In questo modo io vedo l'applicazione win nel menu delle connessioni di Jack, e ne trae tutti i benefici offerti da questo layer.

connessioni_jack

Notare le connessioni disponibili

Di cosa abbiamo bisogno per installare questa dll?

Beh… ovviamente di wine e di Jack installati e configurati (Per Jack potete trovare la guida all’installazione proprio su questo blog).

Ora… i requisiti per la compilazione della dll (eh si… è da compilare… ma non lasciatevi spaventare da questo parolone🙂 )

intalliamo i prerequisiti con questo comando:

$ sudo apt-get install wine-dev libjack0.100.0-dev build-essential linux-lowlatency

Fatto questo dobbiamo procurarci i sorgenti dell’ultima versione di wineasio da qui e la ASIO sdk da qui.

Scompattiamoli entrambi e copiamo il file ASIOSDK2/common/asio.h presente nella cartella dove abbiamo scompattato l’ASIO sdk, e mettiamolo nella cartella dei sorgenti di wineasio.

A questo punto apriamo il terminale nella cartella dove sono presenti i sorgenti di wineasio e compiliamo:

$ make
$ sudo make install
$ regsvr32 wineasio.dll

Ora dobbiamo aggiustare una paio di cosette. Creiamo (controllare se non esistono già prima di procedere) i seguenti link simbolici:

$ sudo ln -s /usr/lib/libjack-0.100.0.so.0 /usr/lib/libjack.so.0
$ sudo ln -s /usr/lib/libjack-0.100.0.so.0 /usr/lib/libjack.so

ATTENZIONE! in base alla versione di libjack che avete installato potrebbe non esistere libjack-0.100.0.so.0, in questo caso usare libjack-0.100.0.so.0.0.23 (o simili…).

Ok… ora siamo a buon punto… dobbiamo solo dire a wine di abilitare i driver appena installati. Per fare questo avviamo winecfg:

$ winecfg

Nella combo “Windows Verion” scegliamo “Windows XP”, poi posizioniamoci nella tab chiamata “Audio”. Non allarmatevi se ci mette un momento a caricare il contenuto e se da qualche messaggio di warning.

Ora disabilitiamo tutti i driver e lasciamo abilitati soltanto ALSA e JACK.

winecfg

ecco uno screenshot di winecfg

Ora non resta che installare tramite wine la nostra applicazione che necessita di asio, ed il gioco è fatto.

Per esempio io ho installato Arturia Minimoog V, ovvero un emulatore di minimoog a mio parere eccelso. Utilizza la tecnologia TAE (True Analog Emulation, la quale non usa suoni campionati, ma usa dei blocchi di generazione del suono come oscillatori, filtri, env-generator etc… meticolosamente programmati per essere più “analogici” possibile) per ricreare le tipiche sonorità “cicciose” e molto analog del gioiellino progettato da Bob Moog.

Grazie a wineasio, ho potuto sfruttare la capacità di generare suoni realtime, e poterlo suonare con una tastiera midi appiccicata al mio pc (o più semplicemente con la solita vkeybd).

Questa libreria può essere utile anche per chi non volesse rinunciare ad alcuni famosi e eccellenti VST quali GuitarRig o AmpliTube, utilizzabili anche in situazioni live nelle quali è richiesto una risposta di tipo Realtime!

Consigli e segnalazioni sono bene accetti!😀

About axeldamage

Mad Scientist

21 responses to “WineASIO: Come ottenere il massimo dalle applicazioni audio emulate tramite Wine”

  1. misterbabu says :

    Grande!! Stavo proprio cercando informazioni su questo argomento! Grazie della segnalazione!!

  2. Federico says :

    ciao!
    In alsacfg non trovo la sezione JACK…
    ho provato sia con i repo di feysty che quelli nuovi su wine.budgetdedicated.com

    Se ricordo bene quando il repo era wine.lowvoice.nl c’èra la sezione jack…

    che versione di wine usi?

    grazie e complimenti per l’ottimo lavoro!
    Federico

  3. axeldamage says :

    @federico

    Ciao, anche a me è successo… io ho risolto tutto facendo un downgrade alla versione 0.9.33 di wine… ovvero quella contenuta ora nei repos ufficiali di feisty, e ho dovuto togliere quella dei repos di winehq

    Facendo così per me ha funzionato… fammi sapere!!🙂

  4. Federico says :

    @alessio

    ciao, sono riuscito!! non mi ero accorto che in sources.list avevo anche i backports che mi installavano la 0.9.41 ora funziona… Grazie!!

    Visto che ci sono ne approfitto per chiederti un altra cosa…
    Ho un portatile con una scheda audio integrata, la scheda è 5.1 ma meta delle uscite sono occupate dalle casse interne e dal microfono integrato, perciò è come se avessi una 2.1.
    Il problema è che jack mi riconosce i 3 canali in uscita (testate con mixxx, uscita stereo + preascolto in cuffia) ma dal wine i canali in uscita sono sempre 2 sia con ASIO che senza. Presumo che la colpa sia di wine, c’è un modo per forzare wine a considerare più canali?
    Tutto questo per usare traktor…😀

  5. axeldamage says :

    @federico
    Si può dire “a mano” a wineasio quanti canali di input e di output vuoi… basta esportare una variabile… ecco qui come fare:
    http://proaudio.tuxfamily.org/wiki/index.php?title=ASIO_with_Wineasio
    Ciao ciao🙂

  6. Federico says :

    @alessio
    Ho provato a fare come dice nel link ma le due variabili ambiente vengono ignorate, forse sono cambiate o forse vanno solo su opensuse…

    Comunque dal tuo indizio ho scoperto da questo link:
    http://forum.jacklab.net/viewtopic.php?p=1845
    che si ottiene la stessa cosa editando le variabili MAX_INPUTS e MAX_OUTPUTS presenti in asio.c (nei sorgenti di wineasio). Poi ho ricompilato e riregistrato la lib come da tue istruzioni e ora traktor funziona alla grande anche in preascolto (neanche su winzoz funziona cosi bene)!😀

    Ah.. se si scarica l’ultima versione di wineasio (al momento wineasio-0.5) le ASIO sdk non sono necessarie in quanto drumfix ha già incluso la asio.h nei suoi sorgenti.😉

    Ciaooo e grazie ancora

  7. axeldamage says :

    @Federico
    Si ho notato dell’inclusione di asio.h nella 0.5
    Grazie della segnalazione riguardante gli input/output… lo terrò presente!!!
    Ciao!🙂

  8. Alessandro says :

    Ciao, complimenti per il blog tutorial!
    Ho bisogno di aiuto: ho installato ubuntu 7.10 e sono un novellino di linux. Vorrei installare gli asio di winw ma qundo seguo la tua procedura mi da una serie di errori nel terminale e non si installa nulla.
    Veramente il mio obbiettivo sarebbe quello di intallare i miei softwares preferiti su piattaforma wine (tipo cooledit, fruity loops, reason) senza piu’ lavorare con windows (anche se per sicurezza ho entrambe in dual boot). Inoltre vorrei sapere se c’e’ un trucco per far funzionare la mia scheda audio yamaha go46 con i drivers per windows visto che per linux non esistono … qualsiasi maniera andrebbe bene pur di usarla.
    grazie e a presto!!!
    ps. puoi anche mandarmi una mail se vuoi ciaooooooooo
    Bak

  9. axeldamage says :

    @Alessandro
    Ciao e grazie per i complimenti🙂
    La guida è stata fatta per Feisty (7.04) ma in realtà l’ho seguita pari pari anche sulla mia 7.10 e funziona tutto… quindi per risolvere il problema dovrei avere qualche info in più!
    Per quanto riguarda i programmi da usare con wine bisogna precisare una cosa: Non è detto che vadano di sicuro! Ti consiglio comunque di provare, e magari di farmi sapere cosa funziona e cosa no (spero che funzioni tutto🙂 ).
    Per la scheda, purtroppo non c’è nulla da fare per ora… I driver per windows non si possono usare sotto linux (eccetto per alcune schede Wifi tramite ndiswrapper), ma puoi seguire questo sito: http://www.ffado.org dove trovi i driver per le maggiori schede audio FireWire, ma per ora la tua _sembra_ che non sia supportata…
    Attendi fiducioso!!
    Un saluto🙂

  10. waltbaba says :

    Ho citato questo post sul mio blog a questo indirizzo “http://www.wguitars.it/dett_articolo.php?id_art=22”, spero non sia un problema! Bel blog, vai avanti così!

  11. axeldamage says :

    @waltbaba
    Grazie!!!🙂 Complimenti anche per il tuo blog… ora aggiungo il tuo feed al mio Liferea!!😀

  12. Ipnox says :

    Grazie mille intanto per la guida.. non mi aspettavo di trovare un musicista appassionato che usasse proprio la mia distro preferita (o meglio quella a cui sono approdato =)
    mi servirebbe pero’ davvero una mano:
    installando il wine piu’ recente purtroppo non ottengo alcun risultato (non m vede i driver Jack)
    allora ho fatto un downgrade (come hai consigliato) installando la versione precedente
    il mio problema è che cosi’ facendo non riesco ad installare wine-dev =(
    qualunque versione scarichi mi dice (aprendo il file .deb di installazione) :
    “dipendenza non soddisfabile : wine” !! come sei riuscito a risolvere tu?
    Grazie mille dell’attenzione!

  13. Dome says :

    Salve a tutti scusate l’ignoranza ma ho un problema con la mia scheda audio.
    Ho comprato da poco un portatile che monta come sistema Windows Vista e una scheda audio esterna Yamaha GO46 dopo aver scaricato i drivers per Vista ed aver istallato la scheda audio quando vado con la mia chitarra su Guitar pro il suono esce distorto e impercettibile lo stesso capita con gli altri strumenti VST cosa devo fare???
    Sapete dirmi qualcosa???
    Grazie per l’aiuito…spero che qualcuno mi possa aiutare!!!!
    Dome

  14. Sutter Kaine says :

    Ciao a tutti non ce la faccio del sito indicato a prendere il file asio sdk anche se mi sono registrato..ce qualche anima pia che me lo puo’ spedire in mail per fare prima…grazie a tutti ciaooooo

  15. Domenik says :

    salve, bella documentazione, complimenti!
    è anche disponibile il wineasio 7.5 che è ancora meglio.
    qui uno shoot di multiple asio host con wineasio:

    si puo aprire tutti i native instruments Komplete 6
    http://www.lionstracs.com/store/komplete-os-p-244.html

    saluti

  16. davide says :

    ciao, ma funzionerebbe anche se usassi foobar per ascoltare la musica senza perdita di qualità???

  17. axeldamage says :

    @davide
    WineASIO serve solo per emulare i driver a bassa latenza, quindi non influisce sulla qualità dell’audio. In pratica è utile in fase di registrazione multitraccia, real-time monitoring e processing e cose del genere. Quando ascolti un file audio o quando fai mixing, la latenza non è un problema, anche se è alta non viene pregiudicata la qualità d’ascolto.
    Per ogni altro dubbio chiedi pure🙂

  18. danilo says :

    Complimenti per l’articolo, volevo chiederti un aiuto siccome hai installato arturia minimoog V cosa che ho tentato anch’io di fare fallendo con questo errore: fixme:storage:create_storagefile Storage share mode not implemented.
    Io ho ubuntu 10.10 ed ho installato wine con wineasio e nella configurazione ho settato i driver alsa e jack. Puoi aiutarmi?

  19. axeldamage says :

    In realtà questo articolo è vecchiotto🙂 ed è un po che non provo il miniV su ubuntu, quindi non saprei dirti le problematiche. Così a occhio però non sembra essere legato a wineasio/jack, ma piuttosto all’esecuzione vera e propria del miniV tramite wine!
    Prova con una versione più vecchia del miniV! Quando ho un attimo di tempo provo l’installazione poi in caso ti dico!🙂
    Ciao e grazie della visita!

Trackbacks / Pingbacks

  1. WineASIO 0.7.3 | MIB - gennaio 10, 2009
  2. WineASIO 0.7.4 | MIB - gennaio 11, 2009

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger cliccano Mi Piace per questo: