Music production on linux: Guitar and Behringer UCG102. Produzione Musicale con il pinguino:registrazione della chitarra elettrica. Part 1:

Italiano: (English version at bottom of page)

Tanto per cominciare “SI PUO’ FARE!!!”. Io al momento ho solo un interesse molto limitato alla cosa, voglio solo applicare effetti in tempo reale alla chitarra registrare quello che suono e magari mixarci sopra qualcosa più avanti (quando ho capito come si fa). Tenete presente che Io Non Sono Un Guru (INSUG) e questa non si sogna di essere una guida (se vedete qualche vaccata siete pregati di segnalarmelo), ma solo la trascrizione di quelle che sono le mie esperienze da profano nella registrazione, il mixaggio e la produzione musicale usando software libero (o quasi se riesco provo a usare anche i pluggin vst).

Il primo problema da superare è quello della cattura del segnale della chitarra. Le schede audio da riproduzione integrate e non, sono fatte per produrre suoni più o meno fedelmente per film, musica o tutt’al più videogiochi, la parte adibita alla registrazione di segnali esterni è a malapena sufficiente per recuperare l’audio da un vecchio vinile o per fare un karaocchio un po’ scadente!

Il secondo problema è che il segnale che esce dalla chitarra è ad alta impedenza, mentre i minijack delle schede audio sia per il line in che per il microfono sono a media/bassa impedenza. Questa differenza provoca una perdita delle tonalità medie e alte dello strumento risultando in un suono piatto e smorto, per una breve spiegazione ed esempi con tanto di file audio andate qui. Per risolvere questo problema bisogna utilizzare un pre-amplificatore (come una pedaliera multi-effetto con uscita cuffia o addirittura presa usb) o una periferica apposita come il Behringer guitar link UCG102, il Line6 toneport gx o l’ M-audio fasttrack.

Io ho scelto il Behringer, perchè il supporto della periferica da parte dei dirver usb-audio è documentato, mentre il fasttrack sembra non funzionare proprio e il Line6 ha un progetto per dei driver, ma sembrano ancora in alto mare e molto rischiosi(se avete avuto esperienze positive con queste o altre periferiche per favore segnalatelo). Il Behringer ha l’ulteriore vantaggio di costare “solo” ~€45, ma belin’!

Questa piccola periferica usb prende il segnale mono ad alta impedenza dallo strumento e lo manda all’elaboratore restituendo il segnale da un jack stereo da attaccare a delle cuffie o dei monitor attivi (nel mio caso l’entrata ausiliaria dello stereo). Lo svantaggio diquesto setup è che non sentirete lo suono uscire dalle normali casse del computer ma solo da quelle della periferica audio usb (credo sia possibile riroutare l’uscita con jack, ma il mio tentativo ha imballato la macchina).

Una volta collegata la periferica bisogna scoprire come è stata attivata dai driver alsa per poterla poi richiamare quando andiamo ad attivare i collegamenti con il “Jack Audio Connection Kit” che altro non è se non un server audio a bassa latenza (come asio per windows). Per scoprirlo uso l’opzione -l (list) di arecord che restituisce i dettagli delle periferiche audio disponibili, nel caso del mio protatile:

randommatt@roadrunner:~$ arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: IXP [ATI IXP], device 0: ATI IXP AC97 [ATI IXP AC97]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: Modem [ATI IXP Modem], device 0: ATI IXP MC97 [ATI IXP MC97]
Subdevices: 0/1
Subdevice #0: subdevice #0
card 2: default [USB Audio CODEC ], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0

La parte che c’interessa è quella relativa alla periferica USB Audio che è stata registrata come card 2 quindi al momento di lanciare jackd (il demone del server jack) il nome del dispositivo audio sarà hw:2,0. La stringa di inizializzazione che uso io è la seguente:

jackd -R -p128 -t200 -m -dalsa -r44100 -p256 -n2 -D -Chw:2,0 -Phw:2,0 -S -i1 -o2 -I1 -O1

che in termini umani significa:
Driver: alsa
Realtime
No Memory Lock
Force 16 bit
Priority 0
Frames/Second 256
Sample Rate: 44100
Periods/Buffer: 2
Port Maximum: 128
Timeout (msec): 200
Dither: None
Audio: Duplex
Input Device: hw:2,0
Output Device: hw:2,0
Input Channels: 1
Output Channels 2
Input Latency: 1
Output Latency 1

Jack Control Setup Screen

Questi settaggi danno dei valori di latenza attorno ai 10 ms si possono abbassare anche sotto i 5 ms diminunuedo i frames/secondo ma il prezzo in cicli di cpu è pesante.

Jack Control Connections Screen

A questo punto fate partire qjackctl (Jack Control) e dal connector collegate l’ input con i 2 output e dovreste sentire il suono della vostra chitarra in cuffia ignudo come pick-up l’ha fatto!

Al prossimo giro scriverò di effetti plugin LADSPA e caratteristiche del segnale e degli amplificatori classici.

English:

Ok so it is possible to record instruments and do music production under Linux. At the moment my main interest is to use my computer as a guitar preamp stompbox in real time, possibly record what I play and clean it up somewhat later. I Am Not A Guru (IANAG) and this doesn’t want to be a real guide, but just an account of my experience as I go along pursuing free (almost if I get windoze vst plugins going) software musical nirvana. If you see I get something wrong or have a better solution to what I’m trying (No, buy a Mac doesn’t count!), please comment and let me know.

The first issue when capturing an audio signal for music production is that the cards normally found on pcs are built for reproduction of games, movies and films and the capture part of the design leaves a lot to be desired and are barely adequate for converting those old mistreated vinyls lying in the cellar (You Criminal How Could You!) or a second rate Karaoke!

The second issue when capturing electric guitar audio signal directly from the instrument is that this is a high impedance signal and microphone and line-in jacks on your sound card are not. This results in a loss of the medium and high tones giving a dead and flat sound, for a good explanation with audio examples go here. To counter this problem you can either use a preamp (digital stompboxes have earphone jacks or even usb connectors) or a purpose built capture card such as the Behringer guitar link UCG102, the Line6 toneport gx or the M-audio fasttrack.

I personally chose the Behringer for two reasons: it’s cheap at €46 (yes I’m a stingy bastard), and more importantly because it’s documented to work with alsa’s snd-usb-audio driver.

What this little white usb box does is take the high impedance mono signal straight from the guitar, send it to the computer for processing and returns the resulting signal to a stereo output jack to be used with earphones or an active monitor system (I use the aux plugs on my lo-fi). The disadvantage of this is that you won’t hear the sound coming out of your regular pc speakers, although I think you can re-route the sound with Jack (more later), but a quick and clumsy attempt do so on my part resulted in a complete system freeze and lock-up.

Once everything has been properly connected, we need to find out how it’s been treated by the alsa drivers so we use arecord’s -l option to list all available capture devices (seed reading in Italian section), so we can set it up properly with the JACK (Jack Audio Connection Kit) deamon. As you see on my laptop it was registered as card 2 (you can tell because it’s the only one using the usb audio driver) so in jack it will be hw:2,0. The full activation code I use is the following:
jackd -R -p128 -t200 -m -dalsa -r44100 -p256 -n2 -D -Chw:2,0 -Phw:2,0 -S -i1 -o2 -I1 -O1

which in human readable form means
Driver: alsa
Realtime
No Memory Lock
Force 16 bit
Priority 0
Frames/Second 256
Sample Rate: 44100
Periods/Buffer: 2
Port Maximum: 128
Timeout (msec): 200
Dither: None
Audio: Duplex
Input Device: hw:2,0
Output Device: hw:2,0
Input Channels: 1
Output Channels 2
Input Latency: 1
Output Latency 1

Which can be set in the jack control utility (qjackctl) as in the screanshot:
Jack Control Setup Screen

This gives latency values around 10 ms and can be improved by lowering the frames/second value, but is expensive cpu wise.

At this point all you have to do is use qjackctl to connect the input channel of hte card to the two output channels as shown in Jack Control Connections Screen and you’ll be hearing your guitars sound just as mother pick-up meant it!

Next I’ll be talking about classic amp characteristics and applying effects in realtime.

Advertisements

10 Comments

  1. Ciao, io sto cercando di trovare una scheda audio usb che mi permetta di andare a un’amplificatore o a un mixer, l’uscita della UCG102 come va? Se la cava come qualità o fa proprio pena?

    Reply

  2. Come ho detto non sono un esperto, ma soprattutto non ho esperienza con prodotti professionali. Tanto meno mi sono messo a fare una misurazione della risposta dell’ UCG con un oscilloscopio (magari ne avessi uno!). Quello che ti posso dire è che avendolo attaccato ad uno stereetto integrato della sharp (quindi non una cosa spaziale, anzi…), rende adeguatamente ai miei bisogni.

    Tieni presente che l’idea di questa periferica è farti giocare con la chitarra sul computer risolvendo il problema dell’ impedenza dello strumento … poi per 45 € …

    Spero di esserti stato d’aiuto.

    Reply

  3. ciao! ho appena letto, ma tu sei proprio riuscito a usare la behringer ucg102? volevo partecipare a un concorso, ma devo registrare, ora che ho scoperto che posso fare con questa che ho già mi salvi!!!

    Reply

    1. Io la uso regolarmente, al momento in accoppiata con guitarix come emulatore di effetti ampli etc e mi trovo molto bene. Per registrare puoi usare ardour come multitraccia se sei ben preparato e vuoi fare cose avanzate. Altrimenti per robe rapide pronti via c’è audacity. Tieni presente che la UCG102 non è il massimo se cerchi qualità è comunque una schedina 16bit 44/48khz al pari della real tone di rocksmith o della stealth-plug (di cui è una budget copy). Per registrazioni serie dovresti cercare una scheda esterna almeno usb 2 24bit 96 khz con shadow power per microfoni seri.

      Intanto la UCG 102 funziona e viene riconosciuta in automagico da linux!

      Reply

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s