Realizzare una Workstation Audio (DAW) con linux

Alcune premesse

  • Per semplicità la guida fa riferimento a Ubuntu Feisty 7.04, ma le specifiche possono essere riadattate per qualsiasi distribuzione linux
  • Questione Hardware: Qualsiasi computer “nuovo” e perfetto per questo scopo, ciò non preclude però che potete fare esperimenti anche con computer più datati. Io per esempio, ho allestito a tale scopo un PIII 900 MHz, con 512 MB di ram e 2 dischi (uno per il sistema e uno per le home). Con qualche ottimizzazione, questo pc, soddisfa a pieno le mie esigenze. Chiarisco che non lo uso per registrazione multitraccia con 20 tracce contemporanee, ma viene usato per la registrazione di idee, cioè mi faccio la mia base di batteria con Hydrogen e registro voce e chitarra ad alta qualità (96Khz – 24 bit) ma senza avere pretese da studio di registrazione. Quindi valutate le vostre esigenze.
  • Scheda audio: ok questo poteva stare tranquillamente nel punto precedente ma voglio spendere 2 parole a parte per questa questione. La scelta della scheda audio dipende da 2 (3) fattori principali:
  1. Cosa e come abbiamo in mente di registrare
  2. Budget a disposizione
  3. (Funziona sotto linux???)

Questo dovete valutarlo voi… vi dico solo che ci sono delle ottime schede supportate benissimo anche da linux, ma per evitare di fare pubblicità, lascio cercare a voi quali sono🙂

  • Prerequisiti: non è richiesta una profonda conoscenza di un sistema linux, ma bisogna sapersela cavare in caso qualcosa vada storto🙂

DAW

Detto questo, cominciamo a vedere come allestire la nostra DAW.

Si presuppone di avere già l’hardware necessario con installata Ubuntu Feisty o qualsiasi altra distribuzione linux. Qui potrebbe già balenare nella vostra testa una domandina:

D: Perché non usiamo ubuntustidio invece di una versione “vanilla” di ubuntu?

R: Perché per ora, ubuntuStudio è solo un grosso meta-pacchetto che non fa altro che installare tutto il software e anche di più di cui abbiamo bisogno, in modo automatico. Per ora preferisco avere io il controllo della roba che installo sul mio pc, in modo da poter installare tutto e solo quello che effettivamente mi serve!

Per prima cosa (Fondamentale!!) si deve procede all’installazione di un kernel low-latency.

D: A che mi serve un kernel low-latency

R: A evitare i fastidiosi xrun, ovvero dei buffer underrun della scheda audio che provocano il fastidioso effetto dell’audio che salta. Questo è dovuto al fatto che la lettura/scrittura dei dati verso la scheda audio avviene senza la dovuta priorità. Noi non volgiamo che accada questo… vero?😀

Tranquilli, se avete ubuntu Feisty (o qualche altra distribuzione che impacchetta e distribuisce un kernel a bassa latenza), questo passaggio è abbastanza facile e non prevede ore passate ad ottimizzare e ricompilare il kernel sperando in grazia che il tutto funzioni. Vi basterà lanciare il comando:

sudo apt-get install linux-image-lowlatency

Questo comando non fa altro che installare un nuovo kernel a bassa latenza nel vostro sistema. Attenzione, NON andrà a sostituire il vostro vecchio kernel, il quale rimarrà intatto, in modo che voi possiate scegliere all’avvio del sistema, quale kernel usare.

Alla fine di questa operazione vi verrà chiesto di riavviare. Fermi!! aspettate un attimo, c’è ancora una piccola operazione da fare che richiede il riavvio del sistema, quindi facciamola ora così ci evitiamo un riavvio in più!🙂

Ora bisogna modificare il file /etc/security/limits.conf inserendo alcune righe che danno i permessi al gruppo @audio di usare le risorse realtime, e con quale priorità usarle.

sudo gedit /etc/security/limits.conf

Portiamoci in fondo al file, e appena prima della riga # End of file aggiungiamo le seguenti righe:

@audio - rtprio 99
@audio - nice -10
@audio - memlock 512000

NOTA: il parametro memlock in questo caso è impostato a 512MB, una buona regola è impostarlo alla metà della dimensione della vostra ram (io ne ho 1GB, di conseguenza…)

Fatto questo possiamo riavviare…

Ora, avviamo con il nuovo kernel low-latency e passiamo all’installazione dei pacchetti veri e propri che ci serviranno.

Non vi farò installare TUTTI i pacchetti del mondo, ma farò una panoramica dei più importanti pacchetti, diciamo quelli essenziali, poi sta a voi cercare e installare quelli che più vi fanno comodo.

per prima cosa ci serve un server audio a bassa latenza (JACK), il quale ci permette di interconnetere tra loro (il solo limite è la fantasia) tutte le varie applicazioni audio/sequencer/plugin effetti etc…

Un esempio: Ho una drum-machine che può essere Hydrogen, con cui ho creato la mia base di batteria. Ora voglio inserire la mia base in una nuova traccia di Ardour (DAW registrazione multitraccia) per poi registrargli sopra la chitarra. Bene, JACK mi permette di saltare alcuni passaggi in maniera semplice e intutitiva! Non mi serve esportare la mia base, importarmela in Ardour e registrare la chitarra, ma posso collegare l’uscita di hydrogen ad un ingresso di ardour, l’entrata della scheda audio dov’è attaccata la chitarra ad un altro ingresso di Ardour e magicamente, quando premo “Registra”, su una traccia verrà riversata la base di batteria e sull’altra la mia chitarra.

Un esempio2: Ho un emulatore software di sintetizzatori analigici (AMSynth) ma non ho con me la tastiera MIDI da attaccare al pc per provare i nuovi suoni. Nessun problema!! avvio VKeybd (tastiera virtuale) e tramite JACK vedo che è stato connessu un nuovo controller MIDI, il quale lo connetto in entrata al mio Software Synthesizer e comincio a suonare col muose o con i tasti della tastiera del pc! Oppure al posto che la tastiera virtuale, ci appiccico un bel sequencer software (MUSE) cosi mi sento le mie basi che ho fatto in precedenza con i suoni del sintetizzatore appena configurato!!

Spero di avervi chiarito le idee su che cosa sia Jack e ora passiamo all’installazione vera e prorpia.

sudo apt-get install jackd qjackctl

Allora vediamo un po: jackd è il demone vero e proprio e qjackctl è un’interfaccia grafica per avviare/stoppare il server e per effettuare tutte le connessioni (apriamo il menu Connect e tiriamo semplici linee col mouse) che abbiamo visto in precedenza.

Jack

Procediamo ora ad una rapida configurazione. Diciamo che i vari parametri sono a vostra discrezione, però andrà attivato il flag realtime con una priority abbastanza alta. Ecco una carrellata delle mie impostazioni:

Jack_Impostazioni

Ok… sperando che fino a qui tutti funzioni🙂 procediamo con l’installazione di alcuni programmi di varia utilità, per prima cosà però aggiungiamo i repository di ubuntustudio, i quali ci forniscono i programmi di cui abbiamo bisogno, con delle versioni più aggiornate (non di tutti tutti, ma di qualche…) rispetto a i repository standard di Feisty. Per farlo sono sufficienti 2 comandi:

sudo su -c 'echo deb http://archive.ubuntustudio.org/ubuntustudio feisty main >> /etc/apt/sources.list'
wget -q http://archive.ubuntustudio.org/ubuntustudio.gpg -O- | sudo apt-key add - && sudo apt-get update

Fatto questo non ci resta che installare i vari pacchetti:

sudo apt-get install ardour hydrogen seq24 om amsynth timidity muse rosegarden gtick gtkguitune audacity rezound jamin gwc vkeybd ladspa-plugin ladspa-host vcf caps swh-plugins tap-plugins omins

Benissimo!!! La vostra DAW è ora completata e (si spera🙂 ) funzionante!!!

Rapida carrellata sui programmi installati:

  • Ardour (Registrazione Multitraccia)
  • Hydrogen (Drum machine)
  • seq24 (Sequencer)
  • Audacity/Rezound (Editor Audio)
  • AMSynth/OM (Software Synth)
  • Timidity (Emulazione software MIDI)
  • Muse (Sequencer avanzato)
  • Rosegarden (professional audio/MIDI sequencer, score editor, and general-purpose music composition)
  • GTick (Metronomo)
  • GtkGuitune (Accordatore Software)
  • Jamin (Mastering)
  • GWC (Wave Cleaner)
  • VKeybd (Tastiera Virtuale)

Gli altri pacchetti installati sono dei plugin ladspa ovvero uno standard che puo essere paragonato ai VST e VSTi per windows/mac. Ci sono diversi tipi di plugin, dai vari effetti classici tipo echo, delay, flanger, riverbero etc…, ci sono dei filtri, EQ e generatori di forme d’onda, rumore e chi più ne ha più ne metta!!

Detto questo non mi resta che auguravi BUONA MUSICA a tutti!!!

About axeldamage

Mad Scientist

26 responses to “Realizzare una Workstation Audio (DAW) con linux”

  1. MaZ(xim) says :

    ooh, finalmente un po’ di chiarezza! Stavo giusto provando anch’io le potenzialita’ di jack in merito alle sue capacita’ di fare “pipe” con l’audio – in pieno stile *nix – l’unica cosa che ancora mi sfugge e` COME assegnare i controlli da tastiera midi (vedi volume, modulation..) alle relative controparti sull’interfaccia. Idee? Ciao e grazie.

  2. axeldamage says :

    @MaZ(xim)
    Ciao! Hai già provato Ardour2? Dovrebbero aver inserito le capacità di sequencer midi, quindi dovrebbe essere in grado di gestire questi eventi!
    Oppure con OM-synth (che ora si chiama Ingen) ci sono i vari moduli che ricevono in ingresso i vari eventi midi e puoi usarli per comandare parametri di effetti, quindi modulazioni e volumi e tutto quello che ti viene in mente.
    Ho fatto delle prove per essere sicuro che non dicevo stron***e🙂 e con om synth sono riuscito a usare la rotella ModWheel per controllare un parametro (nel mio caso un volume). Non avendo una tastiera vera e propria ho usato Vkeybd (virtuale) ma è la stessa cosa.
    Se vuoi saperne di più contattami che sarò lieto di darti una mano!
    Devo ancora comprami l’attrezzatura per collegare via midi la tastiera al pc, ma appena ho tempo/soldi lo provo e posterò di sicuro qualcosa!
    Spero di esserti stato utile!
    Ciao🙂

  3. dukesofhazzard says :

    ciao a tutti, io ho un problema.. ossia, una volta installato il kernel low-latency, se lo seleziono ho dei problemi con la scheda video (ati x1600…), dal momento che entrando con la sessione GNOME with XGL (quella di default, dato che uso compiz) non riesco a vedere nulla, poichè appare tutto “striato”…per capirci, ogni iconcina è tagliuzzata da delle linee orizzontali e non si capisce nulla!!
    qualcuno sa aiutarmi? grazie a tutti

  4. axeldamage says :

    @dukesofhazzard
    Ciao… è successa anche a me una cosa simile, ma io ho una scheda nvidia. Io ho risolto reinstallando i driver, perché per ogni nuovo kernel vanno reinstallati gli appositi moduli restricted. Coi driver ATI non ho esperienza ma provare a reinstallarli non costa nulla!!🙂

  5. robyuan says :

    Ottima guida ….
    ora ho un piccolo problema
    – ho realizzato un brano di test con rosegarden: alcune tracce midi e un paio di tracce audio
    – volevo registrarlo con ardour … ma
    – pur verificando con qjackctl che i vari master out di rosegarden fossero collegati a audio in di ardour e pur sentendo in riproduzione tutte le tracce di rosegarden (anche quelle midi)
    – su ardour si registrano le tracce audio ma non le tracce midi

    qualche suggeriment?
    grazie

  6. axeldamage says :

    @robyuan
    Ciao, per quanto riguarda il midi, in ardour è ancora in fase di implementazione, poi dovrebbe essere possibile registrare e editare midi anche con quello. Ora come ora non so a che punto sono arrivati.

    Non avendo mai provato a registrare una traccia midi in ardour non saprei come aiutarti…ora come ora una possibile soluzione potrebbe essere quella di esportare in wave ogni singola traccia midi e importarla in ardour.

    spero di esserti stato d’aiuto🙂

  7. robyuan says :

    @axeldamage
    ops … non avevo visto che era possibile esportare tracce midi in wav, almeno con rosegarden non credo sia possibile (guarderò meglio però)
    per quanto riguarda l’esportazione in wav di tracce midi mi sembra di aver letto da qualche parte che sia possibile farlo con timidity …
    mi confermi questa mia ipotesi?
    oppure hai altri suggerimenti per esportare midi -> wav?

    thanks in advance
    roberto

  8. axeldamage says :

    @robyuan
    Si hai ragione… non si riesce a esportare direttamente in wav da rosengarden.
    Allora prova a fare così:
    Esporti il file midi con rosengarden (file->esporta), e poi usa timidity per convertire il file midi in wav in questo modo:
    $ timidity -Ow -s 44100 miomidi.mid -o miowave.wav
    Ho dato una occhiata veloce al man di timidity e non ho provato se funziona, ma dovrebbe essere questa la sintassi giusta (A memoria mi sembra che funzioni😀 ).

    Ciao ciao!🙂

  9. robyuan says :

    @axeldamage
    Grazie mille
    Gentilissimo
    Stesera provo … e se non posto altri commenti vuol dire che va tutto bene!

  10. domee says :

    ciao ragazzi volvo chiedervi un aiuto , io ho una scheda emu 0404 come faccio a farla riconoscere ????
    grazie ciaocioa

  11. axeldamage says :

    @domee
    Ciao… la tua card usa l’emu10k1, se guardi qui
    http://alsa-project.org/main/index.php/Matrix:Module-emu10k1
    c’è l’elenco delle schede che usano il modulo emu10k1…la tua è elencata tra quelle non ancora supportate ma in via di sviluppo… Segui questa pagina e attendi fiducioso!!!!
    Ciao ciao🙂

  12. Giacomo says :

    Ciao,

    bel sito e chiaro nelle spiegazioni, un solo consiglio: metti il link degli rss in modo che chi come me usa un lettore di rss possa raccattarsi immediatamente il link senza dover sapere che sei su wordpress e che allora esiste una certa sintassi… insomma firefox fa vedere subito che hai un servizio rss ma non si sa il link e gli utenti non amano smanettare…🙂

  13. axeldamage says :

    @Giacomo
    Ciao e grazie della visita!!🙂
    Provvedo subito a mettere un link all’rss…cmq con firefox non serve smanettare, basta cliccare sull’icona rss che compare in parte all’indirizzo e il gioco è fatto!!😀
    Comunque grazie delle segnalazione!!
    Buone cose🙂

  14. Vincenzo says :

    Ciao, sto assemblando un pc per suonarci anche ovviamente! chhe scheda audio mi consigli? per ora una interna; non eccessivamente superlativa; piu in là ricorrerò a quella esterna…..per ora mi accontento anche di una integrata!

    che pc dovrei assemblare??
    secondo te….
    ciao e grazie

  15. axeldamage says :

    @Vincenzo
    Per rispondere a queste tue domande dovrei avere qualche info in più sulle tue esigenze… ad esempio quante entrate/uscite hai bisogno, se ti occorre per performance live, qual’è il tuo budget…
    Comunque mi sento di consigliarti il blog di NonSoloMusica http://nonsolomusica.wordpress.com/category/come-realizzare-un-home-studio/ in cui proprio in questi giorni, l’autore sta pubblicando degli articoli riguardante l’assemblaggio di un pc per hard disk recording e per fare musica in generale… credo possa esserti utile!!
    Ciao e grazie della visita!!🙂

  16. Gabriele Bianco says :

    Grazie per la citazione😉

  17. Ferro says :

    Grande, ottima guida!!

  18. Luigi says :

    Gent.mi ho installato su linux-Mint KDE, il nuovo kernell rt come da indicazioni, al riavvio grub riportava correttamente il nuovo kernell rt, e, riavviatolo non ha avviato la parte grafica del sistema. Il kernell standard di Mint si avvia normalmente senza problemi e con la grafica.
    Sono molto pivello, cosa posso fare per far partire la parte grafica di Mint con il kernell rt? Vi ringrazio in anticipo, Luigi

  19. giuseppe says :

    Buonasera… guida super ok.
    Proprio oggi son riuscito a far suonare una mia vecchia scheda alesis io|2
    la cosa non è stata indolore, però il fine appaga lo stile magro di micro che con zozz crede che tutti diventino clicco e installo driver funziona.
    Funziona.. xd ma che cacchio funziona e come funziona? E su questo i Linuxarix abbiamo le idee un pò più chiare.
    Se posso essere di aiuto per detta scheda ALESIS IO|2 chiedete pure….
    però mi mancava il settaggio in Jack di: Pryoriti 80, e por maxium 128!
    l latenza ottenuta promette bene@domani riscrivo quanto ottenuto in xrun…

    e chiedo anche gentilmente a chi su questa usb audio ne sapesse di più…

    Il mondo sarebbe più accogliente se la gente fosse un pò più disponibile…

  20. audacity recording says :

    I suppose if you want to set something up to vote for
    your favorite American Idol over and over, this might come in
    handy. —————————————————.
    But I started out with a Blue Snowball and found it to be a very good USB mic.

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: