Wolfson Audio Card for Use with Raspberry Pi - Review

Table of contents

RoadTest: Wolfson Audio Card for Use with Raspberry Pi

Author: mr_lindowsmac

Creation date:

Evaluation Type: Independent Products

Did you receive all parts the manufacturer stated would be included in the package?: True

What other parts do you consider comparable to this product?:

What were the biggest problems encountered?: No utilicé la imagen de sistema operativo proporcionada por Wolfson, era demasiado grande para mi tarjeta SD. Tuve que utilizar un kernel compilado por alguien de esta comunidad. Algunas cosas están bien documentadas, como el diagrama esquemático o las especificaciones del hardware, el problema es con lo relacionado al uso de la placa. Sólo provee unos cuantos scripts para utilizar los diferentes entradas y salidas del hardware, lo cuál sólo es útil al usar aplay. Al utilizar alsamixer hay demasiados controles de volumen y no es posible determinar fácilmente para que son cada uno.

Detailed Review:

image

 

Que tal amigos. Este post que les voy a compartir en vez de ser como un tutorial o guía, es mas bien una descripción de mi experiencia con la tarjeta.

 

Mi dificultad incial para utilizar esta tarjeta fué la imagen proporcionada por Wolfson. La imagen descomprimida fue mayor a 8GB, por lo que no pudo caber en mi tarjeta SD incluída con mi raspberry pi. Afortunadamente alguien en la comunidad proporcionó una versión compilada del kernel con el driver de la tarjeta, la cual utilicé con un Raspbian cualquiera, y los scripts que vienen incluidos en el demo.

 

Por el momento, sólo he probado esta tarjeta usando el Raspberry Pi de forma remota por medio de SSH. No hace falta iniciar sesión en el escritorio gráfico LXDE para poder utilizar la tarjeta, incluso se puede aprovechar el redireccionamiento de X por medio de SSH para utilizar las aplicaciones gráficas de audio para ahorrar recursos del CPU del RaspberryPi.

 

Desde la consola, en el directorio home se deben de encontrar los scripts en un directorio llamado "use_case_scripts". Al acceder a ella, se pueden encontrar los siguientes scripts:

 

Scripts

debug_info.sh

EQ_Bass.sh

EQ.sh

Listen_to_LineIn_on_Speakers.sh

Listen_to_SPDIF.sh

Playback_to_All.sh

Playback_to_EQ_Speakers.sh

Playback_to_Headset.sh

Playback_to_Lineout_EQ.sh

Playback_to_Lineout.sh

Playback_to_Speakers.sh

Record_from_All.sh

Record_from_DMIC_and_Headset.sh

Record_from_DMIC_HPF_LPF.sh

Record_from_DMIC_HPF.sh

Record_from_DMIC.sh

Record_from_Headset_and_SPDIF.sh

Record_from_Headset.sh

Record_from_lineIn.sh

Reset_paths.sh

RESET.sh

SPDIF_playback.sh

SPDIF_record.sh

 

En el manual de Wolfson, vienen descritos para que sirve cada uno de ellos. Por ejemplo, ./Playback_to_Lineout.sh es el script para reproducir audio en la salida de audio de 3.5mm.

Decidí reproducir a "Line out" los archivos que vienen de demo, con el reproductor mocp (de consola) ¡Se escucha increíble! image.

 

image

 

DMIC

Grabé con los microfonos integrados DMIC, (usando el comando aplay). Me sorprendió la claridad con que se graban. El único detalle, es que posiblemente los microfonos estén mal marcados en la tarjeta. Al parecer Left en realidad es Right, y viceversa.

 

S/PDIF

Sólo pude probar el S/PDIF In conectado al S/PDIF Out de una interface Digi001 de otra computadora, ya que es lo único que tengo disponible con conector RCA.

 

imageimage

Por alguna razón que no entiendo, no se grababa nada con aplay. Juro que corrí varias veces los scripts SPDIF record y Playback to Line out, pero nada. Quiero pensar que algo olvidé hacer o en algo metí la pata. Sea lo que haya sido decidí utilizar otro programa de grabación: Audacity.

 

Audacity sí me reconoció la entrada de audio de S/PDIF, y pude grabar un poco de audio. Solo tuve que seleccionar en el Input claramente señalado como S/PDIF RX:0

image

De acuerdo a lo que menciona Ragnar Jensen, si seleccionas wolfson_pi_soundcard: AIF:0 como entrada, se grabará con el dispositivo seleccionado previamente con los scripts.

 

Grabando con JACK y con Guitarix

Decidì instalar JACK a ver que tal se comportaba, los parámetros que me dieron mejor resultado fueron estos:


