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.
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:
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:
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:
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:
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.
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:
- fuser
Muy útil si se necesita saber que programas están utilizando los dispositivos de sonido.
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