Documento de Linux Sound HOWTO Jeff Tranter, Jeff_Tranter@Mitel.COM v1.10, 3 December 1994 Traducido por Luis Hern ndez S bado, 20 Enero de 1.996 Este documento describe el soporte de sonido para Linux. Se enumeran las tarjetas de sonidos soportadas, se describe como configurar los drivers del n£cleo, y las respuestas a las preguntas m s frecuentes. El prop¢sito es ayudar a los nuevos usuarios y reducir el tr fico de mensajes en los grupos de news. 1. Introducci¢n Este es el documento de Linux Sound HOWTO. Se ha propuesto como una referencia r pida que abarca todo lo que vd. necesita para conocer como instalar y configurar el soporte de sonido bajo Linux. Las preguntas que se realizan frecuentemente, son contestadas en este documento, y se dan referencias relativas a otras fuentes de informaci¢n sobre una variedad de temas relativos a la generaci¢n de sonido por ordenador y m£sica. El radio de acci¢n est  limitado a los aspectos de las tarjetas de sonido bajo el sistema Linux. Para obtener m s informaci¢n sobre tarjetas de sonido, y m£sica y sonido generados por ordenador, lea Otras Fuentes de Informaci¢n. 1.1. Agradecimientos La mayor parte de la informaci¢n que se proporciona en este documento proviene de los ficheros Readme, del c¢digo fuente del driver de sonido, escrito por Hannu Savolainen (hannu@voxware.pp.fi). Gracias a Hannu y a las personas que han desarrollado los drivers del n£cleo de sonido y sus utilidades. Gracias al paquete Linuxdoc-SGML, este HOWTO est  disponible en varios formatos, incluyendo hipertexto HTML (Mosaic), PostScript, y en ASCII, todos generados desde un mismo fichero fuente. 1.2. Cronolog¡a de las versiones Versi¢n 1.1 primera versi¢n; anunciada en el canal SOUND de actividades de Linux. Versi¢n 1.2 actualizaci¢n de menor importancia; primera versi¢n disponible en los sites. Versi¢n 1.3 convertida a SGML; ahora disponible en varios formatos utilizando las herramientas de Matt Welsh's Linuxdoc-SGML; con el aspecto adecuado al nuevo formato, s¢lo menores cambios en su contenido. Versi¢n 1.4 menor tweaking de SGML; a¤ade respuesta en las incompatibles adaptadores PAS16 y Adaptec1542A. Versi¢n 1.5 versi¢n del driver de sonido 2.5a en la distribuci¢n del kernel 1.1; soporte para GUS-MAX; y cambios sin importancia. Versi¢n 1.6 Se a¤ade el mensaje de error "no hay espacio en el dispositivo" ("no space on device"); a¤ade nota que la Gu¡a de Hacker's est  en un directorio "oculto"; a¤ade preguntas en modo bidirecional; informaci¢n de errores "dispositivo ocupado" ("device busy"); y otros cambios sin importancia. Versi¢n 1.7 Se a¤ade informaci¢n de ASP y AWE32; VoxWare 2.9 est  disponible; respuesta a la pregunta sobre la utilizaci¢n de la IRQ2; referencias a los HOWTO de Sonido y SCSI. Versi¢n 1.8 Se a¤aden preguntas a los errores bajo DOS; algunas cambios sin importancia se actualizan a la versi¢n 2.90 del driver de sonido; informaci¢n sobre DOOM; respuesta para la reducci¢n de ruido. Versi¢n 1.9 preguntas sobre grabaci¢n y tarjetas cl¢nicas. Versi¢n 1.10 Se menciona que HOWTO est  disponible en WWW, como copia impresa, y las versiones; informaci¢n de los conflictos de DMA con el driver de la cinta QIC; informaci¢n de Sound Galaxy NX Pro y Logitech BusMouse. 1.3. Nuevas versiones de este documentos Nuevas versiones de este documento, que peri¢dicamente se anuncian en comp.os.linux.announce. Tambi‚n se actualizan en los diferentes ftp anonymous ftp que guardan la informaci¢n incluida en sunsite.unc.edu:/pub/Linux/docs/HOWTO. Versiones hipertextos de este y otros HOWTOs de Linux est n accesibles en muchos World-Wide-Web (WWW). Puede obtener una copia impresa de los diferentes vendedores. Si su idioma nativo no es el Ingl‚s, puede obtener una traducci¢n de este documento (traducciones de Franc‚s y Japon‚s est n en desarrollo). 1.4. Nuevas informaciones Si vd. tiene alguna sugerencia, correcci¢n, ¢ comentario del HOWTO, por favor env¡ela al autor y yo intentar‚ incorporarla en la nueva versi¢n. Si vd. tiene problemas, relativos al sonido, y no obtiene respuesta en este HOWTO, env¡eme un mensaje por correo electr¢nico, e intentar‚ ayudarle. 1.5. Otras Fuentes de Informaci¢n La Gu¡a del Usuario de Sonido en Linux abarca, con muchos m s detalles, todos los aspectos visibles de la utilizaci¢n de sonido bajo Linux (aproximadamente 40 p ginas). Si vd. est  interesado en el tema del sonido bajo Linux, puede obtener este documento. La versi¢n actual es ALPHA 0.1, y est  disponible en tsx-11.mit.edu en el directorio /pub/linux/ALPHA/LDP. Continuar‚ manteniendo el Sound-HOWTO como una Gu¡a concisa para los usuarios que deseen tener sonido y ejecutarlo, ¢ enterarse de lo que hace falta, sin tener que leerse la Gu¡a Completa del Usuario. Si vd. tiene una tarjeta de sonido que tenga soporte para CD-ROM ¢ interface SCSI, le ser  muy £til leer la informaci¢n adicional de Linux SCSI HOWTO y Linux CD-ROM HOWTO. Hannu Savolainen ha escrito una versi¢n de la Gu¡a de Hackers de VoxWare. La £ltima versi¢n es la 2, y puede encontrarla en nic.funet.fi en /pub/OS/linux/ALPHA/sound. Las siguientes FAQs se comunican regularmente en los grupos de noticias de usenet en news.announce, y adem s se archivan en los sites rtfm.mit.edu en el directorio /pub/usenet/news.answers: PCsoundcards/generic-faq (FAQ sobre tarjetas de sonido para PCs) PCsoundcards/soundcard-faq (comp.sys.ibm.pc.soundcard FAQ) PCsoundcards/gravis-ultrasound/faq (Gravis UltraSound FAQ) audio-fmts/part1 (Descripciones del formato de ficheros de Audio) audio-fmts/part2 (Descripciones del formato de ficheros de Audio) Tambi‚n las FAQs enumeran los diferentes productos especificados en las listas de correo y en los sites. Los siguientes grupos de news discuten sobre sonido y/o m£sica publicados: alt.binaries.sounds.* (grupos varios para ficheros de sonidos) alt.binaries.multimedia (emiten ficheros Multimedia) alt.sb.programmer (temas de programaci¢n de la Soundblaster) comp.multimedia (temas Multimedia) comp.music (Teor¡a sobre m£sica por ordenador e investigaci¢n) comp.sys.ibm.pc.soundcard.* (grupos sobre tarjetas de sonido IBM PC) La lista de correo sobre los activistas de Linux tienen un canal de SONIDO. Para enterarse de como unirse a esta lista, envie un mensaje a linux-activists-request@joker.cs.hut.fi. Los ficheros Readme, Readme.linux, y CHANGELOG incluidos con el c¢digo fuente del driver de sonido contiene informaci¢n £til acerca de los drivers para las tarjetas de sonido. Estos ficheros los puede localizar en /usr/src/linux/drivers/sound. El Mapa de Software de Linux (LSM) es una referencia de incalculable valor para localizar software de Linux. Buscando en el LSM palabras como 'sonido' nos ayudar  a identificar las aplicaciones relativas al hardware de sonido. El sistema LSM puede localizarse en varios sitios con FTP anonymous, incluyendo sunsite.unc.edu:/pub/Linux/docs/LSM.gz. 1.6. Informaci¢n de la versi¢n Al tiempo que se escriben estas l¡neas, la £ltima versi¢n del driver de sonido era la 2.90-2 y estaba incluido en el n£cleo de la versi¢n 1.1.50 de Linux (y ser  el mismo en Linux 1.2.0). Esta es una versi¢n beta del pr¢ximo driver versi¢n 3.0, que tiene nuevas caracter¡sticas y que no est n en las versiones anteriores, alguna de las cuales se inutilizar n, hasta que aparezca, la versi¢n 2.90 es la m s fiable, y si desea un driver m s estable, utilice el driver de sonido de la versi¢n 2.5a, suministrado en el kernel de las revisiones de 1.1.10 a 1.1.30. El autor del driver de sonido, Hannu Savolainen, sigue trabajando en nuevas versiones del driver de sonido, para que puedan incluirse en la distribuci¢n est ndar del n£cleo de Linux. 2. Hardware de sonido soportado 2.1. Tarjetas de Sonido Las siguientes tarjetas de sonido est n reconocidas por el n£cleo de Linux: o Interface de Roland MPU-401 MIDI o Tarjeta AdLib o SoundBlaster (versi¢n 1 y 2) y compatibles, incluyendo ThunderBoard y ATI Stereo F/X o SoundBlaster Pro (versi¢n 1 y 2) o Sound Galaxy NX Pro (modo compatible con SoundBlaster Pro 2.0 y soporte para mezcladores especiales) o SoundBlaster 16 o ProAudioSpectrum 16 (y compatible con Logitech SoundMan 16) o Advanced Gravis UltraSound (GUS) o GUS MAX (driver 2.9 y superior) o Microsoft Sound System (versi¢n 2.9 y superior) o Personal Sound System (versi¢n 2.9 y superior) Otras tarjetas de sonido, que afirman ser compatibles con una de las tarjetas de sonido soportadas, pueden funcionar si son compatibles a nivel de hardware (a nivel de registros). Algunas tarjetas que dicen ser compatibles "100% SoundBlaster", en realidad no lo son. La tarjeta Sound Galaxy NX Pro es compatible SoundBlaster. Cuando configure el driver de sonido responda "si" (yes) a la pregunta "¨ Quiere soporte para el mezclador de SG NX Pro ?" ("Do you want support for the mixer of SG NX Pro") (en versiones anteriores a la 2.9 debe a¤adir manualmente #define __SGNXPRO__ al fichero del driver de sonido local.h). Observe que si vd. tiene una Sound Galaxy NX Pro y un Logitech Busmouse, debe configurar la tarjeta (utilizando la utilidad SGPFIG) para utilizar la direcci¢n base 0x240 para poder manejar su rat¢n. La SGNXPRO tiene un modo compatible Covox Speech Thing que tiene un registro de control en la direcci¢n base+0x01C, el cual es la direcci¢n de registro de control del Logitech Busmouse, cuando la direcci¢n base de la SGNXPRO tiene un valor de 0x220 (gracias a Matti Aarnio (mea@utu.fi) por esta informaci¢n). El n£cleo de Linux tiene soporte para el puerto SCSI, proporcionado en algunas tarjetas de sonido (por ejemplo ProAudioSpectrum 16). Tambi‚n hay soporte para los dispositivos CD-ROM unidos a los puertos CD-ROM de la Soundblaster Pro y SoundBlaster (lea el fichero /usr/src/linux/drivers/block/README.sbpcd). Tambi‚n est  disponible un m¢dulo del kernel con soporte para puertos joystick, incluidos en algunas tarjetas de sonido. Tenga en cuenta que el n£cleo SCSI, CD-ROM, y los drivers de sonido son completamente independientes uno de otro. 2.2. Altavoz del PC Hay disponible un driver de sonido alternativo que no necesita ning£n hardware adicional; utiliza el altavoz interno del PC. Es en su mayor parte software compatible con el driver de la tarjeta de sonido, pero como es l¢gico con una calidad inferior y utiliza mucho m s la CPU. El resultado variar  dependiendo de las caracter¡sticas del altavoz. Para m s informaci¢n, lea la documentaci¢n proporcionada con esta versi¢n. La versi¢n actual es la 0.7, y puede encontrarla en sunsite.unc.edu en el fichero /pub/Linux/kernel/patches/console/pcsndrv-0.7.tar.gz. 2.3. Puerto paralelo Otra opci¢n es construirse un convertidor digital-anal¢gico, utilizando el puerto paralelo de la impresora. Esto proporciona una mejor calidad de sonido, pero necesitar  utilizar m s la CPU. El paquete del driver de sonido para PC incluye todas las instrucciones necesarias para construirse un DAC. 3. Configurando Linux para soporte de Sonido Los pasos siguientes son para tener soporte de sonido: 1. Instale la tarjeta de sonido. 2. Configure y construya el n£cleo para soporte de sonido. 3. Instale los ficheros de dispositivos. 4. Compruebe la instalaci¢n. 3.1. Instalando la tarjeta de sonido Para instalar la tarjeta, siga las instrucciones suministradas por el fabricante. Aseg£rese de colocar bien los puentes para la IRQ, canal DMA, etc. Si no est  seguro, utilice los par metros iniciales (por defecto). Si es posible, intente evitar los conflictos que pueda haber con otros dispositivos (por ejemplo, tarjetas ethernet, adaptadores host SCSI, puertos series y paralelos). 3.2. Configurando el n£cleo Si est  utilizando un n£cleo reciente (0.99pl14 ¢ posterior), los drivers de sonido se incluyen con la versi¢n del kernel. Siga el procedimiento usual para construir el n£cleo. Cuando ejecute make config, el programa de configuraci¢n le preguntar  las diferentes opciones de la tarjeta de sonido. Lea cuidadosamente la informaci¢n visualizada por este programa. Si est  actualizandose desde una versi¢n anterior del driver de sonido, Aseg£rese que los ficheros /usr/include/sys/soundcard.h y /usr/include/sys/ultrasound.h son enlaces simb¢licos a los ficheros correspondientes en /usr/include/linux, ¢ compruebe que contienen las l¡neas #include e #include , respectivamente. Es una buena idea leer los ficheros Readme en el directorio drivers/sound para saber cual es la £ltima informaci¢n. El fichero CHANGELOG contiene una lista de las mejoras y nuevas caracter¡sticas realizadas desde la £ltima versi¢n. Particularmente con el driver 2.90, lea esta documentaci¢n para estar informado de las incompatibilidades potenciales con las versiones antiguas de los drivers de sonido. 3.3. Creando los ficheros de dispositivos La primera vez que se configura el n£cleo del driver de sonido, necesitar  crear los ficheros de los dispositivos de sonido. La forma m s sencilla para hacer esto es cortar una parte peque¤a del shell del script, desde el final del fichero Readme.linux (¢ posiblemente Readme) en el directorio /usr/src/linux/drivers/sound, y ejecutarlo como root. Si las entradas de su dispositivo ya existen, debe asegurarse de que son correctos, es decir, /dev/audio debe contener un dispositivo mayor y menor de los n£meros 14 y 4. Si no est n, ¢ si vd. tiene duda, ejecute el script antes mencionado y reemplacelo con las entradas correctas. Algunas distribuciones antiguas de Linux suministran scripts de instalaci¢n que crean ficheros incorrectos de dispositivos de sonido. Tambi‚n puede tener un script /dev/MAKEDEV para crear los ficheros de dispositivos. Es preferible utilizar el script incluido con el driver de sonido ya que siempre se actualizar  mejor con las £ltimas versiones de los dispositivos de sonido. 3.4. Comprobando la instalaci¢n Ahora siga con los siguiente pasos para verificar el hardware de sonido y el software: 1. Reinicialice con el nuevo kernel. Siga el procedimiento normal para instalar y rearrancar el nuevo kernel (por supuesto, guarde el kernel antiguo por si hay problemas). 2. Verifique que durante la inicializaci¢n del kernel se reconoce la tarjeta de sonido. Compruebe si al encender el sistema aparece un mensaje tal como (si el desplazamiento por pantalla es muy r pido para poder leerlo, entonces utilice el comando "dmesg"): _________________________________________________________________ snd2 at 0x220 irq 5 drq 1 snd1 at 0x388 irq 0 drq 0 _________________________________________________________________ Este debe casar con el tipo de su tarjeta de sonido y sus valores. El driver tambi‚n puede visualizar algunos mensajes de error y de aviso durante el arranque. Mire bien estos mensajes cuando arranque por primera vez, despu‚s de configurar el driver de sonido. Hay varias razones posibles si cuando arranca no detecta la tarjeta de sonido: o la configuraci¢n del driver es incorrecta y el driver no ha detectado su tarjeta en la direcci¢n dada de I/O. o el driver de sonido se configur¢ para estar inactivo ¢ ha arrancado el sistema con un kernel antiguo (error de lo m s normal). 3. Compruebe el fichero de dispositivo /dev/sndstat. Leyendo el estado del fichero de dispositivo del driver de sonido, nos proporciona informaci¢n si el driver de la tarjeta de sonido se ha inicializado correctamente. Se mostrar  una pantalla parecida a esta: ________________________________________________________________ % cat /dev/sndstat Driver Sonido:2.90-2 (Fri Aug 26 20:08:45 EDT 1994 root@fizzbin.ca) Config options: 31402 Drivers instalados: Type 1: OPL-2/OPL-3 FM Type 2: SoundBlaster Card config: SoundBlaster at 0x220 irq 5 drq 1 OPL-2/OPL-3 FM at 0x388 irq 0 drq 0 PCM devices: 0: SoundBlaster Pro 3.2 Synth devices: 0: Yamaha OPL-3 Midi devices: MIDI Timers: 0: System Timer 1 mixer(s) instalado ________________________________________________________________ Si el comando cat visualiza "No hay tal dispositivo" ("No such device"), el driver de sonido no est  activo en el n£cleo. Aseg£rese que arranca con el nuevo kernel compilado. Si la salida no contiene dispositivos (PCM, Sintetizador ¢ MIDI), es que no se ha detectado su tarjeta de sonido. Verifique que la secci¢n "HW config" contiene la informaci¢n correcta. 4. Ejecute un fichero de sonido. Obtenga una muestra de un fichero de sonido, y env¡elo al dispositivo de sonido para hacer un chequeo b sico, por ejemplo: ________________________________________________________________ % cat endoftheworld >/dev/dsp % cat crash.au >/dev/audio ________________________________________________________________ (Aseg£rese de no omitir el s¡mbolo ">" en el comando anterior). Puede obtener algunas muestras de sonido del fichero snd-data-0.1.tar.Z. 5. Verifique la grabaci¢n de sonido. Si su tarjeta posee entrada de sonido, puede hacer un peque¤o test de la siguiente forma: ________________________________________________________________ # grabaci¢n de 4 segundos de audio desde un micr¢fono % dd bs=8k count=4 sample.au # sonido en play back % cat sample.au >/dev/audio ________________________________________________________________ Si pasa estos tests, puede estar seguro de que dispone de hardware y software que funciona correctamente. Si tiene problemas, lea la secci¢n FAQ de este documento. 4. Aplicaciones de Sonido con soporte Debido a que la Gu¡a del Usuario de Sonido en Linux describe con todo detalle las aplicaciones disponibles, aqu¡ s¢lo se dar  una muestra de los tipos de aplicaciones que vd puede manejar si tiene una tarjeta de sonido bajo sistema Linux. Como m¡nimo deber¡a obtener las siguientes aplicaciones de sonido: o utilidad de conversi¢n para los formatos de los ficheros de audio. (por ejemplo Sox) o utilidad de mezcla (por ejemplo aumix ¢ xmix) o lector/grabador de ficheros digitalizados (por ejemplo, play ¢ wavplay) o programa para ficheros MOD (por ejemplo tracker) o programa para ficheros MIDI (por ejemplo mp) De estas herramientas hay versiones en modo texto ¢ en modo gr fico. Tambi‚n hay algunas aplicaciones esot‚ricas (por ejemplo, sintetizadores de voz) que si lo desea, puede probarlos. 5. Respuestas a las preguntas m s habituales Esta secci¢n responde a alguna de las preguntas que normalmente se cuestionan en los grupos de noticias de Usenet y las listas de correos. 5.1. ¨ Qu‚ son los ficheros de los dispositivos de sonido ? Estos son la mayor parte nombres de los ficheros de los dispositivos "est ndar", algunas distribuciones de Linux pueden variar ligeramente los nombres. /dev/audio dispositivo de audio compatible con la estaci¢n de trabajo Sun (s¢lo una implementaci¢n parcial, no tiene soporte para el interface ioctl de Sun, justo la norma de codificaci¢n) /dev/dsp dispositivo para muestreos digitales /dev/mixer mezclador de sonido /dev/mixer1 mezclador secundario de sonido /dev/patmgr0 Patch Manager (no implementado) /dev/patmgr1 Patch Manager (no implementado) /dev/sequencer secuenciador de nivel bajo para MIDI, FM, y acceso GUS /dev/sequencer2 secuenciador de nivel alto (parcialmente implementado) /dev/midi00 primer puerto MIDI /dev/midi01 segundo puerto MIDI /dev/midi02 tercer puerto MIDI /dev/midi03 cuarto puerto MIDI /dev/sndstat cuando hace una lectura, se visualiza el estado del driver de sonido /dev/audio1 para la segunda tarjeta de sonido /dev/dsp1 para la segunda tarjeta de sonido El driver del altavoz del PC proporciona los siguientes dispositivos: /dev/pcaudio equivalente a /dev/audio /dev/pcsp equivalente a /dev/dsp /dev/pcmixer equivalente a /dev/mixer 5.2. ¨ C¢mo puedo ejecutar una muestra de sonido ? Los ficheros de la estaci¢n de trabajo Sun (.au) pueden ejecutarse, envi ndolos al dispositivo /dev/audio. Las muestras 'en vivo' env¡elas a /dev/dsp. Es preferible utilizar un programa tal como play, ya que reconocer  la mayor¡a de los tipos de ficheros y fijar , en la tarjeta de sonido, el ratio correcto de muestreo, etc. 5.3. ¨ C¢mo puedo grabar una muestra ? Cuando lee /dev/audio ¢ /dev/dsp, devuelve datos muestreados que pueden redireccionarse a un fichero. Un programa tal como 'vrec' trabaja mucho mejor, y controla el ratio de muestreo, duraci¢n, etc. Tambi‚n puede necesitar un programa de mezclas, para seleccionar el dispositivo de entrada apropiado. 5.4. ¨ Puedo tener m s de una tarjeta de sonido ? Tiene soporte para dos tarjetas de sonido. Es factible instalar una Gravis UltraSound ¢ MPU-401 con una SoundBlaster, SoundBlaster Pro, SoundBlaster16 ¢ ProAudioSpectrum16. Ahora bien, no es posible tener una ProAudioSpectrum16 y una SoundBlaster al mismo tiempo (la PAS16 tiene un emulador SB). Tampoco es posible tener m s de una tarjeta del mismo tipo, al mismo tiempo - por ejemplo, una combinaci¢n de GUS m s GUS no es posible. Puede cambiar los par metros de la configuraci¢n de la tarjeta de sonido, al mismo tiempo que arranca el sistema, utilizando las opciones de la l¡nea de comando, a partir de una cargador como puede ser LILO. Lea para m s detalles, el fichero Readme.linux del n£cleo del kernel de sonido. 5.5. Error: No hay ficheros ¢ directorio de los dispositivos de sonido Error: No such file or directory for sound devices Necesita crear los ficheros de los drivers de sonido. Lea la secci¢n de como crear los ficheros de los dispositivos. Si tiene estos ficheros, Aseg£rese que tienen fijados los n£meros de dispositivos mayor y menor (algunas distribuciones antiguas de CD-ROM de Linux no crean correctamente los ficheros durante el proceso de instalaci¢n). 5.6. Error. No hay dispositivo para el hardware de sonido Error: No such device for sound devices No ha arrancado el sistema con un kernel que contenga el driver de sonido ¢ la configuraci¢n de la direcci¢n I/O no coincide con su hardware. Compruebe que se est  ejecutando un nuevo n£cleo y verifique que los valores introducidos, cuando configura el driver de sonido, coinciden con el hardware. 5.7. Error: No hay espacio para los dispositivos de sonido Error: No space left on device for sound devices Esto puede suceder si intenta grabar datos en /dev/audio ¢ en /dev/dsp sin haber creado los ficheros de dispositivos necesarios. Ahora el dispositivo de sonido es un fichero normal, y ha llenado la partici¢n de su disco. Necesita ejecutar el script descrito en la secci¢n de Creaci¢n de los Ficheros de los Dispositivos, de este documento. 5.8. Error: dispositivo ocupado para el dispositivo de sonido Error: device busy for sound devices S¢lo puede abrirse un proceso, al mismo tiempo, para un dispositivo de sonido. Otros procesos en curso est n utilizando el dispositivo en cuesti¢n. Una forma de determinar esto, es utilizar el comando 'fuser': ________________________________________________________________ % fuser -v /dev/dsp /dev/dsp: USER PID ACCESS COMMAND tranter 265 f.... tracker ________________________________________________________________ En el ejemplo anterior, el comando 'fuser' muestra que el proceso 265 tiene un dispositivo abierto. Espere que este proceso acabe ¢ eliminelo para que pueda tener de nuevo acceso a este dispositivo, y as¡ abrirlo. 5.9. ­ Obtengo errores de dispositivos ocupados ! De acuerdo con Brian Gough, las tarjetas SoundBlaster que utilizan el canal DMA 1 tienen un conflicto potencial con el driver de la cinta QIC-02, que tambi‚n utilizan DMA 1, provocando errores de "dispositivo ocupado" ("device busy"). Si utiliza FTAPE, debe habilitar este driver. Conforme al documento FTAPE-HOWTO el driver QIC-02 no es esencial para la utilizaci¢n de FTAPE; s¢lo se requiere el driver QIC-117. Reconfigure el n£cleo para utilizar QIC-117, pero no el QIC-02, para que FTAPE y el driver de sonido coexistan. (la siguiente explicaci¢n ha sido proporcionada por Harald Albrecht albrecht@igpm.rwth-aachen.de) Algunos soportes para tarjetas de sonido utilizan el canal DMA 0. El programa de configuraci¢n para el driver de sonido le permite esto, y el kernel lo compila, pero el acceso al dispositivo de sonido le devuelve un mensaje de error "dispositivo ocupado" ("device busy"). La raz¢n es que el n£cleo de Linux reserva el canal 0 de DMA para el refresco de la DRAM. Sin embargo esto ya no coincide con las placas base 386/486, porque utilizan su propia l¢gica de refresco. Puede corregirlo, cambiando esta l¡nea en el fichero /usr/src/linux/kernel/dma.c: ________________________________________________________________ static volatile unsigned int dma_chan_busy[MAX_DMA_CHANNELS] = { 1, 0, 0, 0, 1, 0, 0, 0 }; ________________________________________________________________ Reemplace el primer 1 por un 0; esto habilitar  el canal 0 de la DMA. ­ No haga lo mismo con el canal 4 de la DMA porque no funcionar  !. Ahora el c¢digo resultante debe parecerse a esto: ______________________________________________________________ static volatile unsigned int dma_chan_busy[MAX_DMA_CHANNELS] = { 0, 0, 0, 0, 1, 0, 0, 0 }; ______________________________________________________________ Recompile y arranque el sistema con el nuevo n£cleo. 5.10. Playback parcial de un fichero de sonido digitalizado Usualmente el s¡ntoma es que una muestra de sonido toca aproximadamente un segundo y se detiene completamente, ¢ le devuelve un mensaje de error "IRQ desconocida" ("missing IRQ") ¢ "interrupci¢n de DMA" ("DMA timeout"). En la mayor parte de los casos es que vd. tenga una incorrecta IRQ ¢ un valor incorrecta para el canal DMA. Verifique que la configuraci¢n del n£cleo coincide con los valores de la tarjeta de sonido y que no provoquen conflicto con otras tarjetas. Otro s¡ntoma son muestras de sonido que "dan vueltas". Esto sucede, en la mayor¡a de los casos, por un conflicto de IRQ. 5.11. Hay pausas cuando se ejecutan ficheros MOD La ejecuci¢n de ficheros MOD requiere una CPU potente. Este problema es debido a que est  ejecutando muchos procesos, al mismo tiempo, ¢ que su sistema es demasiado lento para ejecutar estos ficheros en tiempo real. Las soluciones pueden ser: o intente hacer la ejecuci¢n con una muestra peque¤a ¢ en modo mono. o elimine otros procesos. o compre un ordenador m s r pido. o compre una tarjeta de sonido potente (p.e. la Gravis UltraSound) Si vd. posee una tarjeta Gravis UltraSound, deber¡a utilizar uno de los programas escritos espec¡ficamente para la GUS (p.e. gmod). 5.12. Corrija los errores cuando compile las aplicaciones de sonido La versi¢n 1.0c y anteriores de los drivers de sonido utilizan un dise¤o diferente e incompatible ioctl(). Obtenga un nuevo c¢digo fuente ¢ haga los cambios necesarios para adaptarlo al nuevo driver de sonido. Para m s detalles, lea el fichero Readme del driver de sonido. Adem s Aseg£rese que utiliza la £ltima versi¢n de soundcard.h y ultrasound.h cuando compile la aplicaci¢n. Lea las instrucciones de instalaci¢n al comienzo de este texto. 5.13. SEGV cuando ejecuta los ficheros de sonido que antes funcionaban Probablemente se deba al mismo problema descrito en la pregunta anterior. 5.14. ¨ Qu‚ errores conocidos ¢ limitaciones tiene el driver de sonido ? Lea los ficheros Readme y CHANGELOG, incluidos con el fuente del n£cleo del driver de sonido. 5.15. ¨ Qu‚ versi¢n del driver de sonido debo utilizar ? Necesita actualizarse si est  utilizando la versi¢n 1.0c ¢ anterior. La versi¢n 1.0c no es compatible con las aplicaciones escritas para la versi¢n 2.0 y posteriores. A partir de la versi¢n 2.0 los cambios no son significativos, as¡ si vd. no tiene problemas y la versi¢n que utiliza cumple todas sus expectativas, y no necesita m s, entonces no hace falta que cambie a una versi¢n reciente (la £ltima data de Septiembre 1.994). La £ltima versi¢n oficial la encontrar  en la £ltima distribuci¢n de Linux. Tambi‚n hallar  algunos versiones beta. Si el n£mero de la versi¢n es menor de la 2.9, entonces es una versi¢n fiable. Cualquier versi¢n del driver que sea del tipo 2.99.xx, es una versi¢n experimental y no est  completamente implementada. Si ejecuta DOOM bajo Linux, lea las cuestiones relativas en este documento. Si est  interesado en el desarrollo de drivers de sonido, unase a los activistas de Linux en el foro SOUND. 5.16. ¨ Cuales son las opciones de configuraci¢n del driver de sonido ? Durante el proceso de configuraci¢n del driver del sonido, hay un programa que se compila y ejecuta. Este programa le har  una serie de preguntas y generar  el fichero de cabecera local.h, que define la configuraci¢n de la tarjeta de sonido. El fichero de configuraci¢n define (¢ no define) los siguientes s¡mbolos: S¡mbolo Significado ======= =========== KERNEL_SOUNDCARD habilita/inhabilita el driver de sonido EXCLUDE_PAS soporte para ProAudioSpectrum EXCLUDE_SB soporte para SoundBlaster EXCLUDE_ADLIB soporte para AdLib EXCLUDE_GUS soporte para Gravis UltraSound EXCLUDE_MPU401 soporte para el interface MPU-401 MIDI EXCLUDE_UART6850 soporte para UART 6850 MIDI EXCLUDE_PSS soporte para Sistema de Sonido Profesional EXCLUDE_GUS16 soporte para Gravis UltraSound EXCLUDE_GUSMAX soporte para Gravis UltraSound Max EXCLUDE_MSS soporte para Microsoft Sound System EXCLUDE_SBPRO soporte para SoundBlaster Pro EXCLUDE_SB16 soporte para SoundBlaster 16 EXCLUDE_AUDIO soporte para voz digitalizado EXCLUDE_MIDI soporte para interface MIDI EXCLUDE_YM3812 soporte para sintetizador FM (YM3812/OPL-3) EXCLUDE_SEQUENCER soporte para secuenciador MIDI EXCLUDE_PRO_MIDI soporte para SoundBlaster Pro MIDI EXCLUDE_CHIP_MIDI soporte para MIDI en CHIP SBC_BASE 0x220 direcci¢n base de la SoundBlaster I/O SBC_IRQ n£mero de la IRQ en la SoundBlaster SBC_DMA canal DMA en la SoundBlaster SB16_DMA canal DMA en la SoundBlaster 16 SB16_MIDI_BASE direcci¢n base del puerto de SoundBlaster 16 MIDI PAS_IRQ n£mero de la IRQ de la ProAudioSpectrum PAS_DMA canal DMA de la ProAudioSpectrum GUS_IRQ n£mero de la IRQ de la Gravis UltraSound GUS_DMA canal DMA de la Gravis UltraSound GUS_BASE direcci¢n base de la Gravis UltraSound MPU_IRQ n£mero de la IRQ de la MPU-401 MPU_BASE direcci¢n base del puerto de MPU-401 DSP_BUFFSIZE tama¤o del buffer de la DMA Otros tambi‚n pueden definirse y crearse; coloque datos tales como el nivel de revisi¢n del driver de sonido y la fecha de cuando se configur¢ y ejecut¢. Hay otros par metros que no los coloca el programa de configuraci¢n. Si necesita cambiarlos, edite el fichero sound_config.h. Para inhabilitar el driver de sonido, ejecute 'make config' y responda "no" a la pregunta "¨ Soporte para tarjeta de sonido ?" ("Sound card support?". 5.17. ¨ Qu‚ mejoras est n previstas para el driver de sonido ? El driver de sonido no se ha hecho ex-profeso para Linux, tambi‚n tiene soporte para los sistemas operativos Unix basados en la plataforma Intel. El conjunto ahora se denomina "VoxWare". Algunas de las mejoras que se est n considerando son: o implementaci¢n completa del soporte MIDI o soporte para solucionar errores o documentaci¢n del driver de la tarjeta de sonido (Gu¡a del Hacker) o soporte para nuevas tarjetas de sonido o miscel nea de errores fijos 5.18. ¨ Donde se localiza la documentaci¢n sobre el driver de sonido ioctls() etc. ? La documentaci¢n se encuentra en la Gu¡a del Hacker en VoxWare, generalmente disponible en modo borrador. La £ltima versi¢n es draft 2, y puede localizarse en nic.funet.fi en /pub/OS/linux/ALPHA/sound. Observe que este directorio es "oculto" y no se mostrar  en el listado de directorios. Si hace "cd" al directorio y utiliza el comando "dir" en FTP, los ficheros se visualizar n. 5.19. ¨ Qu‚ requerimientos de CPU son necesarios para tocar ¢ grabar sin pausas ? No hay una respuesta f cil para esta pregunta, y depende de: o si utiliza muestras PCM ¢ s¡ntesis FM o ritmo de muestra y tama¤o de la muestra o que aplicaci¢n se utiliza para tocar ¢ grabar o Hardware de la tarjeta de sonido o ratio de I/O del disco, velocidad de la CPU, tama¤o del cach‚, etc. Por lo general, cualquier m quina 386 deber¡a ejecutar muestras ¢ m£sica sintetizada FM, en una tarjeta de sonido de 8 bits. Ejecutando ficheros MOD se consumen muchos recursos de la CPU. Algunas mediciones experimentales muestran que ejecutar a 44 kHz requiere m s del 40% de la velocidad de un 486/50 y un 386/25 dif¡cilmente puede ejecutar m s de 22 kHz (todo esto con una tarjeta de sonido de 8 bits, tal como la SoundBlaster). Una tarjeta tal como la Gravis UltraSound posee m s funciones implementadas en el hardware, y por lo tanto necesita menos requerimientos de la CPU. Asumimos, para lo dicho en el p rrafo anterior, que la CPU no est  ejecutando otras tareas que requieran un proceso intenso de la CPU. Convertir ficheros de sonido ¢ a¤adir efectos es mucho m s r pido si nuestro sistema utiliza un coprocesador. El driver del n£cleo, por si mismo, no hace c lculos en coma flotante. 5.20. Problemas con una PAS16 y un adaptador host Adaptec 1542 SCSI (la siguiente explicaci¢n la ha proporcionado seeker@indirect.com) Linux s¢lo reconoce la 1542 en la direcci¢n 330 (por defecto) ¢ la 333, y la PAS s¢lo permite la emulaci¢n MPU-401 en la direcci¢n 330. A£n cuando vd. inhabilite por software la MPU-401, habr  un conflicto con la 1542 si utiliza las direcciones tomadas por defecto. Moviendo la 1542 a la direcci¢n 333 todo funcionar  perfectamente. Adicionalmente, la 1542 y la PAS-16 efect£an DMA a 16-bits, as¡ si ejecuta una muestra a 16 bits 44 kHz est‚reo y graba el fichero en una unidad SCSI por medio de una 1542, entonces tendr  problemas. Las DMAs se solapan y no hay tiempo suficiente para el refresco de la RAM, y por consiguiente se visualizar  el mensaje "ERROR DE PARIDAD - SISTEMA PARADO" (``PARITY ERROR - SYSTEM HALTED'', sin saber cual ha sido la causa. Esto ha salido mal debido a que hay algunos vendedores del QIC-117 que recomiendan fijar un n£mero en el bus on/off para que sea igual al de la 1542. Obtenga el programa SCSISEL.EXE de la BBS de Adaptec, ¢ de red INTERNET, y reduzca el valor de BUS ON ¢ incremente el valor en BUS OFF hasta que el problema se soluciones. SCSISEL cambia los valores de la EEPROM, y de esta forma no har  falta incluir una l¡nea en el CONFIG.SYS, y trabajar  sin problemas bajo Linux. Ultimo problema - los antiguos chipset Symphony reducen dr sticamente el tiempo del n£mero de ciclos I/O para aumentar los accesos al bus. Ninguna de las diferentes tarjetas que se han probado ha habido problemas, excepto con la PAS-16. La BBS de Media Vision posee el programa SYMPFIX.EXE que ha de solventar el problema, por medio de ejecutar un bit de diagn¢stico en la controladora del bus del Symphony, ahora bien, esto no es una garant¡a segura. Puede necesitar lo siguiente: o obtenga la placa base de su distribuidor para reemplazar el chip antiguo, o reemplace la placa base, ¢ o compre una tarjeta de sonido diferente Young Microsystems actualiza las placas que ellos importaron por 30 d¢lares USA; otros vendedores har n lo mismo, si comprueban que ellos han importado las placas base. El problema est  en el chip del interface del bus de la ProAudio (en lo que al autor le concierne); nadie compra una tarjeta de 120 d¢lares, y la enchufa en un AT a 6 Mhz. La mayor¡a la utilizar  en m quinas 386/486 que funcionan a 25-40MHz, y si los chips se han dise¤ado correctamente, deben manejar como m¡nimo velocidades de bus de 12 MHz. El primer problema depende del chipset utilizado en su placa base, el cual acelera el bus y fija otros valores de la BIOS. El segundo problema depende de los valores de la opci¢n de refresco (oculto ¢ sincrono), la velocidad de la DMA 1542 y (posiblemente) la velocidad del bus I/O. El tercero puede determinarse llamando a Media Vision y preguntar que chip Symphony es incompatible con su dise¤o. 5.21. Problemas con el sintetizador FM en una SoundBlaster Pro1 La nueva SB Pro tiene un chip OPL-3 FM, y sin embargo la versi¢n antigua 1 utiliza un OPL-2. El driver de sonido asume la presencia OPL-3. La versi¢n 2.5 del driver de sonido corrige este problema. 5.22. ¨ Tiene soporte la GUS-MAX ? Con el driver de sonido 2.5a, no tiene soporte impl¡cito la GUS-MAX, pero trabajar  parcialmente. El driver no reconoce las mejoras, tales como el mezclador ¢ el muestreo de 16 bits. Arranque su sistema e inicialice la tarjeta bajo MS-DOS y a continuaci¢n reinicialice el ordenador, pero ahora bajo Linux (utilizando ctrl-alt-del), y as¡ funcionar . Hay soporte para la GUS-MAX a partir del driver de sonido 2.9. 5.23. ¨ Que sucede si no hay soporte para mi tarjeta ? Primero, Aseg£rese que realmente no tiene soporte para su tarjeta de sonido. Unas cuantas de tarjetas de sonido son compatibles con las tarjetas soportadas (por ejemplo, Logitech SoundMan 16 es compatible con la ProAudioSpectrum 16). Pregunte en la red ¢ en canal SOUND de los activistas de Linux. Si su tarjeta, verdaderamente, no est  soportada, aqu¡ tiene algunas opciones: o reemplacela por una tarjeta de sonido que tenga soporte. o escriba vd. mismo el driver. o escriba a Hannu Savolainen para que a¤ada soporte al driver de sonido. La Gu¡a del Hacker de Voxware tiene algunos comentarios sobre las tarjetas que tendr n soporte en un futuro. 5.24. ¨ Es posible leer y escribir muestras simult neamente ? El hardware tiene sus limitaciones, esto no es posible con la mayor¡a de las tarjetas de sonido. La £nica tarjeta soportada que puede hacer esto es la ProAudioSpectrum16. Para m s informaci¢n lea la secci¢n "modo bidireccional" en la Gu¡a del Hacker de Voxware. 5.25. Mi SB16 est  colocada en la IRQ 2, pero la configuraci¢n no permite este valor. En las m quinas 286, la interrupci¢n IRQ 2 est  en cascada a la controladora de la interrupci¢n secundaria. Es equivalente a la IRQ 9. 5.26. ¨ Est n soportadas la SoundBlaster AWE32 ¢ la SoundBlaster16 ASP ? Creative Labs no est  dispuesta a dar informaci¢n sobre la programaci¢n de los chips ASP y Emu de sus tarjetas. A menos que cambien su pol¡tica, de momento no hay soporte bajo Linux. La tarjeta Gravis UltraSound tiene capacidad similar a la AWE32, y tiene soporte bajo Linux. Las tarjetas basadas en otros DSPs, tales como la Analog Devices ADSP-21xx en un futuro tendr n soporte. 5.27. Si ejecuto Linux, despu‚s de arrancar el DOS, obtengo errores y/o las aplicaciones de sonido no trabajan correctamente. Esto acontece despu‚s de una reinicializaci¢n desde el DOS, por software. Algunas veces los mensajes de error son enga¤osos, y se refieren a una mala configuraci¢n del CONFIG.SYS . La mayor¡a de las tarjetas de sonido actuales tienen software programable para modificar los valores de IRQ y DMA. Si vd. utiliza valores diferentes para Linux y MS-DOS/Windows, entonces puede tener problemas. Algunas tarjetas de sonido no aceptan nuevos par metros sin haber hecho previamente un reseteo (por ejemplo, encender de nuevo el ordenador ¢ pulsar la tecla de reset). La soluci¢n r pida para este problema es hacer un reseteo completo del sistema, utilizando para ello la tecla de 'reset' ¢ encender de nuevo el ordenador si la reinicializaci¢n se ha efectuado por software (p.ejemplo Ctrl-Alt-Del). La soluci¢n correcta es asegurarse de que se utilice la misma IRQ y DMA tanto en MS-DOS como en Linux (¢ no utilice el DOS :-). 5.28. ¨ Vd. dice: necesito configurar y establecer un n£cleo - c¢mo lo hago ? Esto no es el n£cleo HOWTO. A menos que uno lo haya escrito, intente leer el fichero /usr/src/linux/README; es lo m s razonable. Si vd. realmente no quiere compilar un kernel, deber¡a ser capaz de encontrar un n£cleo precompilado, que tenga los drivers que vd. necesita (por ejemplo, la serie "Q" de Slackware). 5.29. Problemas al ejecutar DOOM bajo Linux Estas notas pueden ser de inter‚s para los usuarios de la versi¢n reciente del juego DOOM para Linux. Para correcta audici¢n de sonido, necesitar  la versi¢n 2.90 ¢ posterior del driver de sonido; que tiene soporte para el nuevo modo de tiempo real del DOOM. Las muestras de sonido son de 16 bits. Si vd. posee una tarjeta de sonido de 8 bits, localice un programa llamad sndcvt que convierte los datos de 16 a 8 bits. Tambi‚n puede tener un parche del server del sonido DOOM; los detalles se explicaba en el fichero README. Si la ejecuci¢n del DOOM es lenta en su sistema, desactive el sonido (renombrando el fichero sndserver) y ver  como mejora. A £ltima hora de escribir este original en ingl‚s, DOOM para Linux no posee m£sica de fondo. 5.30. ¨ Como puedo reducir el ruido producido en mi tarjeta de sonido ? Utilizando un cable blindado de buena calidad e intente colocar la tarjeta de sonido en diferentes slots. Si la tarjeta de sonido posee un control de volumen, intente probar diferentes posiciones . Utilizando un programa de mezclas, Aseg£rese que la ganancia de las entradas (por ejemplo, el micr¢fono) est n colocadas a cero. Algunas tarjetas de sonido no tienen un buen blindaje y buena masa; y por lo tanto son propensas a captar todo el ruido posible. Finalmente, en mi sistema he encontrado que la l¡nea de comando del n£cleo no-hlt reduce el nivel de ruido. Este le dice al n£cleo que no utilice la instrucci¢n la instrucci¢n de parada cuando est‚ inactivo el proceso. Intente hacer esto manualmente cuando arranque el sistema, ¢ a¤ada en el fichero de configuraci¢n LILO el comando "no-hlt". 5.31. Ejecuto sonidos, pero no los graba. Si puede ejecutar sonido pero no grabarlo, intente estos pasos: o utilice un programa de mezcla para seleccionar el dispositivo apropiado (por ejemplo, el micr¢fono). o utilice el mezclador para fijar la entrada de ganancia al m ximo. o Si puede, intente hace una grabaci¢n bajo MS-DOS para determinar si el problema est  en el hardware. 5.32. Mi tarjeta de sonido "compatible" s¢lo funciona si la inicializo primero bajo MS-DOS. Algunas tarjetas de sonido cl¢nicas no son 100% compatibles a nivel de registros; algunas contienen circuitos extras tales como mezcladores. Para poder utilizarlas bajo Linux debe primero, inicializarla bajo MS-DOS, y despu‚s arrancar Linux (p.e. Ctrl-Alt-Delete). Un usuario coment¢ que se obtienen mejores resultados si se utiliza LOADLIN en vez de LILO, una vez que se ha inicializado la tarjeta de sonido bajo MS-DOS (utiliza la tarjeta de sonido Diamond)., La soluci¢n mejor es enterarse, por medio del vendedor, que diferencias hay y si tienen soporte a¤adido a trav‚s de drivers de sonido. Esto es v lido para la Sound Galaxy NX Pro.