jackd -P80 -p16 -t2000 -dalsa -dhw:0 -p512 -n2 -r48000 -s -Xseq &

 

Con esta tarjeta Wolfson  solo obtengo un poco mas de 10ms de latencia! Mejor que con cualquier tarjeta de audio USB externa q haya probado antes.

También instalé un programa procesador de efectos de guitarra llamado Guitarix, gracias a la poca latencia no hay retardo alguno al tocar mi guitarra image.

 

De nuevo utilicé la interface Digi001 de la otra computadora para utilizarla ahora como lo hago habitualmente para grabar, esta vez recibiendo la señal del SPDIF OUT de la Wolfson.

image

Explicando la imagen:


Lo sé, un poco engorroso, la idea es que en un futuro, no tenga que usar la laptop para poder seleccionar los efectos de la guitarra en la raspberry. La idea era verificar que se puede grabar con una latencia aceptable o sin notarse al recibir la señal en el ProTools, y así fué. Este fué el resultado de una prueba al grabar.image

 

 

Se alcanzan a notar clipeos, pero supongo que son por el cable que utilicé para conectar a mi guitarra.

 

Amplificador Integrado

Esta tarjeta tambien cuenta con un amplificador integrado, para levantar un par de bocinas de 1.4 W. Para eso se necesita conectar una fuente de alimentación externa de 5V a 2,000 mA en un conector con polo positivo. Desgraciadamente no pude probar esto, ya q no cuento con ningun adaptador de estas caracteristicas y bocinitas a la mano image

 

Controles de volumen

Alsamixer es una buena aplicacion de consola que permite controlar el volumen de cualquier dispositivo de audio. Gracias a ALSA, detecta apropiadamente los controles del hardware. Pero al parecer, hay muchos controles que son creados por alguno de los scripts de inicio o algo parecido, porque estos fueron todos los controles que encontré:

 

CapturaPlayback

Master, Speaker Digital,Mic Input 1, Mic Input 2 ,Mic Input 3, Mic Input 4, EPOUT Digital,

EQ1 B1, EQ1 B2, EQ1 B3, EQ1 B4, EQ1 B5, EQ2 B1, EQ2 B2, EQ2 B3, EQ2 B4, EQ2 B5, EQ3 B1,

EQ3 B2, EQ3 B3, EQ3 B4, EQ3 B5, EQ4 B1, EQ4 B2, EQ4 B3, EQ4 B4, EQ4 B5, HPOUT1 Digital

HPOUT2 Digital, IN1L, IN1L Digital, IN1R, IN1R Digital, IN2L, IN2L Digital, IN2R, IN2R Digital, IN3L,

IN3L Digital, IN3R, IN3R Digital, Input Source: You only select Between [AIF] and [S/PDIF RX],

Noise Gate Threshold,

Noise Generator,

Noise Input 1,

Noise Input 2,

Noise Input 3,

Noise Input 4,

SPKDAT1 Digital

Master, Speaker Digital, Speaker High Performance,

DSP1 Aux 1, DSP1 Aux 2, DSP1 Aux 3, DSP1 Aux 4, DSP1 Aux 5, DSP1 Aux 6, DSP1 Firmware,

DSP1 Rate, DSP1L Input 1, DSP1L Input 2, DSP1L Input 3, DSP1L Input 4, DSP1R Input 1,

DSP1R Input 2, DSP1R Input 3, DSP1R Input 4, Mic Input 1, Mic Input 2, Mic Input 3, Mic Input 4,

AEC Loopback, AIF, AIF1TX1 Input 1, AIF1TX1 Input 2, AIF1TX1 Input 3, AIF1TX1 Input 4,

AIF1TX2 Input 1, AIF1TX2 Input 2, AIF1TX2 Input 3, AIF1TX2 Input 4,

AIF1TX3 Input 1, AIF1TX3 Input 2, AIF1TX3 Input 3, AIF1TX3 Input 4,

AIF1TX4 Input 1, AIF1TX4 Input 2, AIF1TX4 Input 3, AIF1TX4 Input 4,

AIF1TX5 Input 1, AIF1TX5 Input 2, AIF1TX5 Input 3, AIF1TX5 Input 4,

AIF1TX6 Input 1, AIF1TX6 Input 2, AIF1TX6 Input 3, AIF1TX6 Input 4,

AIF1TX7 Input 1, AIF1TX7 Input 2, AIF1TX7 Input 3, AIF1TX7 Input 4

AIF1TX8 Input 1, AIF1TX8 Input 2, AIF1TX8 Input 3, AIF1TX8 Input 4

