viernes, 26 de mayo de 2017

Volumio frente a piCorePlayer en la Raspberry Pi: un análisiscomparativo

Objetivos

Volumio y piCorePlayer constituyen dos de las mejores y más conocidas (especialmente en el caso del primero) opciones que podemos escoger a la hora de montarnos un reproductor de audio digital basado en ese pequeña cajita maravillosa que es la Raspberry Pi.

Kit básico de cacharreo digital por 53€: Raspberry Pi 3, microSD de 32GB, carcasa, disipadores y fuente de 5V@3A.
Me gustaría comenzar diciendo qué no es este artículo: no se trata en modo alguno de una guía o tutorial paso a paso de instalación y uso de estos reproductores.

Por el contrario, lo que vamos a hacer es enfrentar, siempre amigablemente, las virtudes y defectos de ambos desarrollos con el propósito de clarificar todo lo posible ciertos aspectos relativos a las capacidades de ambos y su adecuación a las distintas modalidades de uso y requerimientos que diferentes aficionados pueden contemplar.

El objetivo es, en definitiva, acercar el uso de estos reproductores al aficionado en general y proporcionarle elementos de juicio suficientes como para que pueda realizar una elección informada, optando directamente por el que mejor se ajuste a sus necesidades.

El artículo está estructurado, una vez superada una sección introductoria en la que comentaremos características generales de ambos, en distintos apartados en los que se analizarán comparativamente sus funcionalidades y destacarán sus particularidades, intentando en cada uno de dichos apartados de establecer un ganador parcial. Concretamente, someteremos a ambos reproductores a un análisis basado en estos aspectos:

1. Coste.
2. Compatibilidad.
3. Formatos de audio soportados.
4. Documentación y soporte.
5. Instalación.
6. Configuración y puesta en marcha.
7. Control.
8. Prestaciones y funciones.
9. Calidad de sonido.

Finalmente, trataremos de llegar a alguna conclusión cualitativa.

Vamos a ver si lo conseguimos.

Introducción y entorno de pruebas

Tanto Volumio, que es un desarrollo basado en Raspify, como piCorePlayer (al que denominaremos pCP en adelante) llevan entre nosotros aproximadamente desde el 2013 y tienen recorrido ya un largo camino de versiones hasta llegar a su estado actual (Volumio 2.163 y pCP 3.20 a 5 de mayo de 2017).

Ambas son aplicaciones estables cuyas funcionalidades se han ido enriqueciendo progresivamente desde las versiones primigenias que funcionaban en la Raspberry de 1ª generación y cuya evolución podéis seguir sin más que hacer una búsqueda en Audio Planet o echar un vistazo, por ejemplo, aquí, aquí o aquí, si os sentís inclinados hacia la arqueología audiófila digital.

Volumio y pCP hacen esencialmente lo mismo: reproducir audio digital codificado en una variedad de formatos almacenado en un dispositivo de almacenamiento local (USB o tarjeta SD) o bien en un servidor en red accesible utilizando protocolos como CIFS o NFS.

Desde un punto de vista más técnico ambos están basados en un núcleo Linux, aunque a partir de este punto las similitudes comienzan a desvanecerse en la medida en que los objetivos de diseño de uno y otro divergen.

Volumio tiene como objetivo de diseño prioritario la sencillez de configuración y uso. pCP, por su parte, surgió condicionado por el propósito original de integrarse en un entorno de reproducción Squeezebox, emulando y sustituyendo a los abandonados reproductores físicos de Logitech tales como los Squeezebox Classic o Touch.

Consecuentemente, Volumio está basado en el excelente Music Player Daemon (MPD), el conocido motor / demonio de reproducción todoterreno habitual en los tinglados Linux, en tanto que pCP se construye en torno a Squeezelite, un extraordinario emulador software de dispositivos Squeezebox reales que se puede encontrar también en el corazón de otros desarrollos como Daphile (exclusivo para arquitecturas x86), Max2Play o incluso premiados streamers de postín como el Innuos Zenith mk2 o el Sonore microRendu ¡Casi nada!

Innuos Zenith mk2: Sí, este bicho de casi 3.000€ lleva un Squeezelite (gratuito y de código abierto) en su interior.
Para comprobar las bondades de nuestros dos contendientes vamos a utilizar la siguiente colección de cacharros cuyas fotos me gustaría colgar por inclinaciones puramente audiófilopornográficas pero que no voy a satisfacer en su totalidad por aquello de que me estoy quitando:

El cepillo para vinilos contempla atónito desde su rinconcito a los extraños vecinos que han concurrido junto al amplificador.
  • Raspberry Pi 3 (la misma que podéis ver en la foto de la sección anterior).
  • Un par de tarjetas microSD de 8GB y, tengo que decir, no especialmente rápidas, clases 2 / 4.
  • Un disco duro externo USB de 2,5" auto alimentado y 640GB de capacidad.
  • Varios pendrives USB de diversas capacidades.
  • NAS Netgear ReadyNAS Ultra 4 de 12TB (4 discos x 3 TB).
  • Red local gigabit, aunque la Raspberry estará conectada a una sección enlazada con el router y el NAS a través de sendos PLC de 500 Mbps. Sí, el cableado ethernet es de ferretería.
  • Diversos artilugios de control en la forma de un móvil Android y una tableta de Apple.
  • Un amplificador multicanal Pioneer SC-LX81 en el que se han desactivado absolutamente todas las funciones de ecualización y mejora digital del sonido.
  • Unos magníficos (o eso me parece a mi) altavoces de columna Amphion Argon 3L.
  • Por fin, un pequeño pero sorprendente DAC I2S, el Allo Piano, cedido por el compañero Topelin de Audio Planet para las pruebas, conectado al mencionado receptor Pioneer por medio de cableado RCA sin demasiadas pretensiones.
Allo Piano: Un DAC pequeño pero matón (PCM5122, 384 KHz / 32 bit).

Criterio 1. Coste

Si bien es cierto que los creadores de Volumio han abierto una tienda online en la que venden desde sistemas completos hasta DACs pasando por toda clase de accesorios tales como purificadores de USB, carcasas o fuentes de alimentación, el software de reproducción es totalmente gratuito.

Volumio Shop, o de como monetizar Volumio.
pCP por su parte, tiene un carácter más amateur, sin tiendas ni aspiraciones comerciales de ningún tipo, siendo, naturalmente, también gratuito.

Por tanto esto es fácil: tenemos en este apartado un indiscutible EMPATE.

Criterio 2. Compatibilidad

Volumio está disponible para un buen puñado de plataformas hardware, además de la propia Raspberry, claro, como podremos comprobar sin más que dirigirnos a su página de descargas:
  • Raspberry Pi.
  • PC (X86/X64).
  • Odroid C1 / C2.
  • CUBOX-I.
  • Sparky.
  • Beaglebone Black.
  • PINE64.
  • UDOO DUAL/QUAD y NEO.
  • Asus Tinker Board.
pCP, en cambio solo puede funcionar... en una Raspberry. Desde la microscópica Zero hasta la 3, eso sí.

Por lo que hace a los dispositivos de audio que pueden utilizarse, ambos reproductores soportan:
  • La salida analógica integrada de la Raspberry, que con los últimos firmwares ha mejorado notablemente. Los problemas de interferencias, ruiditos, etc. han sido definitivamente solventados y la relación S/R ha mejorado enormemente. Por cierto que la Rasp no tiene DAC como tal, se utiliza una modulación PWM (Ahora Sigma-Delta de 7 bits) y una especie de filtro en su salida mini-jack (sí, de un modo análogo al audio DSD), así que la cosa tiene su mérito.
  • La conexión HDMI.
  • DACs conectados a través del puerto USB. En este hilo del foro de soporte de Volumio se recogen los compatibles, en tanto que lo propio se hace en esta página del sitio web de pCP.
  • DACs y conversores SPDIF I2S (interesantísimos) acoplados como "sombreros" (hats) sobre el conector de expansión GPIO de la Raspberry. La conexión I2S es probablemente el modo óptimo de obtener sonido de uno de estos micro-computadores puesto que se evita el problemático bus USB, que en este dispositivo está compartido con la conexión ethernet, emplea señales independientes de datos y reloj y, además, supone un camino más corto entre reproductor y DAC.
Raspberry Pi 2 con los conectores de expansión expuestos. GPIO arriba.
Las versiones actuales de los reproductores analizados cuentan con compatibilidad directa con los siguientes dispositivos I2S:
  • Volumio: 503HTA Hybrid Tube Amp | Allo BOSS / Piano / Piano 2.1 | Aoide DACII / Kazoo DAC / Zero DAC+ / Zero Digi+ | Generic I2S DAC | Hifiberry Amp / DAC / DAC Plus / DIGI | HifiBox DAC | IQaudIO DAC Plus / Pi-DigiAMP+ | JustBoom Amp Boards / DAC Boards / Digi Boards | Mamboberry LS DAC+ | pHAT BEAT / DAC | Picade HAT | pisound | RaspiDACv3 | R-PI DAC | Soekris dam 1021 | Speaker pHAT | ST400 Dac (PCM5122) - Amp.
  • pCP: Allo Boss / Piano / Piano Plus 2.1 / 2.2 | Dion Audio LOCO | ESS9023 | Generic / simple ESS9023 | Generic / simple TI5102 | HiFiBerry AMP (and +) / DAC+ (and Pro) / DAC+ Light / DAC Zero / MiniAMP / Digi and Digi+ / Digi+ Pro | IQaudIO AMP+ / DAC+ / DAC / DIGI+ | I-Sabre-ES9023 | JustBoom DAC/AMP (and Zero/AMP) / Digi (and Zero) / Mamboberry HiFi-DAC+ | RaspiDAC Rev.3x | RPi DAC.
Aquí los tenéis en una disposición más inteligible:


Dispositivos I2S soportados por Volumio y pCP.

¿A que no sospechabais que hubiera tantos chismes I2S? Varias cosas a tener en cuenta que me parece relevante mencionar:
  • La lista es (más que) previsible que se amplíe en un futuro inmediato a medida que nuevas versiones de Volumio y pCP soporten otros modelos.
  • pCP dispone de una versión estándar y otra con ciertas optimizaciones y parches específicos para audio implementados en su kernel Linux. Esta versión optimizada admite frecuencias de muestreo superiores a 192Khz y, además, soporta un número mayor de DACs I2S. La lista recogida en la tabla anterior se corresponde con los compatibles con esta versión. No obstante solo se recomienda su uso cuando se cuenta con un DAC I2S y se utiliza una conexión cableada a la red, puesto que las mencionadas optimizaciones interfieren con el correcto funcionamiento tanto de la conectividad wifi como de los DACs USB.
  • El nombre de cada dispositivo I2S ha sido reproducido tal y como aparece en los respectivos paneles de control web. Es no solo posible sino también probable que en determinados casos la denominación escogida se aplique de modo genérico a diferentes variantes de un mismo modelo o que otros basados en un hardware similar también funcionen, por lo que resulta arriesgado sin una prueba directa determinar si un dispositivo I2S específico está soportado o no en cada reproductor.
En cualquier caso, yo diría que Volumio parece ofrecer, en términos generales, una compatibilidad más amplia con distintos DACs y conversores, especialmente si tenemos en cuenta que pCP debe renunciar a ciertas funciones casi casi primarias para alcanzar el grado de compatibilidad que se refleja en la tabla anterior.

Minipunto (no sin ciertos reparos) para VOLUMIO.

Criterio 3. Formatos de audio soportados

Ambos reproductores cumplen con creces por lo que hace al soporte de distintos formatos de audio.

Volumio es capaz de reproducir prácticamente cualquier cosa en virtud de su casi universal motor de reproducción, MPD: MP3, OGG, AAC, WAV, ALAC, AIFF, FLAC, DFF, DSF, WMA, MPC, WV... y un larguísimo etcétera compuesto por innumerables y oscuros formatos mucho menos frecuentes.

El reproductor software Squeezelite en el que se fundamenta pCP, por su parte, reproduce directamente secuencias codificadas en MP3, OGG, AAC, WAV, ALAC, AIFF, FLAC, DFF, DSF y WMA, a las que hay que añadir, por obra y gracia de la conversión en tiempo real que realiza el servidor LMS al que todo Squeezebox debe conectarse, una gran cantidad de formatos de audio menos conocidos. Volveremos a los servidores LMS y su papel con respecto a pCP en cuanto alcancemos el apartado 6 de este artículo.

Por supuesto, tanto Volumio como pCP soportan de un modo ejemplar las listas CUE y son capaces de reproducir sin silencios entre pistas (en modo gapless) si la ocasión lo requiere.

Se les atragantan a ambos, sin embargo, los contenedores ISO tales como los empleados por los discos SACD o DVD-Audio. Si la reproducción directa, sin que medie una rápida e indolora extracción manual previa a DSF, de los primeros es requisito ineludible deberemos dirigir nuestra atención más bien hacia cosas como JRiver Media Center. Si además queremos reproducir ISOs o estructuras de carpetas de DVD-Audio no tendremos otra opción que Foobar, siendo este último el rey indiscutible por lo que hace a la compatibilidad con todos los formatos de audio conocidos o por conocer (¡Viva el rey!).

Concretemos pues el resultado de este apartado en un merecido EMPATE.

Criterio 4. Documentación y soporte

¿Qué hacer cuando las cosas no salen como uno quiere y el tinglado que hemos montado no acaba de funcionar correctamente? Pedir ayuda educadamente, claro está. Veamos qué clase de soporte obtendremos con Volumio y pCP.

De entrada, ambos productos son de naturaleza no comercial. No hay ningún compromiso por parte del desarrollador. No obstante, en ninguno de ambos casos estaremos solos, para eso está la Comunidad (sí, con C mayúscula).

En el caso de Volumio disponemos de abundante documentación, tanto de puesta en marcha, destinada al usuario final, como de tipo técnico, para desarrolladores que quieran ampliar las capacidades del reproductor, por ejemplo creando nuevos plugins.

La documentación de Volumio en todo su esplendor.
También existe un activo y bien organizado foro de soporte en el que participan cientos de usuarios.

Foro de soporte de Volumio.
pCP, por su parte, dispone de una guía de puesta en marcha (pelín obsoleta) en la propia web del proyecto. El lugar de referencia al que dirigirse en busca de ayuda, no obstante, es el foro de Slim Devices, que sigue más que vivo y coleando y registra una actividad pasmosa teniendo en cuenta el cadáver que es a estas alturas cualquier reproductor Logitech Squeezebox de plástico y silicio. Hay varios hilos "oficiales" sobre pCP, cada uno anunciando el lanzamiento de una nueva versión. El actual es este (pCP 3.20), pero también podéis dirigiros a alguno de los dedicados a las versiones anteriores: 3.103.00, 2.00 o incluso al hilo original, que data de enero de 2013. Muchos miles de mensajes por leer.

Hilos relativos a piCorePlayer en el subforo sobre sistemas Linux de Slim Devices.
Todo en inglés, por supuesto, en uno y otro caso. Es un buen momento de aprender... o de confiar tal vez en que en algún punto del futuro cercano la IA de turno nos haga quedar con cara de tontos a los que hemos pasado años aprendiéndolo. Por otro lado, en los foros patrios no hay demasiada información ni ayuda sobre Volumio o pCP, excepción hecha de Audio Planet, claro está (salas Planeta Digital y Otras Fuentes).

Aunque inicialmente Volumio parece ofrecer información y recursos mejor estructurados, lo cierto es que personalmente solo he tenido buenas experiencias cuando he tenido que resolver algún tipo de problema con cualquiera de los dos desarrollos.

En su momento intercambié varios mensajes con Steen, el desarrollador inicial de pCP, allá por el verano de 2013, cuando me lié a probarlo y me encontré con ciertos problemas a la hora de utilizarlo conectado a un receptor por HDMI. Hay que decir que tanto Steen como el resto de programadores que se unieron posteriormente al proyecto (PaulRalphy y Greg) se desviven por aportar soluciones a las cuestiones y sugerencias que plantean los usuarios.

Del mismo modo, tampoco fue complicado resolver otro problema en cierta versión de Volumio, relativo también al puerto HDMI, husmeando en su foro de soporte.

En fin, que dentro de la ¿inconveniencia? que supone la ausencia de un soporte comercial creo que en este caso tenemos un EMPATE.

Lo de ¿inconveniencia? va con segundas, claro. Otro día si queréis hablamos de las excelencias del soporte comercial de determinados fabricantes, o mejor dicho, de la ausencia notoria de la misma (excelencia) en cuanto lanzan su ultimísimo producto, en ocasiones a medio cocer,  y se olvidan de los anteriores. Mucho tienen que aprender. Y nosotros también, que nos tragamos productos inacabados que cuestan un dineral sin rechistar.

Criterio 5. Instalación

La instalación, en ambos casos, no tiene absolutamente ninguna complicación. Basta con descargar la imagen ISO del reproductor y grabarla en una tarjeta SD utilizando alguna de las tantas herramientas disponibles. Yo suelo recomendar Etcher, que es multiplataforma (Windows, OS X, Linux), admite imágenes comprimidas y hace lo que tiene que hacer sin complicaciones.

Etcher en acción.
A destacar que la imagen de pCP no alcanza los 90 MBytes, en tanto que la correspondiente a Volumio son ¡2,9 GBytes! (más de 30 veces mayor).

Nuevo EMPATE, por consiguiente, en este apartado.

Criterio 6. Configuración y puesta en marcha

Y llegamos a lo que probablemente sea el meollo de este artículo. Vamos a ver cuáles son los pasos básicos a seguir para dejar tanto Volumio como pCP operativos. Leed detenidamente esta sección porque será de gran ayuda para a la hora de valorar comparativamente Volumio y pCP de modo global.

Veamos...

Una vez completada la instalación basta con introducir la tarjeta SD con la imagen de Volumio o pCP en la Raspberry, conectarla a la corriente y a la red (conviene que inicialmente cableada) y esperar unos segundos a que el dispositivo arranque. Este primer arranque se toma, al menos en el caso de Volumio, más tiempo del habitual. A partir de ese momento el resto del proceso se desarrollará utilizando un navegador, que deberemos dirigir respectivamente a estas direcciones...

http://volumio.local
http://picoreplayer.local

...o explícitamente a la dirección IP obtenida por el dispositivo en su arranque, que podemos averiguar de distintas maneras:
  • Observando los mensajes de diagnóstico que aparecen por pantalla, si es que hemos conectado la Raspberry a un monitor o televisor.
  • Utilizando el panel web de administración de nuestro router, típicamente en las secciones "dispositivos conectados", "concesiones DHCP" o algo así.
  • Empleando algún escáner de redes como Angry IP Scanner (Windows, OS X, Linux), Fing (Android) o Network Analyzer (iOS).

Volumio

Comencemos por Volumio, que además dispone de una interesante función de punto de acceso inalámbrico (hotspot). Si al arrancar por primera vez detecta un adaptador wifi compatible (el de la Rasp 3 lo es), generará una red wifi con SSID propio (Volumio), a la que podremos conectarnos desde un móvil, tableta o portátil para, a continuación, completar la configuración y conectar la Rasp a nuestra red wifi o cableada de manera ya definitiva. En este modo Volumio siempre tendrá la IP 192.168.211.1 (o volumio.local). Bien pensado.

Panel de configuración del hotspot de Volumio.
Este modo, no obstante, aporta una posibilidad interesante: utilizar Volumio en un escenario en el que no se dispone de infraestructura de red local, es decir, no tenemos un router o, simplemente, no queremos usarlo. En este caso podríamos utilizar medios de almacenamiento locales, conectados a la Rasp por USB, y un móvil o tableta asociado al SSID de la red wifi que levanta Volumio de manera autónoma, para montar un sencillo sistema de reproducción independiente de cualquier red local.

A partir de este punto las cosas son innegablemente más simples e inmediatas en Volumio, que aglutina todos los ajustes en varias secciones, claramente organizadas, a las que da paso un botón en la esquina superior derecha de su interfaz web de control.

A la derecha, el menú de configuración de Volumio.
El sistema de configuración está diseñado para resultar funcional pero no intimidatorio. Acciones necesarias como son...
  • Elegir el idioma para la interfaz de usuario (menú Apariencia).
  • Seleccionar los servidores y carpetas en red en las que se encuentra nuestra música (menú Mi música).
  • Escoger el dispositivo de audio de salida (Menú Opciones de reproducción).
  • Establecer el modo de funcionamiento de la red, cableado o inalámbrico (menú Red).
  • Actualizar Volumio o devolverlo a su estado inicial (menú Sistema).
...están magníficamente resueltas, utilizando menús claros, tipografía muy legible y selectores para que todo sea cuestión de hacer clic aquí y allá. Ni siquiera es necesario escribir de modo manual la ruta o nombre de las carpetas de red, Volumio auto detecta todos los recursos compartidos y nos permite seleccionarlos con el ratón. Muy bien (otra vez). Podéis comprobar todo esto echando un vistazo a estas capturas de pantalla de alguno de los paneles de configuración, que deberían ser la envidia de más de una solución comercial.

Volumio: Selección de carpetas de música en red.
Volumio: Selección del dispositivo de audio.
Volumio: Ajustes de reproducción.
Volumio: Ajustes del control de volumen.
Volumio: Ajustes de remuestreo.
Como punto negativo, no es posible desactivar las funcionalidades de AirPlay ni de control UPnP de Volumio desde este panel de control web. Esto probablemente no será del agrado de los que prefieren mantener el software tan ligero como sea posible para conseguir una mayor calidad sonora en reproducción. En mi opinión no tiene demasiada importancia, pero no costaría nada incluir un par de interruptores adicionales en la interfaz web para controlar la ejecución de los módulos que implementan estas dos funciones.

piCorePlayer

Pasemos a pCP. Como algunos habréis intuido ya, las cosas cambian aquí. Y de qué manera. Pero antes de zambullirnos en el extenso y muy exhaustivo panel de control web de pCP, quizás sea el momento de hablar de los dos modos de funcionamiento de este reproductor. Para introducirlos, nada mejor que estos cuatro diagramas:

Diagramas 1, 2, 3a y 3b: Bloques de un sistema de streaming y correspondencia con Volumio y piCorePlayer.
En la parte superior (diagrama 1) se han representado los bloques generales que componen cualquier sistema de reproducción en streaming: Los archivos se encuentran almacenados en algún lugar, el módulo servidor accede a ellos, bien de modo local o a través de la red, bajo las indicaciones de algún tipo de controlador, y envía las secuencias de audio al reproductor. Nada nuevo bajo el sol.

Más abajo (diagrama 2), se representa la correspondencia de esos bloques funcionales con Volumio. Su corazón, MPD, hace las funciones de servidor, catalogando los archivos de audio, pero al mismo tiempo también integra el "motor" de reproducción. Dos por el precio de uno.

pCP, por su parte, puede funcionar de dos modos distintos (diagramas 3a y 3b):
  • Únicamente como reproductor (3a), para lo que requiere de la presencia de un servidor Logitech Media Server (LMS) en la misma red local a la que se conecta, servidor que por su parte se encargará de las tareas de gestión de la biblioteca musical, esté donde esté. Bueno, realmente los servidores LMS hacen mucho, mucho más que catalogar. De hecho se ocupan de todas las tareas pesadas (conversión de formatos al vuelo, remuestreo, gestión de las distintas fuentes de las secuencias de audio...). Pero esa es otra historia.
  • Aunando las funciones de reproductor y servidor (3b), cosa que es posible desde la versión 2.03 lanzada en marzo de 2016. De este modo pCP puede funcionar en una Raspberry como un sistema totalmente autónomo, de un modo análogo a lo que es el comportamiento natural de Volumio. Y lo hace bien. Muy bien, diría yo.
Esto, sin embargo, no nos va a salir gratis. Si lo que esperamos encontrar en pCP es un sistema casi, casi "enchufar y listo" como es Volumio estamos abocados a una (pequeña) decepción. Si bien los elementos a ajustar son análogos a los que hemos repasado más arriba con Volumio, nos vamos a encontrar con algunas dificultades adicionales que pueden desanimarnos a las primeras de cambio:
  • De entrada hay que tomar ciertas decisiones que inicialmente pueden resultar intimidantes ¿Versión de pCP normal u optimizada para audio? ¿Squeezelite con o sin FFMpeg? ¿Solo reproductor o también servidor?
  • La interfaz web de control de pCP está totalmente en inglés.
  • La granularidad de los ajustes es notablemente superior a Volumio. Podemos hurgar en un sinfín de lugares y toquetear docenas de opciones que Volumio astutamente esconde bajo su pulida web de control. Esto es especialmente cierto si activamos en la interfaz web de pCP los modos Advanced o Beta, que despliegan numerosos controles y funciones ocultas, algunas no obstante muy, muy convenientes que no encontraremos en Volumio.
  • El panel de control web no está tan pulido como el de Volumio. Esto se nota en cosas tan triviales como la selección de red wifi o el establecimiento del punto de montaje de un dispositivo de almacenamiento USB; sí hay que escribir ambas cosas a mano.
  • Por defecto pCP solo activa el módulo de reproducción (Squeezelite). Si deseamos que funcione de un modo similar a Volumio habrá que localizar en su panel de control la pestaña LMS y solicitar que se instale este componente. Tras ello deberemos sufrir una segunda vuelta del proceso de configuración, esta vez localizado en el propio panel web de ajustes del LMS, que por suerte sí se puede mostrar en castellano. Tranquilos, no es mortal, tan solo deberemos configurar el idioma, la carpeta con los archivos de audio y las listas de reproducción y el modo en que se gestionará el control del volumen del reproductor. Como no podría ser de otro modo, este LMS que se ejecuta en el seno de pCP puede, naturalmente, actuar también como servidor de otros reproductores, tanto de tipo software, como pCP o cualquier otro basado en Squeezelite,  como hardware, de la familia Squeezebox de Logitech (Classic, Controller / Receiver, Touch, Radio, etc.) que tengamos conectados a la misma red.
Como veis la cosa se complica. Pero no tenéis por qué creerme a pies juntillas, hagamos un pequeño recorrido por la web de ajustes de pCP y valorad por vosotros mismos si es tan fiero el león como lo pintan. De entrada, esto es lo primero que veremos al conectarnos a la web de control de pCP. Se trata de una pantalla de bienvenida presidida por una barra de menú (destacada mediante un recuadro rojo) que da acceso a los distintos paneles de configuración.

pCP: Pantalla de bienvenida del panel de control web.
Veamos qué tenemos en el área principal (Main page):

pCP: Página principal de ajustes.
Aquí se recoge información general del estado de cada una de las funciones de pCP: Squeezelite (reproductor), LMS (servidor) y Shairport (receptor AirPlay). También se puede apagar y reiniciar o actualizar, tanto el propio componente de reproducción como pCP al completo. Pero no os perdáis en la parte inferior de la captura de pantalla una serie de enlaces (de nuevo destacados en rojo) que permiten activar los distintos modos de la interfaz (básico, normal, avanzado y beta).

pCP: Selector de modo de la interfaz web de control.
Por defecto pCP arranca en modo normal, pero si pasamos a los modos Advanced o Beta (en este caso no sin antes leer y aceptar una seria advertencia en pantalla) comprobaremos como el número de ajustes aumenta notablemente.

pCP: Aviso de activación del modo beta. Asusta un pelín, ¿no os parece?
Por ejemplo, en la página principal de ajustes aparecen dos secciones adicionales con un buen montón de botoncitos:

pCP: Festival de ajustes tras activar el modo beta.
Este fenómeno se traslada, como cabía esperar, al resto de páginas de configuración, que incluso en su modo normal contienen ajustes para llenar las interfaces web de varios Volumios. La cosa alcanza niveles estratosféricos en cuanto nos asomamos a las páginas denominadas Tweaks o LMS.

Y es precisamente en las posibilidades que nos brindan unos ajustes tan detallados donde comienza a asomar el morro la superioridad de pCP sobre Volumio.

Examinemos ahora la pestaña Squeezelite. Allí, justo bajo el selector del dispositivo de audio a utilizar, nos encontraremos con un botón de sugerente nombre...

pCP: Selector y opciones del dispositivo de audio.
...que da paso a un no menos interesante panel que nos permite ajustar, en este caso, el tipo de filtro empleado por el DAC:

pCP: Ajustes específicos del dispositivo de audio.
También podemos modificar un gran número de parámetros de bajo nivel del motor de reproducción: tamaño de buffer, ajustes específicos de ALSA (la arquitectura de audio de bajo nivel de Linux), prioridad del hilo del reproducción, parámetros del remuestreo... incluso podemos establecer un script que se ejecutará al iniciar o apagar el sistema. Poco más se puede pedir.

pCP: Ajustes y más ajustes relativos a ALSA y Squeezelite.
Cabe preguntarse si es necesario tan impresionante despliegue. Y la respuesta probablemente sea que no... al menos en el 90% de los casos. No obstante, y pensando en ese 10% restante (y también en el ajuste del filtro del DAC que acabamos de comentar, que sí me parece un elemento relevante al que Volumio no nos facilita acceso), personalmente me resulta tranquilizador saber que de ser necesario es posible manipular todos estos parámetros. 

Como contrapunto a tanta exuberancia, más vale que no nos acerquemos a la pestaña de ajustes de la conexión wifi (Wifi Settings), ni tan siquiera encontraremos un triste selector de redes.

pCP: Los ajustes de la conexión wifi son poco amigos del ratón.
En la pestaña Tweaks también tenemos posibilidades inacabables, entre ellas me gustaría destacar:
  • Incrementar la frecuencia de la CPU, GPU y memoria de la Raspberry (overclocking) para conseguir que funciones más suelta. En mi opinión esto es probablemente innecesario en una Raspberry 2 o 3.
  • Configurar el envío de un paquete de datos Wake-On-Lan (WOL) a través de la red para despertar o iniciar el servidor LMS, si es que lo ejecutamos en otra dispositivo distinto a la Raspberry Pi.
  • Configurar el funcionamiento de un panel LCD o un mando por infrarrojos conectado a la Raspberry.
  • Desactivar la funcionalidad de receptor AirPlay si no la necesitamos.
  • Ajustar de un modo fino el volumen ALSA (imprescindible, por mi experiencia, cuando se emplea la salida de audio HDMI y aparecen fenómenos de saturación digital).
  • Configurar un ecualizador gráfico de 10 bandas.
  • Realizar ajustes fines sobre la temporización y sincronización de las transferencias de audio a través del bus USB, lo que permite solucionar en algunos casos problemas con ciertos DACs.
  • Programar reinicios periódicos del reproductor (para garantizar un funcionamiento siempre estable). Volumio tan solo admite la planificación del apagado.
pCP: Ajuste de la frecuencia de funcionamiento.
pCP: Wake-on-LAN.
pCP: Ajustes de pantalla LCD y control remoto por infrarrojos.
pCP: Ajustes de audio variaditos.
pCP: Ajuste fino de las transferencias USB. 
pCP: Ejecución periódica de tareas programadas.
Por último, en la pestaña LMS podremos activar el servidor de medios local, si es que deseamos configurar pCP de modo que funcione de manera autónoma, al igual que Volumio consigue gracias a su servidor MPD. Lógicamente, en caso de que ya dispongamos de un servidor LMS ejecutándose en nuestra red podemos omitir todo lo que sigue.

pCP: Panel de control del servidor LMS integrado antes de su instalación.
Del párrafo anterior se desprende una implicación que puede que no sea evidente a simple vista: Si pretendemos que nuestra Raspberry con pCP reproduzca audio contenido en unidades USB conectadas directamente a ella necesitamos activar el servidor LMS local. Impepinablemente. pCP es modular también hasta para eso.

Una vez hayamos instalado este servidor LMS utilizando el botón de inconfundible funcionalidad localizado en la parte superior de la pestaña del mismo nombre, podremos iniciarlo, detenerlo, actualizarlo, limpiar su cache, etc. etc. La versión que se instala es la 7.9, que incluye soporte para archivos DSD en formato DFF y DSF (igualito que Volumio).

pCP: Panel de control del servidor LMS integrado después de su instalación.
Los servidores de medios LMS, con carácter general, pueden catalogar y servir el contenido de discos locales y remotos, accesibles a través de la red.

Sin embargo, el servidor LMS de pCP solo es capaz de acceder inicialmente a discos USB, conectados localmente, formateados en FAT/vFAT/FAT32 y ext2/3/4. Estos discos son detectados de modo automático, pero deben montarse manualmente utilizando un panel que encontraremos también en esta pestaña de configuración, bajo los ajustes mostrados anteriormente:

pCP: Montaje de discos USB locales.
El procedimiento no es demasiado intuitivo. Hay que (1) seleccionar el disco, (2) escribir el nombre de la carpeta donde se montará (aparecerá) su contenido y (3) hacer clic en el botón Set USB Mount

pCP recordará los discos USB que hemos insertado y los mantendrá enumerados en la lista que podéis ver en la imagen anterior. Estos discos pueden pincharse en caliente, pero hay que acceder necesariamente al panel de control web para ordenar su montaje o reiniciar el reproductor.

En Volumio, por el contrario, solo tenemos que conectar un disco USB para que este se monte, su contenido sea escaneado (catalogado) y aparezca automágicamente como un ítem adicional en su menú Biblioteca, sin intervención manual por parte del usuario ni historias. Así de simple.

Y nuevamente nos toparemos ahora con el diseño modular de pCP: Si además deseamos hacer que LMS lea discos NTFS o conseguir que se conecte a carpetas de red expuestas a través de los protocolos CIFS o NFS, del mismo modo que Volumio hace de serie, será necesario realizar la instalación de una serie de sistemas de archivos adicionales:

pCP: Instalación del soporte para discos NTFS y recursos en red CIFS y NFS.
Ahora ya podremos montar unidades compartidas en red, pero nuevamente nada de auto detección de recursos compartidos o de ir pinchando por ahí con el ratón. Tendremos que introducir manualmente los parámetros necesarios: dirección IP de servidor, carpeta compartida, protocolo (CIFS o NFS), usuario y contraseña. Si es que Volumio nos tenía malacostumbrados.

pCP: Carpeta remota compartida a través de NFS montada en el sistema local.
Por otra parte, Volumio, dando nuevamente muestras de un diseño pensado para ponernos las cosas facilitas, comparte automáticamente en la red por medio de CIFS/SMB cualquier espacio de almacenamiento al que tenga acceso. Esto incluye las unidades de almacenamiento USB conectadas, el espacio libre en la tarjeta SD desde la que típica mente arranca e incluso cualquier recurso de red (NFS o CIFS) configurado en su biblioteca (esta última característica permitiría a un cliente no compatible con NFS acceder al contenido de un servidor que solo es NFS, actuando Volumio como intermediario entre ambos, interesante...).

pCP también nos ofrece una función similar, que para variar esta desactivada de serie. Encontraremos sus ajustes en la parte inferior de la pestaña LMS del panel de control de pCP (no nos olvidemos, modo beta activado). En consonancia con la filosofía de este reproductor, nos encontraremos con un panel de control muy completo en el que tendremos que escribir unas cuantas cosas antes de poner Samba (el marchoso nombre propio que recibe el módulo utilizado para compartir recursos por medio del protocolo CIFS) en marchosa marcha:

Panel de control del servidor Samba de pCP.
Aunque pudiera no parecerlo inicialmente a la vista de las opciones presentes en el panel, es posible compartir múltiples carpetas locales a pCP localizadas tanto en unidades USB como en el propio sistema de archivos alojado en la tarjeta SD, aunque siempre de modo manual.

Esta capacidad de funcionar como NAS de la que presumen ambos reproductores (concedido, en pCP con un poquito más de esfuerzo) resulta muy útil en un hipotético escenario en el que tuviéramos toda nuestra música almacenada en un disco USB local al reproductor y quisiéramos añadir o eliminar discos a o de la audioteca o, simplemente, editar tags, reorganizarla o realizar cualquier otra tarea de mantenimiento sin desplazar ni conectar físicamente el disco USB a nuestro ordenador.

Volumio dándolo todo: Almacenamiento interno, disco USB conectado y hasta carpeta de red configurada en un NAS.
Carpeta compartida a través de Samba en pCP.
No obstante la cosa no acaba aquí, nuestra travesía hacia un sistema de streaming autónomo con pCP aún no ha concluido.

Una vez hayamos conseguido montar los discos locales o carpetas remotas en pCP, será necesario indicarle a LMS dónde se encuentran para que pueda catalogar su contenido y servirlo al motor de reproducción. Esto nos lleva a un nuevo panel web de control, esta vez el habitual en cualquier servidor LMS. Para acceder a él podemos escribir en el navegador:

http://volumio.local:9000

La primera vez que accedamos a la web de LMS tendremos que superar un asistente de configuración inicial.

Primeramente se nos pedirán el usuario y clave de mysqueezebox.com, el portal de servicios utilizado originalmente por los reproductores Squeezebox de Logitech, o se nos dará la oportunidad de crear una nueva cuenta en él. Por el momento sigue siendo necesario registrar nuestro servidor LMS en él si deseamos activar algunas aplicaciones y servicios como Tidal o Spotify.

pCP: Inicio de sesión en mysqueezebox.com del LMS integrado.
A continuación deberemos indicarle a LMS dónde se encuentra almacenada la música que debe gestionar. Tendremos que dirigirlo, esta vez sí a golpe de ratón, al punto de montaje correspondiente que hayamos establecido en el panel de control del LMS de pCP:

pCP: Carpeta de música del LMS.
Para finalizar, deberemos indicar la ubicación donde se almacenarán las listas de reproducción. Escogeremos por ejemplo la carpeta /mnt/mmcblk0p2/tce/slimserver, que es donde también se guardan de modo predeterminado las preferencias y la cache del LMS en pCP:

pCP: Carpeta de listas de reproducción del LMS.
Aún tendremos que hacer varios (exactamente tres) esfuerzos adicionales para alcanzar una configuración que permita un funcionamiento equivalente al que Volumio nos regala tan graciosamente tras dedicarle apenas unos minutos de nuestro tiempo a su panel de control. En contra de lo que pudiera parecer, no os pido que paséis por todo esto por pura maldad, sino para que podáis valorar de primera mano el coste temporal que supone dejar uno y otro reproductor en condiciones similares de funcionamiento.

Pero no divaguemos ahora, tiempo tendremos de hacerlo en la última sección de este artículo.

Primero: En la interfaz web de control de LMS tendremos ahora que dirigirnos a un nuevo panel de configuración, ahora sí el propio del LMS:

pCP: Ajustes finales de configuración del LMS integrado.
Y a continuación haremos clic en la pestaña Complementos. Si es la primera vez que configuráis un LMS quizás os sorprenda la enorme variedad disponible, de hecho es esta una de las razones por la que los ecosistemas Squeezebox siguen siendo tan populares tras el abandono de los reproductores físicos por parte Logitech y su encarnación posterior en la forma de emuladores software como el Squeezelite que propulsa pCP.

Concretamente nos aseguraremos de activar DSDPlayer, necesario para que pCP sea capaz de reproducir archivos DFF y DSF.

pCP: Activación de la compatibilidad con archivos DSD en LMS.
Segundo: Echémosle una ojeada al modo en que se gestiona el volumen del reproductor. El consejo habitual es desconectar el control digital interno provisto por LMS. Para ello nos dirigiremos a la pestaña Reproductor, seleccionaremos el que representa a pCP y desplegaremos la subpágina denominada Audio, donde fijaremos el nivel de salida al 100%:

pCP: Ajustes de volumen en LMS.
Tercero y, por fin, último: Nos queda un ajuste final  (de verdad que sí) relativo al modo en que LMS nos permite ojear la biblioteca musical. Seguimos en la pestaña Reproductor pero ahora seleccionaremos el submenú Additional Browse Modes, para activar a continuación la casilla de verificación junto a Disks and folders (discos y carpetas).

pCP: Modos de exploración adicionales de LMS.
¿Para qué hacemos esto? Muy sencillo. Por su naturaleza, LMS está diseñado para gestionar una biblioteca de audio única y permanentemente accesible, bien localizada en un disco local conectado a la Raspberry Pi, bien en una carpeta expuesta en red. Esto quiere decir que si tras configurar pCP bajo esta premisa pinchamos en uno de los puertos USB de la Rasp una unidad de almacenamiento adicional, con archivos de audio distintos a los contenidos en la biblioteca principal gestionada por LMS, este se limitará a ignorarla, aunque la hayamos montado previamente utilizando el procedimiento descrito unas líneas más arriba.

Cuando se ha activado la navegación por discos y carpetas, LMS pasa a comportarse de un modo más parecido a Volumio. Si bien existirá una colección principal, interrogable utilizando un cuadro de búsqueda o variados criterios tales como artista, álbum, año de edición, géneros, etc., también se mostrará en una sección determinada el contenido del sistema de archivos local de la Raspberry, navegando en el cual podremos acceder eventualmente al contenido de la unidad USB que se ha montado. En este caso es conveniente que los archivos de audio estén correctamente organizados en carpetas por artista, álbum, etc. para facilitar su localización dado que su contenido no será indexado e incorporado al catálogo de la biblioteca.

Y eso es todo... que no es poco.

Creo que estaremos de acuerdo en que que si prima el criterio de la sencillez de configuración solo puede haber un ganador: VOLUMIO.

Criterio 7. Control

Volumio puede ser controlado de varios modos:
  • Mediante un navegador conectado a su interfaz web.
  • Empleando cualquier controlador MPD nativo, de los que podéis encontrar una lista aquí.
  • Recurriendo a un controlar UPnP. Mi preferido es BubbleUPnP (Android - 3,99€), pero también es posible utilizar otros como el diseñado para los streamers Lumin (iOS, Android - gratuito), que no deja de ser un controlador UPnP genérico compatible con otros cacharros.
Aunque el control a través de un navegador resulta universal y razonablemente cómodo y fluido, la sensación de uso sigue siendo sensiblemente distante de la que sería propia de una aplicación nativa.

Por otro lado, los controladores MPD que he probado me han parecido deslucidos con la excepción de MPaD / MPoD para iOS, que desgraciadamente ya no están disponibles en la tienda de apps de Apple. Ambas aplicaciones no se actualizan desde iOS 7 y están oficiosamente muertas. Lástima. Una alternativa actual es Soundirok (iOS - 5,49€ y Android - 3,04€), aunque no la he probado personalmente.

El uso de BubbleUPnP resulta, tal y como yo lo veo, mucho más aconsejable, pero existe una limitación importante: solo es posible utilizarlo cuando la biblioteca musical se encuentra almacenada en un servidor de medios DLNA. Y Volumio no lo es. O lo que es lo mismo, ya nos podemos olvidar de esta posibilidad si nuestra música está almacenada en un disco duro conectado a la Raspberry por USB, lo que para muchos será imperdonable.

Volumio siendo controlado por BubbleUPnP mientras se explora la biblioteca de un LMS, haciendo las veces de servidor UPnP, en mi NAS (ballena). La biblioteca conectada localmente a Volumio en un disco USB no resulta accesible.
Otro tanto ocurre si decidimos emplear la app de Lumin: una interfaz bastante maja pero, nuevamente, ni rastro de los archivos locales a la Raspberry que corre Volumio. 

Repetimos la jugada con la app diseñada para los reproductores Lumin: un bonito controlador UPnP para un streamer casi tan aristrocrático como los de Linn.
Esta limitación no lo es de las apps de control utilizadas (BubbleUPnP, Lumin) sino de la propia arquitectura UPnP/DLNA, que exige que los archivos de audio sean expuestos en la red por un componente de tipo servidor. Y Volumio no lo es. Tropezamos con un muro de piedra (digital).

Por tanto, me temo que en muchos casos el control vía web será la única alternativa aceptable. La buena noticia es que está francamente bien, siendo la experiencia de usuario entre muy chachi, cuando se utiliza un navegador de escritorio o una tableta,y simplemente usable en un móvil. Como muestra un par de botones, Volumio visto desde una tableta (idéntico aspecto al que presenta en un ordenador) y desde un móvil:

Vista web de Volumio desde una tableta: Tema en reproducción en pantalla y controles básicos.
Vista web de Volumio desde una tableta: Explorando la biblioteca por álbum.
Vista web de Volumio desde un móvil: panel de reproducción (izq.) y álbumes de la biblioteca (der.)
En el mundo Squeezebox tenemos, afortunadamente, al menos tantas posibilidades:
  • Control mediante navegador conectado a la web de control de LMS.
  • Apps específicas, de las que hay un abundante surtido: iPeng (iOS - 9,99€), Orange Squeeze (Android - 5,49€) o Squeezer (Android - gratuito).
  • Controladores UPnP genéricos, como (otra vez) BubbleUPnP, puesto que LMS envuelve con una capa de compatibilidad DLNA a todos los reproductores Squeezebox bajo su control, incluyendo, claro está, pCP.
La opción menos recomendable es la primera (control vía la web del LMS). Es completa y funcional, pero, simplemente, no está adaptada a móviles o tabletas, y presenta fallos de usabilidad importantes. A considerar solo como último recurso o como posibilidad ocasional.

Ni me molesto en poner capturas de pantalla específicas para demostrarlo.

El uso de controladores UPnP como BubleUPnP también debería considerarse. Además, en este caso y como consecuencia de la peculiar arquitectura de LMS, si la biblioteca principal reside en un disco USB conectado localmente a la Raspberry sí podremos ojear su contenido sin problemas (minipunto para pCP) Esto es así porque LMS también ejerce como servidor UPnP, de modo que su biblioteca, da igual que sea remota o local, es igualmente visible desde un controlador como BubbleUPnP.

Tampoco incluyo capturas en esta ocasión. Son indistinguibles de las que he colgado más arriba cuando demostraba el uso de BubbleUPnP para controlar Volumio.

En este supuesto (biblioteca local y controlador UpnP) el funcionamiento de nuestro tinglado de reproducción sería el siguiente:
  • El servidor LMS de pCP cataloga el contenido de una unidad de almacenamiento USB localmente conectada.
  • El servidor LMS expone esta biblioteca musical de un modo estructurado (artista, género, música nueva, etc.) ante cualquier controlador UPnP presente en la red local (como BubbleUPnP).
  • Pertrechado con su controlador UPnP preferido en un móvil o tableta, el usuario selecciona un elemento y le ordena a LMS que lo reproduzca.
  • El LMS lee los archivos de la unidad de almacenamiento, hace su magia al vuelo (conversión de formatos y tal) y le envía a Squeezelite la secuencia de audio que debe reproducir.
Un poco enrevesado... pero hermoso ¿no os parece? Son cosas del audio digital desmaterializado.

No será posible, sin embargo, acceder desde uno de estos controladores UPnP y bajo este supuesto de funcionamiento al contenido de una unidad USB secundaria pinchada ocasionalmente y de modo no permanente puesto que su contenido no se cataloga en la biblioteca de audio principal de LMS.

Vistos todos los hechos y siempre que no nos importe pagar los 9,99€ que vale, tengo que decir que en mi opinión la mejor opción de control para nuestro pCP es iPeng (ahora mismo en la versión 9). Esta app está perfectamente adaptada al ecosistema Squeezebox y permite ojear tanto la biblioteca musical gestionada por LMS (local o en red, tanto da) como cualquier dispositivo adicional conectado directamente a la Raspberry por USB, superando la limitación descrita en el párrafo anterior, dado que admite los modos de navegación extendidos que, recordad, activamos en la parte final de la sección dedicada a la configuración de este articulo (criterio nº 6), para así acceder a los archivos contenidos en discos y carpetas que no forman parte de la biblioteca musical principal. 

A mi modo de ver, iPeng sigue siendo la aplicación de control con las que el resto de aplicaciones de control deberían medirse. Sí, incluyendo la de Lumin. Recordad, iPeng solo está disponible para i-cosas, sean de tipo tableta o teléfono... no podía ser todo tan bonito, claro.

Y ahora sí que cuelgo alguna que otra captura.

iPeng: Orgía de reproductores, todos controlables y sincronizables desde un único punto.
Información extendida de la pista, destacando vistosamente sobre el modo nocturno de iPeng (colores oscuros).
Explorando todas las secciones de Spotify desde el maravilloso iPeng, esta vez en modo diurno.
Rompiendo la racha, en esta ocasión creo que es apropiado declarar a PICOREPLAYER justo vencedor, aunque el margen sea probablemente escaso.

Criterio 8. Prestaciones y funciones

Después del exceso en el que se ha terminado convirtiendo el apartado dedicado a la configuración y puesta en marcha (me horroriza dejarme cosas), voy a tratar de telegrafiar esta nueva sección porque el artículo, en términos generales se me está yendo de las manos y ya tengo ganas de liquidarlo.

Para ello, nada mejor que una contundente tabla comparativa, abierta a cualquier comentario, naturalmente, para vuestra consideración. En ella he enumerado todas aquellas funciones y características que he considerado merecedoras de enumeración, otras directamente las he omitido por considerarlas poco relevantes. Al mismo tiempo, he tratado también de agruparlas por categorías. Algunas ya han sido mencionadas en secciones anteriores, si aparecen de nuevo aquí es porque me ha parecido apropiado recogerlas junto al resto para facilitar una evaluación comparativa global. 


Tabla comparativa de funciones y capacidades.

Me gustaría mencionar que algunas de las funciones que aparecen como no disponibles en alguno de los reproductores es previsible que sí lo estén en un futuro inmediato, a juzgar por lo que se cuenta en los respectivos foros de soporte de Volumio y pCP. Es el caso, por ejemplo, de la sincronización de reproductores (Volumio) o la compatibilidad con Spotify Connect (Volumio y pCP), de hecho en estos momentos ya hay una versión del plugin de Spotify para LMS en pruebas con esta deseada capacidad.

Del mismo modo, algunas de las limitaciones y carencias que parecen desprenderse de la ausencia de determinadas funciones en la tabla pueden circunnavegarse aplicando modificaciones más profundas y delicadas en los sistemas Linux subyacentes tanto a Volumio como pCP . No obstante estos casos quedan fuera de consideración por razones obvias.

Esperaremos, veremos y actualizaremos la tabla, si procede. Entretanto, punto para PICOREPLAYER.

Criterio 9. Calidad de sonido

Preparado para una prueba ciega.
Soy consciente de que la calidad de sonido obtenida con Volumio y pCP es uno de los aspectos más importantes y, a la vez, probablemente más controvertidos de este análisis. Los que me habéis leído anteriormente ya sabéis que no me gusta dejarme llevar ni por la poesía audiófila ni por las emociones, siendo mi perfil de usuario profundamente racional y objetivista. Es lo que hay.

Por ello, el único modo que entiendo fiable a la hora de valorar esta espinosa cuestión es enfrentar en prueba de conmutación inmediata y, si se tercia, ciega a ambos reproductores.

Como no dispongo de Raspberries ni DACs por duplicado, lo único que se me ha ocurrido es hacer una comparativa en dos fases con un tercer reproductor, en este caso un Squeezebox Touch.

Detallo la prueba para los que gustéis de este tipo de detalles:
  • Fuente A: Squeezebox Touch con modificación EDO conectado por TOSLINK a receptor. No aplico en el servidor LMS ningún pre-procesamiento. Sin remuestreo y con el ajuste de volumen digital desconectado.
  • Fuente B: Raspberry Pi 3 con Volumio 2.163 conectada por RCA al mismo receptor. Ningún ajustes distinto a los de serie, sin remuestreo, control de volumen en hardware y mantenido al 100%.
  • Fuente C: Raspberry Pi 3 con Volumio 3.20 (versión optimizada para audio) conectada por RCA al receptor. Ningún ajustes distinto a los de serie en el Squeezelite o ALSA de pCP, sin remuestreo. Ajuste de volumen digital desconectado.
  • El resto del equipo empleado es el descrito en la sección Introducción y entorno de pruebas.
  • Se mide tensión en bornes de altavoces con tono de prueba de 1 Khz  sin apreciar diferencias significativas (inferiores en todo caso a 0,25 dB) entre ninguna de las 3 fuentes.
  • Utilizo iPeng como controlador para sincronizar perfectamente cada par de reproductores, que quedan enlazados y obedecen las órdenes al unísono.
Sí, ya sé lo que vais a objetar: el DAC del receptor (WM8740), que es el determinante en el caso del Squeezebox puesto que está conectado digitalmente, no es igual al PCM5122 del pequeño Allo Piano montado en la Raspberry ¿Cómo van a sonar igual? ¿Estamos locos?

En mi defensa diré que una prueba que suponga escuchar un fragmento, cambiar la tarjeta SD insertada en la Raspberry, iniciar con otro reproductor y volver a reproducir el mismo corte escuchado ya hace quizás minutos no me parece fiable. En cualquier caso, y para vuestra tranquilidad, deciros que esto también lo he hecho, con el resultado que podéis suponer y que me ha llevado a este otro procedimiento para determinar si finalmente era capaz de percibir algún cambio cualitativo en el sonido emitido o no.

Primero he enfrentado a Volumio (fuente B) con el Squeezebox (fuente A) y posteriormente he hecho lo propio con (A) y pCP (fuente C), en ambos casos practicando una escucha relajada y sabiendo de antemano qué fuente sonaba.

No he sido capaz de apreciar diferencias de calidad entre A/B y A/ C.

A continuación he repetido ambas pruebas, ahora ya en modo paranoide, conmutando insistentemente en tiempo real A/B y A/C... adelante, atrás, adelante. Un co*azo, vamos, pero todo sea por la ciencia.

Con el traje de las comuniones tratando de oír cosas. El que conmuta es mi cuñado Pedro, que como habla francés queda bien en las fotos.
Del mismo modo, me ha sido totalmente imposible encontrar diferencia alguna entre cada par de fuentes: Idéntico timbre, tono, escena, separación de instrumentos, etc. Si las hay están por encima (o debajo, según se mire) de mi capacidad auditiva o tal vez enmascaradas por otros factores como la calidad del equipo de prueba o los problemas acústicos (numerosos) ocasionados por mi (no dedicada) sala.

A la vista de esto no me ha parecido necesario poner en marcha un protocolo doble ciego riguroso, con sus intentos, porcentajes y tal.

En conclusión, ambos reproductores ofrecen, en mi opinión, exactamente la misma calidad de sonido, cuando se configuran del mismo modo.

A destacar el hecho de que un aparatito de poco más de 70€ (Rasp + accesorios + DAC Allo) suene igual que un reproductor que en su momento costaba 300€ (Touch) conectado al DAC de un receptor de más de 2.500€. Cosas, supongo, de la democratización digital que muchos siguen negando obstinadamente.

Por tanto, EMPATE.

Conclusiones finales ¿Tenemos un ganador?

Si nos limitamos a mirar el marcador nos encontraremos con esto:

  • Volumio vence en los apartados de compatibilidad y configuración (2 puntos).
  • piCorePlayer resulta superior por lo que hace a las prestaciones y a los mecanismos de control (2 puntos).
  • Ambos reproductores empatan en otros 5 de los 9 criterios analizados: Coste, formatos de audio soportados, documentación y soporte, instalación y calidad de sonido.
Juro y perjuro que este empate final a los puntos no estaba preparado, ha salido lo que tenía que salir. Tengo que reconocer que hasta el momento de preparar este artículo, cosa que me ha llevado unas tres semanas de intensas pruebas casi siempre de madrugada, estaba mucho más familiarizado con pCP que con Volumio y, debo reconocer, tenía clara preferencia por el primero.

En este sentido, cosas como el visible (y por otra parte respetable) interés del creador de Volumio en popularizar y monetizar su proyecto, en ocasiones mediante publicaciones en su blog no demasiado afortunadas en mi opinión, o el lanzamiento de una versión 2.0 con un aparente peor rendimiento, habían conspirado para conformar en mi un sesgo negativo hacia este reproductor.

Ahora que ya nos conocemos más no me importa admitir que ese sesgo ha menguado notablemente y me veo en la obligación de aplaudir el gran trabajo realizado con Volumio por su equipo de desarrollo, a pesar de que mis inclinaciones personales hacen que siga prefiriendo piCorePlayer.

Me gustaría concluir con unas recomendaciones generales que quizás sean de ayuda a la hora de decidirse por el uso de Volumio o piCorePlayer en determinados escenarios:

Recomiendo Volumio si:

  • Nuestra biblioteca musical está desparramada en varios discos USB, que pretendemos conectar a la Raspberry de modo no permanente.
  • La facilidad de puesta en marcha y sencillez de uso resultan primordiales.
  • No disponemos de infraestructura de red a la que conectar el reproductor o preferimos mantenerlo aislado de la misma.
  • Y última pero no menos importante... si le tenemos manía al módulo servidor de pCP, LMS.

Recomiendo piCorePlayer si:

  • Disponemos de una biblioteca permanentemente accesible por el reproductor, bien de tipo local (USB), o en red.
  • Deseamos integrar el reproductor con otros, quizás de diferentes tipos (AirPlay, Chromecast, UPnP), en un entorno multi habitación en el que se permita la emisión de distintas secuencias de audio, en su caso sincronizadas.
  • Queremos tener un control de bajo nivel de los ajustes del reproductor.
  • Nos gusta que solo se mantengan en ejecución aquellos módulos y componentes estrictamente necesarios.
Confío en que los lectores que hayáis conseguido resistir los embates de mi no siempre claras y concretas explicaciones y estéis ahora leyendo esto hayáis encontrado esta comparativa jugosa e interesante. Confío del mismo modo en que el presente artículo os haya permitido configurar vuestra propia opinión, que naturalmente no tiene por qué coincidir con la mía. De un modo u otro gracias por leerme hasta aquí.

Creo que me voy a tomar unas vacaciones ;-).


7 comentarios :

Anónimo dijo...

Gran trabajo en esta comparación. Muchas gracias gracias por efectuarlo, me ha servido muchísimo!

Javi dijo...

Grandiosa comparativa.
Voy a ver si soy capaz de montar picore.
Gracias por el esfuerzo

Pablo Felip dijo...

¡Muchas gracias!

Javi, la comparativa se hizo en mayo del año pasado. Ha llovido lo suyo desde entonces, especialmente en el caso de Volumio, que sigue con su política de actualizaciones un día sí y el otro también.

La mayor parte de lo dicho en el artículo sigue siendo válido. No obstante ahora Volumio ya dispone de app de control y, lo más interesante, cuenta con plugins para comportarse tanto como un cliente Squeezebox (Squeezelite) como un servidor LMS, ignorando sus raíces MPD y funcionando entonces de un modo análogo a pCP. pCP, por su parte, por fin es compatible con unidades de almacenamiento exFAT.

En fin, que esto es un no parar. A pesar de ello pCP sigue siendo mi apuesta.

Unknown dijo...

Hola quisiera preguntarte si hay alguna interfaz amigable para acceder desde android en picoreplayer ya que Volumio uno de sus principales problemas que le veo es tener que pagar al año por tenerlo en la raspberry totalmente funcional

Pablo Felip dijo...

Hay alguna que otra app de control disponible en Google Play, así de memoria: Orange Squeeze, Squeezer, Squeeze Ctrl... y seguro que alguna más.

Luis Rebolledo dijo...

Me gusto su estudio sobre las dos plataformas picore player y volumio, he probado con mucho exito volumio en pc entorno x86. Por ahora estoy probando picore y volumio en una raspberry pi zero w, Descargue su pdf "Montaje Streamer Basado en PiCorePlayer" y ahora tendre mas herramientas para evaluar picore player ya que me gusta que el software corra desde la ram y no desde la micro sd ya que el corte de energia puede ocasionar corrupcion en el software.

Pablo Felip dijo...

Muchas gracias, Luis. Personalmente siempre me ha gustado más piCorePlayer precisamente por su concepción minimalista.