FIRtro en Raspberry 3

Previos, filtros activos, DACs, CDs, transportes, vinilo, tratamiento de salas,...
Avatar de Usuario
Rafax
Mensajes: 1298
Registrado: Mié May 03, 2006 7:29 pm
Ubicación: Madrid

Re: FIRtro en Raspberry 3

Mensaje por Rafax » Jue Feb 01, 2018 6:23 pm

jeje, para acercarse a Linux lo mejor es tener algún proyecto por delante, y nada mejor que FIRtro para un aficionado al audio !!!
Avatar de Usuario
Rafax
Mensajes: 1298
Registrado: Mié May 03, 2006 7:29 pm
Ubicación: Madrid

Re: FIRtro en Raspberry 3

Mensaje por Rafax » Jue Feb 01, 2018 6:28 pm

El arranque que has pegado parece ser correcto. Hay algunos avisos pero parece que no son problema.

Es más clarificador llamar a la tarjeta por su nombre en el archivo ~/audio/config, por ejemplo "hw:CODEC,0".

En tu arranque veo que usas "hw:1,0". Supongo que la hw:0,0 será la tarjeta interna de la RPI. Con el comando aplay -l se ve el listado de tarjetas.

Creo recordar que en la RPI se comparte un mismo chip para el audio interno, la red Eth y el USB... (una castaña). Es preferible desactivar el audio interno.

Poner lo siguiente en el archivo /etc/modprobe.d/raspi-blacklist.conf

Código: Seleccionar todo

blacklist snd_bcm2835
blacklist snd_soc_core
¿Tienes más periféricos USB conectados a la RPI? Es que el soporte USB de las RPI es bastante cutre y es posible que falle al intentar audio usb en full duplex (IN-capture y OUT-playback). Si hay fallos de ese tipo se pueden ver con el comando dmesg. Con dmesg|less podrás ir navegando por todo el printado que es largo.

Cuando deja de oirse entiendo que deja de oirse la señal analógiga aplicada a las inputs de la UCA202. ¿En ese momento sale algo por el terminal? Puedes ver si JACK ha petado con el comando jack_lsp:

Código: Seleccionar todo

system:playback_1
system:playback_2
system:capture_1
system:capture_2
brutefir:input-0
brutefir:input-1
brutefir:fr_L
brutefir:fr_R
Si el driver de la tarjeta se ha quedado colgado es posible que el comando aplay -l se quede frito.
Avatar de Usuario
Rafax
Mensajes: 1298
Registrado: Mié May 03, 2006 7:29 pm
Ubicación: Madrid

Re: FIRtro en Raspberry 3

Mensaje por Rafax » Jue Feb 01, 2018 7:18 pm

Estoy probando una RPI3+UCA202 en fullduplex y de momento voy por tres canciones funcionando por analógico... a ver lo que dura. Importante: sin nada más conectado en los puertos USB.

Plis prueba con estas opciones:

Código: Seleccionar todo

jack_options = -R -dalsa -p4096 -n3 --shorts --softmode
Avatar de Usuario
Rafax
Mensajes: 1298
Registrado: Mié May 03, 2006 7:29 pm
Ubicación: Madrid

Re: FIRtro en Raspberry 3

Mensaje por Rafax » Vie Feb 02, 2018 10:20 am

A mi también se me cortó a la 1 1/2 h aprox. Intenté usar la versión jackd1 pero no se arreglaba.
Otra cosa que se me ocurre es probar con Fs 48K a lo mejor el audio usb va mejor así ¿?

Hasta hace poco he venido usando una RPI2 + USB7.1 con solo 4 canales de salida en uso para un 2 vias y ha funcionado bien. Solo MPD o con el emulador Airplay, sin usar la entrada analógica.

En todo caso pensemos que el invento low cost RPI+USBaudio sirve solo para familiarizarse con la instalación de Linux para un FIRtro 'entry level'. Si interesa una solución single board hay colegas que usan Udoo creo que es un maquinón.

Otra opción si no se necesita entrada analógica ni xover son los DAC I2S, van muy bien y es hi-fi de calidad.

No conozco Carla, pero googleando un poco veo que estás familiarizado con el mundo de los host para plugins, genial :-) En todo caso 'qjackctl' debe servir (necesitarás X-Forwarding si te conectas a la RPI por ssh). Yo uso la RPI desde un terminal ssh sin monitor ni escritorio. En la Wiki hay info sobre cómo ver el estado de jack, 'jack_lsp -c' es suficiente, también 'njconnect' va muy bien en un terminal:

https://github.com/AudioHumLab/FIRtro/w ... Pulseaudio

Si queremos seguir con RPI a ver si hay una configuración estable veo que han cerrado https://wiki.linuxaudio.org/wiki/raspberrypi. Esa página la publicaba un tal Jeremy aka "Autostatic", ahora tiene mucha info en su blog https://autostatic.com/ y en foros...
El archivo audio/asound.xxx le he puesto extension .1, lo hice porque si no sale un error, pero en el manual de instalación no he visto ninguna referencia a este archivo
Esto no es importante, pero puedes dejarlo arreglado con la orden:
$ alsamixer_adjust

Aquí hay info:
https://github.com/AudioHumLab/FIRtro/w ... II%29-ALSA

Lo de que hw:CODEC,0 te de problemas me parece raro, qué te dicen los comandos?:
$ aplay -l
$ cat /proc/asound/cards
El problema estaba y esta en que cada vez que reinicio me vuelve a dejar el archivo .asoundrc como estaba antes de modificarlo.
Ostras que raro, nunca me ha pasado :-( De todos modos /home/firtro/.asoundrc no es necesario en general. Supongo que lo has editado para el tema de llevar shairport que saca audio por ALSA hacia JACK.
miguel2
Mensajes: 7
Registrado: Mié Nov 22, 2017 1:29 pm

Re: FIRtro en Raspberry 3

Mensaje por miguel2 » Sab Feb 03, 2018 9:17 pm

buenas amigo, tremendo contenido
Avatar de Usuario
Rafax
Mensajes: 1298
Registrado: Mié May 03, 2006 7:29 pm
Ubicación: Madrid

Re: FIRtro en Raspberry 3

Mensaje por Rafax » Lun Feb 05, 2018 1:16 pm

Probé con dos tarjetas, una CSL 7.1 USB baratija resultona por amazon (está muy bien para hacer pruebas) y una Asus Xonar U5 5.1 USB. La CSL se conecta en la RPI en Full Speed pero la Asus en High Speed, desconozco el motivo. La Asus U5 va muy bien incluso 2 in x 4 out no hay xruns en jack (-i2 -o4) jack_connectando directamente las 2 entradas a las 4 salidas.

Lo malo es cuando además arrancamos Brutefir con 2 vias y FIRs largos de 32K con resolución en graves para drc, la RPI no da de si si además queremos que MPD tenga que descodificar según que codecs...

Tengo que investigar un poco más a ver si puedo hacer las 2 vias con FIRs más cortos en Brutefir y hacer el DRC con IIRs en Ecasound, a ver si la RPI aguanta bien el tipo...

Aunque me temo que para estar tranquilos, habría que sustituir la RPI por una placa más potente, una opción quizás interesante y de precio contenido puede ser la Asus Tinker que corre Debian.
Avatar de Usuario
Rafax
Mensajes: 1298
Registrado: Mié May 03, 2006 7:29 pm
Ubicación: Madrid

Re: FIRtro en Raspberry 3

Mensaje por Rafax » Lun Feb 05, 2018 11:33 pm

Ostras, vaya curre lo del RT kernel... No obstante esa mejora quizás está orientada a tener baja latencia para uso con instrumentos musicales.

Lo de usar la Asus Tinker entiendo que debe ser como cualquier Linux tipo Debian.

Los scripts de FIRtro están hechos para hablar con Brutefir. Usar jconvolver no está desarrollado :-/

Pero si lo que quieres es hacer solo DRC, un FIRtro con RPI funciona bien seguro.

He revisado un poco el tuneo de mi RPI3 para mis cajas HUM de 2 vias en activo, estos son los ajustes:
- swapoff:
/etc/dphys-swapfile CONF_SWAPSIZE=0

- Tarjeta
Asus Xonar U5 (5.1 ch) USB high-speed

- Fuente musical:

MPD reproduciendo pistas .ape es el codec que más le cuesta

- Cableado de audio, selector de entradas

Jack solo salidas, 4 vias, 16 bits de cara a reducir el ancho de banda usb, dither trinagular, el shaped me parece que no lo aguanta bien.

jackd -R -dalsa -p4096 -n3 -P -o4 --shorts -dt

- Filtrado XOVER, Loudness y control de volumen

Brutefir v1.0o. La versión de serie es 1.0m. Uso la 1.0o compilada e instalada en /usr/loal/bin (ver cómo en la Wiki)

Sin etapa de drc
Estructura 4 vías
Output sin dither
filter_length: 8192;
float_bits: 32;
allow_poll_mode: false;
lock_memory: false; # recordar tener swapoff

- Filtrado DRC:

Ecasound con 8 paramétricos por canal, incluso 16 podrían funcionar también
cuando lanzo una app de pulseaudio (shairport, youtube,etc) la crossconexion con Ecasound aparece y desaparece aleatoriamente así como las propias salidas correspondientes de rawjack y eso es lo que me produce los cortes.
Si tienes pulseaudio, no te hace falta el rawjack de .asoundrc, o sea no te hace falta .asoundrc. Puedes usar la salida pulse de shairport.

Por cierto, si usaras shairplay para recibir Spotify desde una manzana, te comento que hay un programa llamado 'librespot' que puede correr en la RPI y se encarga de ser un reproductor Spotify autónomo controlable desde cualquier cliente Spotify logado con tu ususario premium. La gracia está en que es autónomo, puedes apagar la manzana. Creo que lo puse en la Wiki...
Ahora me toca empezar a medir, he intentado ver el proyecto de RR "DSD" y sinceramente no entiendo absolutamente nada...
Mi unica experiencia con DRC ha sido con drCOP y este media, hacia los filtros y reproducia directamente. Entiendo que ahora hago una medida con REW, pero generar filtros... Hay alguna documentación de como se maneja? Que software utilizáis vosotros?
Esto ya es entrar en materia !!!, una cosa es el cacharreo y otra hacer filtros de audio jejeje :D

Como primera idea, piensa que el filtrado para DRC se puede implementar con FIRs en un convolver o con IIRs en un EQ paramétrico. FIRtro se diseñó inicialmente para lo primero usando Brutefir, pero ahora también puede hacer lo segundo usando plugins en Ecasound.

Una u otra solución depende de tu criterio, y de la potencia de CPU disponible ya que los IIRs consumen mucho menos.

DSD es una herramienta muy potente pero tienes razón, no es precisamente fácil introducirse en su uso.

>>> Para centrar temas, te propongo que abras otro hilo para ir viendo como plantear tu filtrado DRC usando FIRtro.
Última edición por Rafax el Mar Feb 06, 2018 12:08 am, editado 1 vez en total.
Avatar de Usuario
Rafax
Mensajes: 1298
Registrado: Mié May 03, 2006 7:29 pm
Ubicación: Madrid

Re: FIRtro en Raspberry 3

Mensaje por Rafax » Mar Feb 06, 2018 12:03 am

Por cierto hay un hilo con chincheta en este subforo sobre DSD.
Si usas Linux o MacOS como PC de trabajo tienes bastante camino allanado :D
PD: este es un camino largo, hay mucha materia. Pero pregunta lo que necesites no te lo comas solo.