Música en Linux 1 – Principios básicos.

by Jorge Machin on April 15, 2007 · 0 comments

in Fedora, Linux, Música

Linux es una excelente y económica herramienta para componer e interpretar música; por lo que en mis vacaciones de abril de 2006 decidí dedicar las madrugadas a aprender un poco sobre el tema. Aquí presento en varios posts lo que pude encontrar en esas dos calurosas semanas. Obviamente, este ya no es el texto original porque lo he ido actualizando conforme visito mi blog y cuando me he puesto a jugar con mi equipo y las últimas versiones de los programas. El original era un archivo de open office que iba escribiendo conforme probaba las cosas.

El hardware que utilicé para mis experimentos es el siguiente:

- Servidor Dell PowerEdge SC 430 (Pentium D a 3 Ghz y 1 MB de RAM).
- Tarjeta de Sonido Audigy 2 Platinum.
- Bocinas Creative Inspire 6.1.
- Sintetizador Yamaha Motif ES-7.

Yamaha Motif ES-7
Yamaha Motif ES-7.

La última distribución de Linux en la que he probado que funcionan todo es la incomprendida Fedora Core 6 (Zod) con el escritorio KDE. Una de las cosas que me divirtió muchísimo fue que me puse a jugar tanto con las versiones de 32 y 64 bits. Algunos de los programas tuve que modificarlos para que funcionaran correctamente con el kernel de 64 bits, pues los programadores seguramente los desarrollaron inicialmente con máquinas Intel de 32 bits. Aunque un año después (2007) y con el repositorio livna, sólamente se necesita un simple yum para tenerlo todo listo (¡Muchas gracias a esta gente tan trabajadora!).

Otras distribuciones

Antes de profundidazar en el tema, recomiendo probar antes algunas distribuciones enfocadas a la música para conocer los programas que incluyen para después instalarlos en su distribución favorita; la mayoría tiene LiveCDs o LiveDVDs por lo que no tiene que formatear nada. Yo revisé las siguientes:

- Musix.

Una distribución argentina que se puede instalar en tu máquina o bien correrla desde un liveCD. Tiene reunida una cantidad muy grande de programas y está muy elaborada.

- Demudi.

Demudi/Agnula era una distribución musical para la distribución Debian de Linux. Actualmente han canalizado sus esfuerzos en mejorar los paquetes musicales de Debian. Si no te agrada Fedora, no sería mala idea darse una vuelta por las páginas de estos señores.

- Planet CCRMA.

Desafortunadamente este esfuerzo de la Universidad de Standford para llevar programas músicales a las distribuciones RedHat se quedó en el Fedora Core 5 o al menos eso parecía la última vez que visite su página de Internet.

Dispositivos de Audio.

Los dispositivos importantes en linux son:

wave_out device: /dev/dsp
linux sequencer device: /dev/sequencer

Información del sistema.

Para conocer que tarjetas de sonido y otro equipo de audio que esta reconociendo el sistema, se puede correr el siguiente commando:

cat /proc/asound/cards

En mi máquina da como resultado:

[renato@linux ~]$ cat /proc/asound/cards
0 [Audigy2 ]: Audigy2 - Audigy 2 Platinum [SB0240P]
Audigy 2 Platinum [SB0240P] (rev.4, serial:0x10021102) at 0xdc40, irq 233
1 [Camera ]: USB-Audio - Camera
Camera at usb-0000:00:1d.1-2, full speed
2 [M7 ]: USB-Audio - MOTIF ES 7
Yamaha MOTIF ES 7 at usb-0000:00:1d.0-1, full speed

Si no aparece la tarjeta de sonido que amamos, será necesario correr el programa de "Detección de placa de sonido" que se encuentra en la rama de "Administración" del menú del panel.

ALSA

ALSA (Advanced Linux Sound Architecture) como dice su nombre es la interfase de sonido y midi en los sistemas operativos linux. Ha sido agregada al Kernel y ha dejado obseleta al anterior OSS

Para conocer la versión de ALSA que se tiene instalada en el sistema, se puede correr el siguiente comando:

[renato@linux ~]$ cat /proc/asound/version
Advanced Linux Sound Architecture Driver Version 1.0.14rc1 (Tue Jan 09 09:56:17 2007 UTC).

El siguiente paso sería revisar la tarjeta de sonido:

[renato@linux ~]$ cat /proc/asound/cards
0 [Audigy2        ]: Audigy2 - Audigy 2 Platinum [SB0240P]
                      Audigy 2 Platinum [SB0240P] (rev.4, serial:0x10021102) at 0xdc40, irq 16

El archivo /proc/asound/seq/clients nos da información sobre los clientes y puertos de secuenciadores que hay en el sistema, sus capacidades y estado:

[renato@linux ~]$ cat /proc/asound/seq/clients
Client info
cur clients : 10
peak clients : 10
max clients : 192
Client 0 : "System" [Kernel]
Port 0 : "Timer" (Rwe-)
Port 1 : "Announce" (R-e-)
Connecting To: 15:0
Client 14 : "Midi Through" [Kernel]
Port 0 : "Midi Through Port-0" (RWe-)
Client 15 : "OSS sequencer" [Kernel]
Port 0 : "Receiver" (-we-)
Connected From: 0:1
Client 16 : "Audigy 2 Platinum [SB0240P]" [Kernel]
Port 0 : "Audigy MPU-401 (UART)" (RWeX)
Port 32 : "Audigy MPU-401 #2" (RWeX)
Client 17 : "Emu10k1 WaveTable" [Kernel]
Port 0 : "Emu10k1 Port 0" (-We-)
Port 1 : "Emu10k1 Port 1" (-We-)
Port 2 : "Emu10k1 Port 2" (-We-)
Port 3 : "Emu10k1 Port 3" (-We-)
Client 20 : "MOTIF ES 7" [Kernel]
Port 0 : "MOTIF ES 7 MIDI 1" (RWeX)
Port 1 : "MOTIF ES 7 MIDI 2" (RWeX)
Port 2 : "MOTIF ES 7 MIDI 3" (RWeX)
Port 3 : "MOTIF ES 7 MIDI 4" (RWeX)
Port 4 : "MOTIF ES 7 MIDI 5" (-We-)
Port 5 : "MOTIF ES 7 MIDI 6" (-We-)
Port 6 : "MOTIF ES 7 MIDI 7" (-We-)
Port 7 : "MOTIF ES 7 MIDI 8" (-We-)
Client 24 : "Virtual Raw MIDI 2-0" [Kernel]
Port 0 : "VirMIDI 2-0" (RWeX)
Client 25 : "Virtual Raw MIDI 2-1" [Kernel]
Port 0 : "VirMIDI 2-1" (RWeX)
Client 26 : "Virtual Raw MIDI 2-2" [Kernel]
Port 0 : "VirMIDI 2-2" (RWeX)
Client 27 : "Virtual Raw MIDI 2-3" [Kernel]
Port 0 : "VirMIDI 2-3" (RWeX)

Donde:

- snd-emu10k1

Es el sintetizador que incluye la tarjeta de sonido.

- MPU-401 UART

Son los dispositivos midi que se controlan a través de el puerto joystick de la tarjeta de sonido.

ALSA-utils

En el paquete externo ALSA-utils se encuentran las utilidades de la línea de comandos de alsa. Los programas más utiles son los siguientes:

- aplay

Es un player de línea de comando que puede ser muy útil para probar que todo está funcionando correctamente. Algunos archivos con los que se puede probar son los siguientes:

/usr/share/sounds/alsa/Front_Center.wav
/usr/share/sounds/alsa/Front_Left.wav
/usr/share/sounds/alsa/Front_Right.wav
/usr/share/sounds/alsa/Noise.wav
/usr/share/sounds/alsa/Rear_Center.wav
/usr/share/sounds/alsa/Rear_Left.wav
/usr/share/sounds/alsa/Rear_Right.wav
/usr/share/sounds/alsa/Side_Left.wav
/usr/share/sounds/alsa/Side_Right.wav

- amidi

Para listar los dispositivos MIDI.

[renato@linux ~]$ amidi -l
Device    Name
hw:0,0    Audigy MPU-401 (UART)
hw:0,1    Audigy MPU-401 #2
hw:0,2    Emu10k1 Synth MIDI (16 subdevices)
hw:0,3    Emu10k1 Synth MIDI (16 subdevices)
hw:1,0,0  MOTIF ES 7 MIDI 1
hw:1,0,1  MOTIF ES 7 MIDI 2
hw:1,0,2  MOTIF ES 7 MIDI 3
hw:1,0,3  MOTIF ES 7 MIDI 4
hw:1,0,4  MOTIF ES 7 MIDI 5
hw:1,0,5  MOTIF ES 7 MIDI 6
hw:1,0,6  MOTIF ES 7 MIDI 7
hw:1,0,7  MOTIF ES 7 MIDI 8
hw:2,0    Virtual Raw MIDI (16 subdevices)
hw:2,1    Virtual Raw MIDI (16 subdevices)
hw:2,2    Virtual Raw MIDI (16 subdevices)
hw:2,3    Virtual Raw MIDI (16 subdevices)

- aplaymidi

- speaker-test

Para probar las bocinas se puede usar este comando:

[renato@linux ~]$ speaker-test -c 6

- fuser

Muy útil si se necesita saber que programas están utilizando los dispositivos de sonido.

[renato@linux ~]$ /sbin/fuser -v /dev/snd/*

                     USER        PID ACCESS COMMAND
/dev/snd/controlC0:  renato     3337 F.... kmix

/dev/snd/pcmC0D0c:   renato     3326 F...m artsd

/dev/snd/pcmC0D0p:   renato     3326 F...m artsd

Tiempo Real

Próximamente

Leave a Comment

Previous post:

Next post: