Solución audio 5.1 para mp3 en integrada 661GX-M(AC'97)

Imagen de th3pr0ph3t
0 puntos

Pasé día y medio tratando de hacer que suenen los 5 parlantes que tengo, encontré más preguntas que respuestas así que envío mi solución parcial, a ver si me ayudan a mejorarla.

ALCANCE:
Llevo 3 días usando Ubuntu, usé red hat alguna vez sin mucho éxito.
Para los que tienen experiencia, esto sonará muy "para dummies".

SE APLICA A:
Tengo una placa 661GX-M, no sé si ECS o Intel, con una tarjeta de sonido integrada, el driver de windows dice "audio_realtek" y el Administrador de Dispostivos de Ubuntu (6.10) menciona AC'97. No conozco muy a fondo mi hardware, la verdad uno solo se fija en eso cuando tiene problemas con él. :$

La solución que me funcionó está en alsa.opensrc.org/Playing_stereo_on_surround_sound_setup_%28Howto%29

RESUMEN:

Creé un archivo de texto: /home/yo/.asoundrc con el siguiente contenido:

pcm_slave.miac97 {
	pcm "surround51"
	channels 6
}

pcm.!default {
	type plug
	slave miac97
	route_policy duplicate
}

Después de guardar el archivo y reiniciar, suenan los 5 parlantes sin efectos ambientales ni chocheras así, pero suenan. A veces se producen ruidos como los de un disco de vinilo pero funciona, aunque no está como para usarse en una fiesta.

Por supuesto, una solución no sirve si no se explica, a ver qué tal me va:

PRECONDICIONES:

  • La tarjeta de sonido funcionaba en 2.1 antes de empezar.
  • Tenía instalados los códecs para mp3 y divx, al escuchar un mp3 con Rhytmbox escuchaba a 2.1 sin problemas.
  • Versión de Ubuntu (6.10 Edgy Eft)
  • Usando alsamixer o haciendo clic derecho en el ícono de bandeja para cambiar el volumen, abriendo el control de volumen, los controles de Surround y Center tienen volumen y no estan enmudecidos, y Surround Jack Mode está en "Shared".
  • Desde la configuración esa, cambiar a 6, 4 o 2 canales no tiene efecto, no sé por qué.

Tengo unos parlantes 5.1 que conecto a la computadora usando las salidas de audífonos, entrada de línea y micrófono. Funcionan en GüindousEquispé.

INTRODUCCIÓN:
Entender el formato de este archivo .asoundrc es todo un problema que todavía no soluciono, lo poco que sé, lo escribo aquí.

ALSA es el sistema de sonido que usa Ubuntu, éste sistema normalmente no necesita de archivos de configuración para funcionar, pero cuando es necesario, el usuario puede alterar la configuración usando archivos .asoundrc , ya sea en la carpeta personal del usuario o en /etc/ .

PRIMERA SOLUCIÓN: LA PRIMITIVA

pcm.!default {
	type hw
	card 0
	channels 6
}

Hasta donde entendí, !default hace referencia al dispositivo de sonido predeterminado, y lo ajusta a 6 canales.
"type" especifica el tipo de plugin, "hw" es un plugin muy poco eficiente, usarlo se come todo el procesador y hay pausas en el sonido.

Mi primer error fue creer que "type" especificaba el tipo de dispositivo, en realidad dice qué tipo de plugin se usará, los siguientes valores eran parámetros para el plugin.

SEGUNDA SOLUCIÓN: LA COMÚN

pcm.!default {
	type plug
	slave.pcm "surround51"
	slave.channels 6
	route_policy duplicate
}

Es lo mismo que la que puse en el resumen, lo que pasa es que estaba tratando de arreglar el problema del sonido, quería usar varios plugins y no pude, a ver si alguien da más luz al respecto...
Esto usa el plugin "plug", le indica que envíe la salida al dispositivo "surround51" que no sé dónde estará definido, le dice que use 6 canales y que copie los canales que recibe a los canales que faltan (Surround y Center).
El plugin "plug" "enchufa" un(os) canal(es) a otro(s), entre otras cosas.
El parámetro para route_policy puede ser default, average, copy, duplicate, o se puede definir una tabla que dice qué canal va a dónde. Más detalles en http://www.alsa-project.org/alsa-doc/alsa-lib/pcm_plugins.html

Esta solución no es perfecta, me gustaría mejorarla deshaciéndome de esos ruidos, creyendo que era por falta de búfer, traté de crear uno con el plugin dmix pero no funciona, de hecho, no puedo encadenar slaves y no sé por qué.

Si entendiera bien esto de los plugins creo que hasta podría crear efectos ambientales xD

REFERENCIAS:
http:// alsa.opensrc.org/Playing_stereo_on_surround_sound_setup_%28Howto%29
http://www.alsa-project.org/alsa-doc/alsa-lib/pcm_plugins.html

Imagen de th3pr0ph3t
+1
0
-1

Corregidos los problemas en 5.1, glitches con gstreamer y sonido compartido, revisa día 4 en esta bitácora.

+1
0
-1

100% Ubuntu! :D