AIF2TX1 Input 1, AIF2TX1 Input 2, AIF2TX1 Input 3, AIF2TX1 Input 4

AIF2TX2 Input 1, AIF2TX2 Input 2, AIF2TX2 Input 3, AIF2TX2 Input 4

AIF3TX1 Input 1, AIF3TX1 Input 2, AIF3TX1 Input 3, AIF3TX1 Input 4

AIF3TX2 Input 1, AIF3TX2 Input 2, AIF3TX2 Input 3, AIF3TX2 Input 4

ASRC1L Input, ASRC1R Input, ASRC2L Input, ASRC2R Input, DMIC

DRC1L Input 1, DRC1L Input 2, DRC1L Input 3, DRC1L Input 4

DRC1R Input 1, DRC1R Input 2, DRC1R Input 3, DRC1R Input 4, EPOUT Digital

EPOUT Input 1, EPOUT Input 2, EPOUT Input 3, EPOUT Input 4, EPOUT NG EPOUT,

EPOUT NG HPOUT1L, EPOUT NG HPOUT1R, EPOUT NG HPOUT2L, EPOUT NG HPOUT2R,

EPOUT NG SPKDAT1L, EPOUT NG SPKDAT1R, EPOUT NG SPKOUTL, EPOUT NG SPKOUTR

EQ1 B1, EQ1 B2, EQ1 B3, EQ1 B4, EQ1 B5, EQ1 Input 1, EQ1 Input 2, EQ1 Input 3, EQ1 Input 4,

EQ2 B1, EQ2 B2, EQ2 B3, EQ2 B4, EQ2 B5, EQ2 Input 1, EQ2 Input 2, EQ2 Input 3, EQ2 Input 4,

EQ3 B1, EQ3 B2, EQ3 B3, EQ3 B4, EQ3 B5, EQ3 Input 1, EQ3 Input 2, EQ3 Input 3, EQ3 Input 4,

EQ4 B1, EQ4 B2, EQ4 B3, EQ4 B4, EQ4 B5, EQ4 Input 1, EQ4 Input 2, EQ4 Input 3, EQ4 Input 4,

HPOUT1 Digital, HPOUT1 OSR, HPOUT1L Input 1, HPOUT1L Input 2, HPOUT1L Input 3,

HPOUT1L Input 4, HPOUT1L NG EPOUT, HPOUT1L NG HPOUT1L, HPOUT1L NG HPOUT1R,

HPOUT1L NG HPOUT2L, HPOUT1L NG HPOUT2R, HPOUT1L NG SPKDAT1L, HPOUT1L NG SPKDAT1R, HPOUT1L NG SPKOUTL, HPOUT1L NG SPKOUTR, HPOUT1R Input 1, HPOUT1R Input 2

,HPOUT1R Input 3, HPOUT1R Input 4, HPOUT1R NG EPOUT, HPOUT1R NG HPOUT1L, HPOUT1R NG HPOUT1R, HPOUT1R NG HPOUT2L, HPOUT1R NG HPOUT2R, HPOUT1R NG SPKDAT1L,

HPOUT1R NG SPKDAT1R, HPOUT1R NG SPKOUTL, HPOUT1R NG SPKOUTR, HPOUT2 Digital,

HPOUT2 OSR, HPOUT2L Input 1, HPOUT2L Input 2, HPOUT2L Input 3, HPOUT2L Input 4,

HPOUT2L NG EPOUT, HPOUT2L NG HPOUT1L, HPOUT2L NG HPOUT1R, HPOUT2L NG HPOUT2L,

HPOUT2L NG HPOUT2R, HPOUT2L NG SPKDAT1L, HPOUT2L NG SPKDAT1R, HPOUT2L NG SPKOUTL, HPOUT2L NG SPKOUTR, HPOUT2R Input 1, HPOUT2R Input 2, HPOUT2R Input 3,

HPOUT2R Input 4, HPOUT2R NG EPOUT, HPOUT2R NG HPOUT1L, HPOUT2R NG HPOUT1R,

HPOUT2R NG HPOUT2L, HPOUT2R NG HPOUT2R, HPOUT2R NG SPKDAT1L, HPOUT2R NG SPKDAT1R, HPOUT2R NG SPKOUTL, HPOUT2R NG SPKOUTR, HPOUT3 OSR,

Headset Mic, IN1 High Performance, IN1L, IN1L Digital, IN1R, IN1R Digital, IN2 High Performance, IN2L,

IN2L Digital, IN2R, IN2R Digital, IN3 High Performance, IN3L, IN3L Digital, IN3R, IN3R Digital, ISRC1 FSL,

ISRC1DEC1 Input, ISRC1DEC2 Input, ISRC1INT1 Input, ISRC1INT2 Input, ISRC2 FSL,

ISRC2DEC1 Input, ISRC2DEC2 Input, ISRC2INT1 Input, ISRC2INT2 Input, Input Ramp Down, Input Ramp Up, LHPF1 Input 1, LHPF1 Input 2, LHPF1 Input 3, LHPF1 Input 4, LHPF1 Mode, LHPF2 Input 1,

LHPF2 Input 2, LHPF2 Input 3, LHPF2 Input 4, LHPF2 Mode, LHPF3 Input 1, LHPF3 Input 2, LHPF3 Input 3, LHPF3 Input 4, LHPF3 Mode, LHPF4 Input 1, LHPF4 Input 2, LHPF4 Input 3, LHPF4 Input 4,

LHPF4 Mode, Noise Gate, Noise Gate Hold, Noise Gate Threshold, Noise Generator, Noise Input 1,

Noise Input 2, Noise Input 3, Noise Input 4, Output Ramp Down, Output Ramp Up, PWM1 Input 1,

PWM1 Input 2, PWM1 Input 3, PWM1 Input 4, PWM2 Input 1, PWM2 Input 2, PWM2 Input 3,

PWM2 Input 4, RX, SPDIF in, SPDIF out, SPKDAT1, SPKDAT1 Digital, SPKDAT1 High Performance,

SPKDAT1L Input 1, SPKDAT1L Input 2, SPKDAT1L Input 3, SPKDAT1L Input 4, SPKDAT1L NG EPOUT,

SPKDAT1L NG HPOUT1L, SPKDAT1L NG HPOUT1R, SPKDAT1L NG HPOUT2L, SPKDAT1L NG HPOUT2R, SPKDAT1L NG SPKDAT1L, SPKDAT1L NG SPKDAT1R, SPKDAT1L NG SPKOUTL,

SPKDAT1L NG SPKOUTR, SPKDAT1R Input 1, SPKDAT1R Input 2, SPKDAT1R Input 3, SPKDAT1R Input 4, SPKDAT1R NG EPOUT, SPKDAT1R NG HPOUT1L, SPKDAT1R NG HPOUT1R, SPKDAT1R NG HPOUT2L, SPKDAT1R NG HPOUT2R, SPKDAT1R NG SPKDAT1L, SPKDAT1R NG SPKDAT1R,

SPKDAT1R NG SPKOUTL, SPKOUTL Input 1, SPKOUTL Input 2, SPKOUTL Input 3, SPKOUTL Input 4,

SPKOUTL NG EPOUT, SPKOUTL NG HPOUT1L, SPKOUTL NG HPOUT1R, SPKOUTL NG HPOUT2L,

SPKOUTL NG HPOUT2R, SPKOUTL NG SPKDAT1L, SPKOUTL NG SPKDAT1R, SPKOUTL NG, SPKOUTL, SPKOUTL NG SPKOUTR, SPKOUTR Input 1, SPKOUTR Input 2, SPKOUTR Input 3,

SPKOUTR Input 4, SPKOUTR NG EPOUT, SPKOUTR NG HPOUT1L, SPKOUTR NG HPOUT1R,

SPKOUTR NG HPOUT2L, SPKOUTR NG HPOUT2R, SPKOUTR NG SPKDAT1L, SPKOUTR NG SPKDAT1R, SPKOUTR NG SPKOUTL, SPKOUTR NG SPKOUTR, TX

 

¡¡Son demasiados controles!! sobre todo los de reproducción!! image

Aparentemente muchos de estos controles son para redireccionnar la señal de audio de alguna entrada a hacia algún filtro como Hi-Pass o algún ecualizador directamente desde ALSA.

Sería bueno que Wolfson proporcionara más información con respecto al uso de estos controles, o bien alguna herramienta para poder utilizarlas correctamente.

 

Algunos podrían considerar un problema que la tarjeta utilice todos los puertos GPIO del raspberry pi, pero al menos podemos contar con dos pines UART, los cuales nos podrían servir para conectarnos por terminal en serie para hacer debug (en caso de que no podamos usar Ethernet) o incluso conectar una tradicional pantalla LCD Serial.  También hay una serie de pines de expansión en esta tarjeta, de los cuales dos son de 5V y 3V, y los otros están descritos todavía.

 

En resumen, la tarjeta está muy completa. Tiene lo necesario para poder montar un Home Media Center o algo parecido.

Por el momento, esta ha sido mi experiencia con la tarjeta Wolfson Audio, espero leer sus comentarios.

Anonymous