Category Archives: Audio

¿Ripear un CD simplemente arrastrando una carpeta? Con KDE, se puede

3
Filed under Audio, Config. S.O., Kubuntu 7.10 AMD64

El colmo de la usabilidad. Me ha dejado con la boca abierta. Amo a mi escritorio KDE… He metido un CD en el lector, se ha montado automáticamente y, cuando lo he abierto con Konqueror (o Dolphin, su futuro sustituto) me encuentro con:

Carpeta “CDA” con un archivo .cda (el formato CD Audio en el que vienen siempre los CDs) por cada pista del disco.
Carpeta “CD completo” con un archivo único que contiene todas las pistas en .cda, .mp3, .ogg y .wav.
Carpeta “Información” con un archivo .txt que contiene la información del disco, sacada de la base de datos en Internet CDDB.
Carpeta “MP3” con un archivo en .mp3 por cada pista del disco.
Carpeta “Ogg Vorbis” con un archivo en .ogg por cada pista del disco.
Un archivo .wav por cada pista del disco.

Todo esto, renombrado según la información obtenida de CDDB.

Increíble. Con sólo arrastrar la carpeta Ogg Vorbis al escritorio tengo un ripeo del disco, bien renombrado y con etiquetas. Realmente estas carpetas son virtuales, ya que no existen en el CD original, y por ejemplo cuando arrastro la carpeta Ogg Vorbis tarda más de lo normal porque está ripeando el disco en ese momento.

¿Cómo puedo personalizar el nombre de los archivos, la calidad del ripeo, etc.? Pues modificando los parámetros de Menú K > Preferencias del sistema: Advanced: Codificación de audio, como bien se explica en la documentación de KDE. En mi caso, como ya mencioné una vez, me gusta tener mi música en .ogg de calidad “8”.

Convertir .ape en algo reproducible y convertir temas a .ogg

3
Filed under Audio, Kubuntu 7.04 AMD64

[Actualización 7/3/2008: Olvida todo lo demás. Instala soundKonverter (el paquete soundkonverter está en los repositorios) y punto.]

El formato .ape (MAC, Monkey’s Audio Codec) es un formato de compresión de audio sin pérdidas, similar a .flac (FLAC, Free Lossless Audio Codec, de código abierto, y bien soportado en Linux). El principal problema del Monkey’s Audio es que tiene una licencia confusa que impide que esté disponible desde los repositorios de la mayoría de las distribuciones. Oficialmente no hay soporte para Linux, y por parte de los demás, pues muy poquito.

Parece que se pueden reproducir .ape en Linux a través del plugin MAC para Audacious (un fork de XMMS que se encuentra en los repositorios).

Pero lo mejor al encontrarse frente a un disco/tema en .ape es descomprimirlo rápidamente en .wav y recomprimirlo en .flac (sin pérdidas), o lo que hago yo, convertirlo en .ogg (Ogg Vorbis, similar al .mp3 pero de código abierto, y con un poco más de calidad para un bitrate equivalente).

Instalar el compresor de .ape

  1. Desde la página de descargas de la web oficial me bajo la última versión del compresor, MAC_401b2.exe (para Windows), y la instalo con Wine.
  2. Lo abro, añado los archivos .ape, lo configuro en “modo descompresor” (Mode > Decompress) y los descomprimo en archivos .wav. Es curioso, pero no reconocía los archivos de un disco montado en /media/. Así que los copié a una carpeta en el escritorio y listo.

Bueno, no ha sido tan difícil :D

Convertir .wav a .ogg u otro formato

Tengo muchas opciones:

1. Usando un script de Amarok
  1. Instalo el script necesario abriendo Amarok, yendo a Herramientas > Gestor de scripts y seleccionando “Audio Format Converter”.
  2. Creo una lista en Amarok con estos archivos (en caso de tener un .cue, añadiría este archivo para que la información de las pistas se incluyera).
  3. Ejecuto el script.

Como me gusta crear .ogg con una calidad “8”, modifico el script añadiéndole esa opción (la otra opción es seleccionar “OTHER” y escribir “-q 8“). En la línea 80:

    elif outputFormat == ".ogg":
        options = "-q " + os.popen("kdialog --menu "Choose a quality level for the encoded files, or choose OTHER to enter your own options." "0" "Lowest Quality (0)" "3" "Good Quality (3)" "6" "Great Quality (6)" "8" "Mi preferida (8)" "10" "Insane Quality (10)" "OTHER" "OTHER"").readline()[:-1]

El problema es que nombra los archivos creados usando los datos de la librería de Amarok, y en caso de tener un .wav sin etiquetas, sobreescribiría el mismo archivo según los va creando. Como no me gusta ir toqueteando el script (porque antes debería aprender qué debo de toquetear), dejo esta opción para otros casos (como por ejemplo, cuando quiera convertir la música a un .ogg de menos calidad para llevarla en el móvil).

2. Usando un script autónomo

Me refiero a un script que no forme parte de otro programa. He encontrado este estupendo script en el blog de Bakará.

3. Usando la temida consola

La verdad es que es tan estúpidamente simple que me he replanteado mi odio irracional hacia ella ;)

Por ejemplo, voy a la carpeta donde están los .wav y escribo:

$ oggenc -q 8 *.wav

Con esto codifico todos los archivos acabados en .wav con una calidad “8” (unos 256 kbps). Se crean archivos con el mismo nombre que los .wav pero con extensión .ogg. Por supuesto, esa sencilla línea se puede complicar todo lo que se quiera añadiendo argumentos (escribiendo “oggenc –help” sale una muestra). De hecho, las opciones anteriores a esta de usar la consola lo que hacen es enmascarar esta línea mediante una interfaz más amigable, nada más.

4. Usando dBpoweramp a través de Wine

dBpoweramp era mi solución cuando estaba en Windows. No lo he probado en Linux, pero dicen que a través de Wine funciona.

Conclusión

La consola mola (joer, nunca pensé que diría esto xD) y el script de Bakará también es una buena opción, la mejor si no quieres tener que acordarte del comando “oggenc“.

El script para Amarok tiene sus limitaciones, aunque como está integrado en Amarok está al alcance de la mano. Pero sinceramente, no creo que lo use nunca. Y, en la reserva, siempre está la opción de emular los programas de Windows. Pero sólo como último recurso.

Controlador MIDI en Linux

1
Filed under Audio, Hardware, Kubuntu 7.04 AMD64

Para lograr que funcione un controlador MIDI (teclado) en Kubuntu, hay que instalar dos paquetes:

  • QjackCtl
    Es una GUI (interfaz gráfica) de JACK Audio Connection Kit, un servidor de sonido (audio server queda más bonito) que sirve para interconectar –vía software– las salidas y entradas de todos dispositivos de audio del equipo.
  • Qsynth
    Es una GUI de FluidSynth, un sintetizador libre. Transforma las señales MIDI en sonido, creándolo a partir de un banco de sonidos. En esta entrada del blog del Proyecto OpenPipe lo explican todo muy clarito.

Una vez instalados estos paquetes (con sus respectivas dependencias) vía Adept, he seguido las instrucciones de instalación de QSynth, abriendo la consola y escribiendo:

$ qsynth -a alsa

Se supone que esto inicia jackd (el demonio –proceso– de JACK) para ALSA al arrancar el programa, y que esta orden se mantiene en futuros inicios, por lo que no es necesario repetirla. No estoy seguro de que este ajuste sea necesario, porque para algo he instalado QjackCtl (estará abierto siempre que vaya a usar Qsynth). Pero bueno, lo dejo escrito por si acaso…

Los dos programas se encuentran en Menú K > Multimedia > JACK Control y QSynth.

Abro ambos, y en JACK Control pulso en Connect, en la pestaña ALSA, y conecto K61 a FLUID Synth (Si Qsynth no estuviera abierto no saldría FLUID Synth). Con esto envío las señales MIDI del controlador al sintetizador. Si ahora pulso el botón Patchbay de JACK Conect, puedo guardar este ajuste en un archivo xml externo, para poder importarlo fácilmente. Ah, y no me olvido de iniciar el JACK Audio Connection Kit pulsando en Start.

En Qsynth, si pulso una tecla cualquiera del controlador, debería encenderse un LED virtual (el de la izquierda de la pestaña Qsynth1). Pero no se oirá nada, ya que para ello necesito algún banco de sonido (soundfonts). En este artículo de la Wikipedia enlazan a algunas webs de bancos de sonido, y he leído comentarios que dicen que en cualquier red P2P hay miles de ellos, ocupando gigas y gigas… Por ahora he visitado SoundFonts.it y HomeMusician.net, que tienen muchos archivos en descarga directa.

Qsynth admite bancos de sonido en formato .sf2, un estándar de facto creado por Emu Systems para Creative Labs. El caso es que los bancos de sonido no suelen encontrarse en .sf2, si no que suelen venir comprimidos en un formato específico y propietario, .sfArk o .SFPack.

  • Para descomprimir .sfArk: ir a la página de MelodyMachine y descargarse e instalar la versión para Windows, a través de Wine (la versión para Linux no es de 64bits, por lo que no se puede ejecutar en mi Kubuntu AMD64).
  • Para descomprimir SFPack hay que descargarse el extractor de esta página (funciona a través de Wine).

Una vez que tengo algún .sf2 puedo, en Qsynth, pulsar el botón Setup…, y añadir los bancos de sonido en la pestaña Soundfonts. Importante: no acepta rutas con acentos.

Una vez hecho esto, las pulsaciones del controlador producirán sonido. Pero en mi caso los sonidos tenían artefactos. Lo he solucionado modificando el valor de Setup… > Audio: Buffer Count, elevándolo hasta 32 (por defecto era 4).

El único problema que tengo es que en el panel de mensajes de Qsynth sale lo siguiente al pulsar una tecla del controlador MIDI:

fluidsynth: warning: ALSA sequencer buffer overrun, lost events

Ya veré cómo lo soluciono, porque la verdad es que hay una cantidad inmensa de opciones que no tengo la menor idea de lo que quieren decir…

Reproducir audio y vídeo desde Swiftfox

0
Filed under Audio, Internet, Kubuntu 7.04 AMD64, Vídeo

Introducción

Estoy acostumbrado a Firefox y sus extensiones, que utilizaba en Windows. Por eso en Kubuntu instalé Swiftfox y casi todas las extensiones que usaba. Pero por desgracia aún existen algunos problemas:

  • Reproducir flash (lo solucioné aquí)
  • Reproducir audio y vídeo (mp3, mov, avi, divx…)
  • Fallos menores (como que el corrector ortográfico no proponga palabras correctas en un cuadro de texto al hacer clic derecho en una palabra subrayada en rojo, o no dar la posibilidad de añadir nuevas palabras, o que en la ventana de descargas no funcionen los enlaces para abrir el archivo descargado o la carpeta de descargas)

En esta entrada me centraré en lograr reproducir audio y vídeo desde Swiftfox, porque existen dificultades al tener un SO de 64 bits y ejecutar un programa que usa plugins de 32 bits (Swiftfox es de 64 bits y es compatible con los plugins de Mozilla/Firefox 32 bits, de ahí que acepte el flash de Adobe, que aún no tiene versión para 64 bits).

Antes de seguir, aclaro que en /usr/ existen dos carpetas con librerías separadas según sean de 32 ó 64 bits, y por defecto se usa la de la arquitectura del SO. En mi caso tengo Kubuntu 7.04 (Feisty Fawn) desktop AMD64, por lo que las librerías que uso por defecto son las de 64 bits. Existen tres carpetas:

  • /usr/lib/ contiene las librerías por defecto, de 64 bits
  • /usr/lib32/ contiene las librerías de 32 bits
  • /usr/lib64/ es un enlace simbólico (un acceso directo) a la carpeta /usr/lib/

Los plugins de Swiftfox se ubican en /usr/lib/swiftfox/plugins/. Por defecto es un enlace simbólico hacia /usr/lib/firefox/plugins/, pero como superusuario lo borro y creo la carpeta plugins ahí, en /usr/lib/swiftfox/plugins/. Hago esto por si me diera por instalarme el Firefox de 64 bits alguna vez: así no tendría ningún problema con las librerías (son de 32 bits para Swiftfox y de 64 bits para Firefox). Aún así, realmente estamos mezclando librerías de distintas arquitecturas dentro de la carpeta /usr/lib/. Una solución para tenerlo todo bien organizado sería crear la carpeta /usr/lib32/swiftfox/plugins/ y enlazarla desde /usr/lib/swftfox/plugins/.

Para tener soporte multimedia en el navegador lo lógico sería instalar el paquete mozilla-mplayer (permite embeber el reproductor mplayer en un navegador basado en Mozilla) o mozilla-plugin-vlc (lo mismo pero con el reproductor VLC) desde el instalador de paquetes Adept, y copiar los plugins instalados en la carpeta de plugins de Swiftfox (como root). Pero hay un problema: no funciona. Si se inicia Swiftfox desde la consola se ven los mensajes de error, que dicen que esos plugins tienen una arquitectura errónea. Y escribiendo “about:plugins” en la barra de direcciones del navegador se ve que no se han cargado.

[Nota: kmplayer-konq-plugins (plugin para embeber KMPlayer –versión para KDE de MPlayer– en el navegador Konqueror) funciona a la perfección, al no haber conflictos de librerías]

Al lío…

Así que lo que hay que hacer es instalar los plugins en su versión 32 bits, y el reproductor MPlayer en cualquier versión (64 bits en este caso, muy sencillo usando Adept). Me baso en las instrucciones de este hilo del foro de Ubuntu-fr.org: Me voy a la web de Ubuntu que tiene listados todos los paquetes y busco “mozilla-mplayer“, con lo que llego a esta página, desde la que puedo descargar el paquete en la arquitectura que quiera, y en formato .deb.

  1. Me descargo mozilla-mplayer_3.31+main-1ubuntu1_i386.deb, para i386.
  2. No lo instalo (no me dejaría), sino que lo abro como superusuario (para que el propietario sea root) con Ark (el compresor de KDE) y extraigo data.tar.gz –o desde la consola escribiendo sudo tar -xf data.tar.gz–, y luego extraigo su contenido.
  3. Copio (como superusuario) el contenido de [carpeta extraída]/usr/lib/mozilla/plugins/ a /usr/lib/swiftfox/plugins/

Actualización 22 de febrero de 2008: Puedo extraer esos archivos como un usuario normal y copiarlos a /home/usuario/.mozilla/plugins/. Tal vez haya algún problema si se instala la versión para 64 bits de Firefox.

Si abro Swiftfox y escribo “about:plugins” aparecerán los plugins. Pero si intento reproducir un vídeo, éste se cargará hasta el 99% y no pasará nada más. Eso es así porque necesito tener instalado y configurado el MPlayer (como ya he dicho antes, éste puede ser de 64 bits). Así que lo instalo desde Adept (no sirve KMPlayer), y lo configuro para que reproduzca usando, por ejemplo, el driver gl (botón derecho en la ventana de vídeo de MPlayer > Preferences: Video). También elijo ese driver en las propiedades del plugin en Swiftfox: por ejemplo en esta página, clic derecho en el vídeo > Configure.

El único problema que tiene este método es que los plugins hay que actualizarlos a mano, cuando llegue el momento. Pero lo mismo pasa con el Flash, así que en realidad no es nada demasiado grave. Además, como el plugin lo que hace es llamar al MPlayer, y éste lo he instalado desde Adept, se actualizará automáticamente cuando deba hacerlo.