El Noguer

Joaquim Perez i Noguer

Els secrets del so en GNU/Linux.

Filed under: Linux,Música — Joaquim Perez Noguer at 12:17 am on Dijous, juny 29, 2006

Encara que en un primer cop d’ull no ho pugui semblar el GNU/Linux és un perfecte sistema d’edició musical.

Si es configura bé el teu GNU/Linux pot passar de ser un simple sistema d’escriptori a convertir-se en un estudi de gravació i postproducció de música.

Entre altres característiques el GNU/Linux permet optimitzar-se de tal manera que el sistema es tigui només pendent de la qualitat musical, desactivant tots aquells sistemes que no interessen. Per altra banda hi ha una llarga llista de programes de música lliures de qualitat professional.

Si cliqueu el botó segueix podreu aprendre com fer-lo anar.

[@more@]musi
La majoria de distribucions GNU/Linux no tenen el sistema de so ben configurat.
Això fa que molts dels programes d’edició musical no se sentin bé.

-Quines distribucions tenen el sistema ben configurat ?

Hi ha vàries distribuicions dedicades a l’edició musical que ja ho tenen tot configurat

-Per què no se sent res en les demés distribucions en alguns programes ?

Pot passar les següent coses:

  • No es té sortida de so ALSA o OSS.
  • El programa requereix un sistema de so ESD,ARTSD o JACK.
  • La sortida de so (DSP) està ocupada per un altre programa.
  • No tenen MIDI perquè no s’han carregat els mòduls del kernel amb modrpobe.
  • No tenen MIDI per falta d’un sintetitzador de sons.
  • El programa d’edició musical necessita una configuració correcta del JACK.


-No se sent res per què no es té sortida de so. Què puc fer ?

Normalment és perquè la configuració del boot està malament.
En el meu portàtil ACER no em funcionava el so fins que vaig tocar el fitxer /boot/grub/menu.lst
i vaig modificar (com usuari root) la línia que posava "kernel …" amb " noapic pci=bios "

Altres vegades en la línia del kernel hi ha l’opció "nosound" que evidentment s’ha de treure.

Una altra causa pot ser perquè no s’ha carregat cap dels dos mòduls de so del kernel.
OSS: sistema senzill de so del kernel
ALSA: sisema avançat de so del kernel.

Per veure si està actiu el so cal obrir un terminal en mode root i escriure "lsmod | grep snd"

En el cas del meu Ubuntu amb una tarja de so intel em surt el següent:

snd_intel8x0 30144 1
snd_ac97_codec 72188 1 snd_intel8x0
snd_pcm_oss 46368 0
snd_mixer_oss 16128 1 snd_pcm_oss
snd_pcm
78344 3 snd_intel8x0,snd_ac97_codec,snd_pcm_oss
snd_timer 21764 1 snd_pcm
snd
48644 8
snd_intel8x0,snd_ac97_codec,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_timer
soundcore 9184 1 snd
snd_page_alloc 10120 2 snd_intel8x0,snd_pcm

si no està arrencat aleshores cal escriure en el terminal

modprobe snd_intel8x0
modprobe snd_ac97_codec
modprobe snd_pcm_oss
modprobe snd_mixer_oss
modprobe snd_pcm
modprobe snd_timer
modprobe snd
modprobe soundcore
modprobe snd_page_alloc

– El programa requereix un sistema de so ESD,ARTSD o JACK.

En GNU/Linux hi ha diversos sistemes de so que coordinen el cas en què
diversos programes de so intenten accedir alhora al sistema de so ALSA
o OSS, aquest sistemes són:

ESD: que utilitza el GNOME
ARTSD: que utilitza el KDE
JACKD: que és un entorn professional de so.

Alguns programes de so et deixen escollir la interfície entre ALSA
(directament), OSS (directament), ESD, ARTSD o JACK. Només
cal anar a les opcions del programa.

D’altres només saben funcionar amb un dels entorns però amb un altre, per exemple amb JACK.


-Quan engego el programa de so, o intento engegar el sistema de so JACK, ARTSD o OSS em diu que el dispositiu DSP està ocupat.

Si intentes engegar el JACK quan s’està utilitzant un programa que està
utilitzant la sortida de so ALSA directament, es produeix un conflicte.
Els dos intenten accedir al driver de so (/dev/dsp).

En aquest cas cal aturar el sistema de so:

Si s’està en GNOME, cal obrir un terminal (sense ser root) i
escriure "killall esd", per tornar-lo engegar cal escriure "esd" en el
terminal, en mode usuari.

Si s’està en KDE, cal anar al control central – multimèdia – so – i
desactivar el so. És equivalent a escriure en un terminal "artsshell -q
terminate"

– No se sent res per què no tinc MIDI.

Els fitxers MIDI a diferència dels fitxers de so normals (WAV,MP3,OGG,…) no desen el so sinó les notes que han de tocar els instruments.

Moltes distribucions venen sense activar el MIDI en el kernel per tal que sigui més eficient l’ordinador.

Per activar el midi he d’escriure en el terminal (en mode root):

modprobe snd-seq-oss
modprobe snd-seq-midi
modprobe snd-emu10k1-synth
modprobe snd-emux-synth
modprobe snd-seq-midi-emul
modprobe snd-seq-virmidi
modprobe snd-seq-midi-event
modprobe snd-seq
modprobe snd-emu10k1
modprobe snd-pcm-oss
modprobe snd-mixer-oss
modprobe snd-pcm
modprobe snd-timer
modprobe snd-hwdep
modprobe snd-util-mem
modprobe snd-page-alloc
modprobe snd-ac97-codec
modprobe snd-rawmidi
modprobe snd-seq-device
modprobe snd
modprobe soundcore

– Tinc el MIDI activat però no tinc cap sintetitzador de so

Un cop arrencat el sistema MIDI, cal que un programa sigui capaç
de convertir les notes en sons. Aquests programes són els
sintetitzadors.

Cal instal·lar alguns dels següent programes:

a) timidity :
s’engega escrivint en un terminal en mode usuari normal: "timidity -iA &"

b) qjackctl + qsynth (sistema JACK):
S’engega amb la comanda "qjackctl" i clicant el botó "start",
seguidament s’engega el qsynth i es comprova que la llista de canals
està plena d’instruments. Si no és així cal anar a la configuració del
qsynth i posar-li un soundfount.

c) qjackctl + ghostess (sistema JACK)
S’engega amb la comanda "qjackctl" i clicant el botó "start",
seguidament s’engega el qhostess. A continuació es comprova que tingui
carregat un soundfont, anant al menú del ghostess.

També hi ha altres sintetitzadors que no he provat com:
freeparts , fluidsynth, awesfx, …

Els sintetitzador necessiten un fitxer de font de so (soundfont) per funcionar. Un fitxer amb extensió .sf2 que conté la llista de sons. Aquests fitxers es poden descarregar de http://www.sf2midi.com i copiar-los (en mode root) per exemple a /usr/share/soundfonts.

NOTA Timidity té diversos modes de funcionament.
“timidity -iA -Os “ per integrar Timidity en l’ALSA
“timidity -iA -Oj “ per integrar Timidity en el JACK
“timidity -iA -Oe “ per integrar Timidity en el ESounD
“timidity -iA -Or “ per integrar Timidity en el ARTSD (KDE)

– No entenc com funciona el JACK

El jack serveix per controlar com es connecten els programes de so els uns amb els altres.

S’engega amb la comanda "qjackctl" i clicant el botó "start"

A continuació cal engegar algun programa que faci de sintetitzador, per exemple "qsynth".

Tot seguit cal clicar al botó connexions del qjackctl.
Hi ha dos pestanyes: Àudio i MIDI.
Cada pestanya té dues llistes: Clients (esquerra) i Servidors (dreta).

Quan s’ha engegat el sintetitzador, es pot veure com a la banda de
l’Àudio el qsynth fa de clinet i està connectat a la sortida d’àudio
("alsa_pcm").

A la banda de MIDI, el qsynth "FLUID synth" fa de servidor i no està
connectat a res. Cal que connectem el client MIDI per defecte "Midi
Through" al qsynth "FLUID synth".

Ara engeguem un program de so que necessiti midi, per exemple el rosegarden4 o el noteedit.
La majoria de casos això és suficient.

En alguns casos però el programa midi, apareix en la llista de clients
MIDI del qjackctl, en aquest cas cal assegurar-se que es connecti el
programa midi amb el qsynth "FLUID synth"

Amb això el programa donarà les ordres midi al qsynth, aquest processarà el so i l’enviarà a la sortida de so "alsa_pcm".

Hi ha molts programes amb interfície JACK, programes
per fer filtres, distorsions, sintetitzadors, editors, … Teniu la
llista a http://jackit.sourceforge.net/apps/

– Combinacions de programes

NOTEEDIT
Programes per escriure partitures.

Funciona amb el sintetitzador TIMIDITY, sense el JACK.

Però també funciona amb el JACK + QSYNTH si es configura el noteedit
perquè funcioni pel "MIDI-ThroughPort-0" en el seu menú de configuració.

Les connexions jack serien “MIDI-ThroughPort-0” cap al “FLUID Synth”; “qsynth” cap al “alsa_pcm”

Per escollir si es vol timidity sol o utilitzar el sistema jack, cal anar al menú d’opcions del noteedit.

ROSEGARDEN
Programa avançat d’edició musical MIDI.

Funciona bé amb JACK + QSYNTH.
Les connexions jack serien “MIDI-ThroughPort-0” cap al “FLUID Synth”; “qsynth” cap al “alsa_pcm”

També m’ha funcionat amb el JACK + TIMIDITY (timidity -iA -Oj &)
Les connexions jack serien “MIDI-ThroughPort-0” cap al “FLUID Synth”; “qsynth” cap al “alsa_pcm”

GMORGAN
Per fer percusions i ritmes amb MIDI.

Funciona amb Timidity, o bé amb JACK, de manera molt semblant al NOTEEDIT tot i que serveixen per coses diferents.

HORGAN
Per fer percusions i ritmes amb MIDI.

Pot funcionar sol directament usant ALSA o OSS (cal configurar-lo).

Però també sap funcionar amb JACK. Cal connectar només “horgan” a “alsa_pcm”.

REZOUND
Estudi de gravació en vàries pistes.

Funciona sol, directa a ALSA.

També sap funcionar amb el JACK.
Cal fer les següents connexions: “alsa_pcm” a “rezound” per permetre
gravar del micròfon, “rezound” a “alsa_pcm” per sentir la composició.

AUDACITY
Estudi de gravació en vàries pistes.

Funciona sol, directa a ALSA.

MHWAVEEDIT
Estudi de gravació.

Permet treballar tant sol amb ALSA,OSS,ARTSD com integrat en el JACK.

Si es treballa amb JACK cal fer les següents connexions: “alsa_pcm” a
“mhWaveEdit” per permetre gravar del micròfon, “mhWaveEdit” a
“alsa_pcm” per sentir la composició.

WAVESURFER
Estudi de gravació

Funciona sol.

ARDOUR
Estudi de gravació

Li cal JACK. Cal fer les següents connexions: “alsa_pcm” a “ardour” per
permetre gravar del micròfon, “ardour” a “alsa_pcm” per sentir la
composició.

SOLFEGE
Programa per aprendre la teoria del solfeig.

Funciona amb el TIMIDITY.

HYDROGEN
Programa per editar percusions i ritmes.

Funciona amb el JACK, sense qsynth. Cal connectar “hydrogen” a “alsa_pcm”.

BEAST
Edició MIDI

Funciona sol, porta els seus propis fitxers de soundfont amb extensió .bse .

JAMIN, BRIDGE, CREOX, JACKRACK
Equalitzadors

Treballen només amb JACK.

Per exemple per equalitzar la sortida d’un reproductor de cançons amb el jamin, cal fer les següents accions:

  1. Engegar qjackctl
  2. Engegar el reproductor de cançons: xmms-jack
  3. Engegar jamin
  4. Connectar en les connexions del jack: xmms al jamin i el jamin al alsa_pcm

KGUITAR
Per escriure partitures de guitarra (tabulats).

Funciona de manera molt semblant a un NOTEEDIT. Amb el Timidity o bé amb el JACK.

DGUITAR
Per escoltar fitxers de tabulats de guitarra (.gp3 i .gp4)

Funciona sol.

LMMS
Tracker

Funciona sol, directament contra ALSA.

Però també sap funcionar amb el JACK. Connectant “lmms” a “alsa_pcm”



No Comments »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a comment

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>