Skip navigation

Hace mucho que no escribía un post, pero aquí estoy de vuelta, esta entrada viene con historia.
Ayer me compré unos audífonos estéreo bluetooth (Sony DR-BT21IK por si a alguien le interesa); la verdad son bastante buenos, un precio razonable, o asi lo es por lo menos acá en Chile, me costaron lo mismo que los 2 audífonos con cable que se me han muerto (cable cortado) este año, y ademas tienen buen sonido, aunque no espectacular, son mejores que mis panasonic anteriores de todas maneras.
A principios de ali también tuve unos audífonos bluetooth (LG sonido pésimo, los devolví, eran una estafa); los cuales podía hacer funcionar perfectamente con gstreamer, pero con bastantes problemas, el que mas me molestaba era el no poder reproducir mas de 2 sonidos al mismo tiempo (ej: música y algún podcast o video de youtube) pero ahora que pulseaudio es el servidor de sonido por defecto de Ubuntu se abre un mundo nuevo de posibilidades; donde no solo pulse se encarga de hacer el mixing, sino que también puedes dirigir la salida de audio POR APLICACIÓN, ademas de manejar el volumen independientemente de la salida normal (parlantes o jack).

Ok.. el tema es bien simple:

  1. Antes que nada debes emparejar los audifonos con tu computador; la forma mas simple es usar la aplicación que provee Ubuntu (bluez), es el ícono de bluetooth en el área de notificación
  2. Debes instalar algunos paquetes; mas que nada son para configurar pulseaudio (lo siento por aquellos que no lo ocupen, de todas formas es el servidor de audio por defecto en Intrepid), asi que abrimos una consola y ponemos
    sudo aptitude install pulseaudio-utils padevchooser paprefs pavucontrol
    esto instalará unas utilidades de consola para pulseaudio y otras para el entorno gráfico (son gtk+)
  3. Para poder utilizar nuestro headset usaremos Alsa; es por esto que debemos obtener la dirección MAC de tus audífonos, para esto debes ponerlos en “modo de emparejamiento” (pairing mode) y en la querida cosola escribimos
    hcitool scan
    esto nos devolverá algo así

    Scanning ...
    00:1E:BA:36:82:15 DR-BT21G
    00:1F:E2:E9:CE:F6 Sconfro
    00:16:E8:ED:68:E0 K510i

    Esos numeros y letras extraños es la MAC; en mi caso la que importa es el primer resultado
  4. Ahora debemos editar un archivo de texto; en la consola (asumiendo que esta en el home del usuario) ejecutamos
    gedit .asoundrc
    o el editor que prefieras, en el archivo debemos agregar el siguiente texto.

    pcm.headset{
    type bluetooth
    device [Aqui la MAC del punto anterior, sin los corchetes]
    profile "auto"
    }

    con esto ALSA sabrá que tenemos una salida de audio bluetooth con esa MAC; donde dice headset puedes poner otro nombre, solo que no sea “bluetooth” u otro nombre reservado de alsa
    guarda y cierra el editor
  5. Ahora volvemos a la consola; porque debemos contarle a pulseaudio que tenemos una nueva salida; para esto usamos una de las utilidades que instalamos en el punto 1

    pactl load-module module-alsa-sink device=headset
    pactl load-module module-alsa-source device=headset

    La primera linea le dice a pulseaudio que hay un dispositivo alsa que es una salida de audio (sink); mientras la segunda le dice que hay una entrada, pongo esto porque mis audifonos tienen micrófono, aunque no lo he probado.
    Desafortunadamente esto se debe hacer cada vez que queramos usar nuestros audífonos y hayamos reiniciado el sistema; puedes hacerlo un script y que se ejecute al inicio, si no encuentra el dispositivo simplemente fallará y tendrás que ejecutarlo manualmente. Debe haber alguna forma de que ejecute los comandos al emparejar el dispositivo con el PC, solo que aun no la he descubierto.
    Hasta aqui tenemos todo listo en cuanto a configuración

Hey! esto no funciona, quiero mi dinero de vuelta

Menu pavdevchooser

Menu pavdevchooser

Aun falta algo que hacer… decir que mande el sonido a los audifonos; hay algunas variantes.. asi que primero hechamos a correr una útil aplicación: “PulseAudio device chooser” (padevchooser en una consola o en el menu Aplicaciones>Sonido y video de gnome); esta corre en el área de notificación. Si le hacemos click izquierdo nos mostrará un menu, por el momento nos interesa el “Manager…”.

manager

En la pestaña devices podemos ver que hay una salida llamada alsa_output.headset (o como le hayas puesto a la salida en alsa); si en el menú de padevchooser vas a default sink>other y pones ese nombre.. bueno todo el audio saldrá por el headset!
Por otra parte si en el menú de padevchooser entramos a “volume control” y tenemos alguna aplicación reproduciendo audio podemos dirigir el stream de esa aplicación en particular a nuestro headset.. práctico ¿no?

vol_control1

Demasiado bueno ¿no?

Si bien funciona de maravilla para lo que yo ocupo hay algunos detalles que están sin resolver:

  • Hay que ejecutar los comandos del punto 5 para poder comenzar a utilizar tu headset
  • Hay que ingresar el sink manualmente cada reinicio (cuando tenga mas tiempo veré como hacerlo por consola para ponerlo en un script)
  • No todas las aplicaciones usan PulseAudio; no he tenido tiempo de probar, pero en teoría algunos juegos no enviarian el audio a los audifonos
  • Al apagar los audifonos sin volver el sink a default o con aplicaciones dirigiendo su salida de audio al headset, pulseaudio tiende a caer, otra vez seria trabajo para un script.
  • Ya no puedo perder tiempo productivo desenredando el cable de 4 metros de mis antiguos audifonos 😛
Anuncios

9 Comments

  1. Hola amigo, sabes que sigo tu receta y cuando ejecuto el “pactl load-module module-alsa-sink device=headset” trato de emparejar mis audifonos colocando mi clave de bluetooth y me arroja el siguiente error:
    Failure: Module initalization failed

    He revisado la configuración del dispositivo bluetooth y reiniciado el servicio y nada.

    Tengo una portatil dell xps m1210 y bajo ubuntu 8.04

    Gracias

    • no recuerdo muy bien, pero creo que eso ocurre algunas veces cuando pulseaudio se cae; prodrias ver si pulseaudio está corriendo, si no lo levantas escribiendo en una consola “pulseaudio” y luego volver a poner los comandos de pactl.

      Pulseaudio es muy inestable al momento de añadir sinks de alsa, por lo que a veces hay que incluso matar a pulseaudio y volver a ejecutar el servicio junto con los comandos un par de veces hasta que funcione

  2. yo tengo el mismo problema, la primera vez que segui tu tutorial me salio todo al pelo, pero ahora los comandos me dan esa misma salida
    Fallo: Falló la inicialización del módulo
    aunque mate pulseaudio, lo vuelva a levantar y luego ejecute los comandos sigue sin funcionar… a ver si puedes comentar alguna solucion. gracias

    • Hola, si estas probando con un pulseaudio actual (por ej el que viene con fedora 11 o ubuntu 9.04) esto (ni nada que sepa) va a funcionar, al parecer es un bug del plugin de alsa para pulseaudio… Por lo que hay que actualizar a las ultimas versiones de pulseaudio, que traen módulos para usar los audífonos bluetooth de forma directa.

      Como veo que es un problema común voy a hacer un post donde voy a poner los paquetes necesarios (en ubuntu es fácil porque son paquetes que vendrán en la 9.10, se pueden usar directamente), por ahora si te manejas en el inglés puedes revisar los comentarios de este bug https://bugs.launchpad.net/ubuntu/+source/bluez/+bug/327284 ahi hay un método y un repositorio con los paquetes necesarios.

      Saludos

  3. pues espero impaciente ese post con los paquetes porque de ingles anda la cosa jodida. Grraaaacias.

  4. wow.. en esta hora eh leido como 3 manuales… para conectar el audifonos BT a ubunto.. y me kedare sin hacerlo.. y este es el mas completito..
    pero aca mi opinion.. hay ke hacer marabares y magia para hacer algo ke en windows se hace con 2 clicks.. 1 click para decubrir el audifono y otro click para conectarlo como audifono (y de paso se conecta el microfono como plus!!). nno me imagino como sera para recibir el microfono en linux.

    definitivamente hay cosas de windows ke simplemente no tienen competencia.

    • Bueno, espera karmic koala ahi lo ṕodrás hacer con un click (o ninguno si tienes tus audifonos como dispositivo confiable); en estos momentos lo conecto sin ningún click. con un pequeño script lo detecta automágicamente y lo establece como el output predeterminado mediante dbus. Con fedora 11 también lo haces solo conectando los audífonos.
      El problema principal en linux con los headsets bluetooth es la migración de la plataforma de audio hacia pulseaudio, con alsa era tan facil como conectarlo, pero no ofrece las mismas funcionalidades que pulseaudio (para bien o para mal)

      Saludos.

  5. Bueno, no se si sera demasiado tarde para responder esto pero por si acaso alguien llega aca con el mismo problema sepan que yo lo solucine con algo tan sencillo como que estaba copiando y pegando la instruccion y no me funcionaba tampoco pero al escribirla toda manualmente PAF!!!! funciona 100%. Aguante linux!!! GNU/Linux es el futuro!!!

    • Talvez sea eso, de todas formas en la nueva versión de Ubuntu (9.10 Karmic) ya cambiaron completamente a pulseaudio, con lo que solamente emparejas tus audífonos y ya estás listo, incluso puedes editar opciones y no necesitas instalar las aplicaciones de pulseaudio


Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: