Sonobus

Este es un software de transmisión de audio en red de código abierto y gratuito para GNU / Linux, Windows, Mac OS, iOS i Android. Con esta aplicación, los usuarios podremos transmitir audio de punto a punto con baja latencia entre dispositivos, a través de Internet o una red local. SonoBus fue escrito por Jesse Chappell y tiene licencia GPLv3.

Esta es una solución de igual a igual de código abierto, multiplataforma, elegante y gratuita que permite a varios usuarios a distancia, compartir audio en tiempo real, buscando la mayor calidad y la menor latencia posible a través de Internet. SonoBus es una aplicación fácil de usar y que permitirá a los usuarios grabar audio, reproducir cualquier contenido de audio y más.

Su funcionamiento es tan sencillo como elegir un nombre de grupo único (con contraseña opcional) y conectarnos instantáneamente con varias personas para crear música, sesiones de mandos a distancia, podcasts, etc.. Podremos grabar fácilmente el audio de todos, así como reproducir cualquier contenido de audio para todo el grupo.

Puedes descargar el programa aquí: https://sonobus.net/

Características generales de SonoBus

  • SonoBus NO utiliza actualmente ningún cifrado para la comunicación de datos, de manera que, aunque es poco probable que seamos interceptados, es importante tenerlo en cuenta.
  • Todo el audio se envía directamente entre usuarios de igual a igual, el servidor de conexión sólo se utiliza para que los usuarios de un grupo puedan encontrarse entre sí.
  • El programa permite conectar a varios usuarios para enviar y recibir audio entre todos los miembros de un grupo, con un control detallado sobre la latencia, la calidad y la mezcla general.
  • Incluye compresión de entrada opcional, puerta de ruido y efectos de ecualización, junto con una reverberación maestra.
  • Todas las configuraciones son dinámicas, las estadísticas de la red son claramente visibles.
  • Funciona como una aplicación independiente tanto en GNU / Linux, Mac OS, Windows i iOS, y como un complemento de audio (A, VST) en MacOS y Windows. Se puede utilizar en el escritorio, en tu DAW o en tu dispositivo móvil.
  • Es un programa fácil de configurar y utilizar, pero aún así proporciona todos los detalles importantes sobre el audio.
  • La calidad de audio se puede ajustar instantáneamente diciembre PCM sin comprimir por completo (16, 24 el 32 bits) o con varias velocidades de bits comprimidas (16-256 kbps por canal) utilizando el códec Opus de baja latencia. Además se puede hacer de forma independiente para cualquiera de los usuarios conectado a un grupo.
  • SonoBus no utiliza ninguna cancelación de eco o reducción automática de ruido para mantener la más alta calidad de audio. Como resultado, si encuentra una señal de micrófono en vivo necesitarás utilizar auriculares para evitar ecos y / o retroalimentación.
  • Para obtener los mejores resultados y conseguir las latencias más bajas, los creadores del programa recomiendan conectar nuestro equipo por cable Ethernet a el router si es posible. Aunque funcionará con WiFi, la fluctuación de la red y la pérdida de paquetes adicionales requerirán utilizar un buffer de seguridad más grande para mantener una señal de audio de calidad, lo que da como resultado latencias más altas.

Actuación en directo a través de Sonobus Alemania-España, 1451 kms de distancia.

Improvisación entre Bernd Keul (Contrabajo) desde Alemania y yo mismo (Clarinete) de Valls (España) además de 1300 kilómetros de distancia.

Configuración

Necesitará:

Un ordenador portátil o de escritorio que ejecute el sistema operativo Apple Mac o Windows. El software SonoBus es el primer software de este tipo disponible para iOS, por lo que también se puede utilizar un iPhone o iPad con Apple iOS 11 o posterior. S’ha informat que Windows 7, Windows 8 yo Windows 10 funcionan bien con SonoBus. SonoBus también debería funcionar en Linux.

Una copia instalada del cliente SonoBus para Mac, Windows o iOS (los clientes Linux se pueden crear a partir del código fuente, pero todavía no hay paquetes instalables). Baje e instale la versión adecuada de SonoBus desdehttps://sonobus.net

FORTAMIENTO recomendado: un cable Ethernet y/o adaptadores para conectar el ordenador a su enrutador o módem por cable. El WiFi funciona, pero es una capa adicional de secuenciación de paquetes y siempre añade mucha fluctuación, lo que requiere un mayor tamaño de búfer. SonoBus recomienda la conexión por Ethernet.

Recomendado: auriculares con cable o auriculares. Los auriculares Bluetooth no funcionarán debido al retraso añadido (hasta 250 Sra) inherente al audio Bluetooth. Los auriculares con aislamiento de sonido son los mejores. Sin auriculares, otros músicos escucharán un eco irritante de los altavoces que devuelve al micrófono (si arde sirve un).

Si tiene Windows, es MUY recomendable que utilice la opción del controlador ASIO, ya sea con el controlador ASIO que funciona con su interfaz de audio, o instalandoASIO4ALL para su audio integrado o cualquier cosa que no tenga un controlador ASIO propia. Véase también Recursos relacionados a continuación.

Configure las opciones/plan de gestión de energía de su sistema en “Alto rendimiento” si es posible, especialmente si utiliza un dispositivo portátil. Esto reducirá la posibilidad de que la aceleración de la CPU y/o la suspensión automática del dispositivo USB interfieran con el flujo fluido del audio.

Tu experiencia puede variar. A veces, la configuración es muy frustrante, pero por eso estamos escribiendo este documento, para ayudarle a empezar. Es posible que SonoBus no funcione bien si su conexión a Internet no es lo suficientemente rápida, o si hay mucho tráfico en Internet, durante el”Hora punta de Internet”. Pruébalo en otro momento cuando haya menos tráfico en Internet. A veces, puede ayudarle añadiendo la configuración de reenvío de puertos a su enrutador de Internet de casa, o el módem DSL o por cable puede ayudar, pero esto está fuera del alcance de este documento.

Sobre la latencia

¿Cuánta latencia es demasiado? La mayoría de los expertos coinciden en que una latencia de 50 mil·lisegones (Sra) es aproximadamente el límite superior de la música y que 25 ms son lo suficientemente pequeos como para ser “lo suficientemente bueno”. Tenga en cuenta que se trata de números de latencia unidireccional, SonoBus informa de estimaciones tanto de ida y vuelta como de ida en ambas direcciones.

Hay tres fuentes principales de latencia:

  • El retraso en el almacenamiento de muestras del equipo de audio y del controlador del dispositivo del ordenador
  • Retraso en la configuración del software del ordenador que se necesita para suavizar la fluctuación de la red
  • Retraso en las conexiones de red entre tú y los demás participantes

La parte de esta latencia total sobre la que tiene el control más fácil es el retraso del equipo de audio de su ordenador. Algunos ordenadores portátiles tienen un hardware de sonido interno que es lo suficientemente bueno, pero en muchos casos el hardware de sonido interno y el software del controlador añaden demasiado retraso y una interfaz de audio digital externa y un micrófono procesarán el sonido con menos latencia y mayor calidad.

Empezando

Con aplicaciones de audio como SonoBus, debe dar permiso al sistema operativo para utilizar el micrófono. Cuando la aplicación se inicie por primera vez, su sistema operativo le preguntará si permite la entrada de audio, así que responda “sí”. 

En la primera ejecución de SonoBus, también debe elegir los dispositivos de entrada y salida que desea utilizar. Haga clic en el botón “Configuración de audio”. Una ventana, elija su controlador ASIO.

También debe seleccionar los canales de entrada activos y los canales de salida activos que desea utilizar en el diálogo que se muestra. Seleccione un dispositivo de micrófono para la entrada y un dispositivo de auriculares para la salida. Si sólo tiene una fuente de entrada mono (como un micrófono), puede deseleccionar cualquier otra entrada de forma que sólo seleccione la de su micrófono, lo que reducirá el ancho de banda de la red de envío. Si utiliza tanto un micrófono como un instrumento, y prefiera centrarlos cuando se envíen a los demás, puede seleccionar sus dos entradas y también elegir cómo “desplazarlas” en los canales izquierdo y derecho. Véase el botón “En panorámica” cerca de la parte superior de la ventana principal para ajustarlo.

Puede elegir una frecuencia de muestreo. Se recomienda 48000 Hz, pero también funcionará 44100 Hz. Los diferentes participantes con los que conecte NO necesitan tener la misma configuración aquí, el audio se volverá a muestrear si es necesario automáticamente.

Elija un tamaño de búfer de audio para su propia salida. Esto establecerá una línea de base para la latencia de audio enviada. Cuanto menor sea el valor que elija, menor será la latencia de envío, pero a un coste de aumentar el procesamiento y sobrecarga de paquetes de red. Por lo general, elegir 256 es seguro, pero para una latencia más baja, utilice 128 muestras. Puede descargar si su hardware lo admite, pero no será de gran beneficio a menos que utilice una de las opciones de calidad de envío PCM sin comprimir, que puede utilizar estos tamaños de búfer más pequeños. Más información al respecto en la sección “Formato y calidad de envío” a continuación. Muchos usuarios tienen éxito con 64 muestras. Si escucha uno “galleta” en su audio monitorizado con valores de tamaño de búfer muy bajos, aumente el tamaño del búfer de salida. En Windows específicamente con interfaces de audio USB, cuando se desea obtener la latencia mínima mediante la calidad de envío PCM,

Si ve una barra amarilla en la parte superior que indica que su entrada de audio está silenciada para evitar comentarios, puede pulsar el botón de la esquina superior derecha para activar la entrada. Si utiliza una entrada de micrófono, NECESITArás auriculares, así que asegúrese de conectarlos antes de activar el sonido de la entrada.

Cómo conectarse

Haga clic en el botón “Conecta…” para empezar.

Desde la versión 1.3.0 hay dos tipos de grupos: Privados y Públicos. Si desea controlar con quien se comunica, utilice la función Grupos privados para que sólo las personas que conozcan el nombre del grupo (y, opcionalmente, la contraseña) podrán conectarse con ustedes. Si, en cambio, desea intentar reproducir música con participantes desconocidos, puede probar la nueva función Grupos públicos.

Grupo privado

En la ventana Conecta, seleccione la pestañaGrupo privado.

Elija un nombre de grupo único que desea utilizar o utilice el práctico generador de nombres de grupo aleatorio (el botón de dados). También puede introducir una contraseña que las personas que se conecten al grupo también tendrán que introducir por seguridad adicional, pero es opcional. Puede decir a los demás que desea conectarse al nombre del grupo (y la contraseña, si se utiliza) o puede pulsar el botón Copiar en la parte superior derecha de la página del grupo y, a continuación, pegarlo y compartirlo con los demás usuarios con los que desea conectarse. . Pueden utilizarlo para pegarlo en esta página utilizando el botón de pegar en la esquina superior izquierda.

Elija un nombre para usted mismo que será su identificador para cualquier otra persona que se una. Si otra persona ya está utilizando este nombre en el servidor, automáticamente se hará único cuando se conecte.

Fuego haga clic en un “Conecta al grupo!”

Si hay otras personas en el grupo llamado, debería verlos aparecer y podrá escuchar a otros. De lo contrario, verá un mensaje que indica que está esperando a que otros se unan. Puede ajustar los niveles que escucha los demás con los controles deslizantes de volumen o ajustar la panorámica estéreo con el botón Panorama (y los controles deslizantes emergentes) para cada usuario.

Puede silenciarse completamente pulsando el botón del micrófono en la esquina inferior izquierda. Cuando su entrada esté silenciada, verá un micrófono rayado en rojo. También puede elegir para quien se silencia su entrada de forma independiente, en caso de que no desee enviar audio a determinados usuarios, sino que lo hace a otros. También puede silenciar la salida de todos los usuarios o individuales con el botón del altavoz (junto a los botones del micrófono) en la parte inferior de la ventana o en el área de cada usuario.

Grupos públicos

En la ventana Conecta, seleccione la pestañaGrupos públicos .

La pestaña Grupos públicos le permite navegar por grupos públicos activos existentes o crear otros nuevos que serán visibles para cualquier otra persona que utilice el mismo servidor de conexión. Se muestran los nombres de los grupos públicos activos actualmente, junto con el número actual de usuarios activos de cada grupo. Para unirse a un grupo existente, sólo tiene que seleccionarlo de la lista.

Recuerde que todo el audio sólo se envía peer-to-peer, el servidor de conexión sólo facilita la gestión de los miembros del grupo. Actualmente, es probable que el servidoraoo.sonobus.net predeterminado sea la única opción que funcione, pero también puede ejecutar su propio (véasehttps://github.com/essej/aooserver ).

Para crear su propio grupo, introduzca un nombre y pulse el botón “Crear grupo”. 

Recuerde que todos los usuarios de SonoBus pueden ver estos nombres de grupos públicos y, por tanto, cualquiera puede conectarse con vosotros.

Ajustando sus conexiones

Recibirá Jitter Buffers

La arquitectura y los protocolos de red generalmente priorizan la fiabilidad por encima de la velocidad y el orden de los paquetes de datos. Los paquetes se “caen” regularmente. Estos paquetes abandonados se vuelven a enviar regularmente fuera de secuencia y pueden reencaminarse. Las diferentes rutas tienen distintos tiempos de transmisión y los paquetes recibidos se entregan regularmente fuera de su secuencia de tiempo original. Cuando se transmite el audio en directo, este “estar nervioso” hace que el sonido de audio recibido “se rompa” y la secuencia original debe restaurarse antes de presentarlos a nuestros oídos. Esto se hace recogiendo los paquetes que llegan a un “buffer de fluctuación de recepción”, donde se procesan de nuevo a su secuencia de tiempo original. Este tiempo de procesamiento es una de las principales latencias con las que debes hacer frente.

El problema real de las conexiones peer-to-peer es que las latencias a/desde cada participante son diferentes. Habrá un tamaño de búfer óptimo para cada uno, dependiendo de su calidad particular de conexión a Internet y la velocidad del hardware. Deberá realizar una optimización para cada usuario conectado.

Una de las ventajas de SonoBus es que puede ajustar dinámicamente que cada participante “reciba el buffer de fluctuación” en tiempo real, de modo que puede escuchar el cambio de calidad de audio inmediatamente a medida que se cambia el tamaño del buffer. Si el tamaño del buffer es demasiado pequeño, faltarán algunos (o todos) sus paquetes y su audio sonará “áspero”, demasiado grande, y la latencia general se hará audible e intolerable para tocar música juntos.

Encontrará una configuración inicial de Búfer de fluctuación en la ventana emergente de opciones (engranaje). Esta configuración “predeterminada” se aplica a su flujo entrante cuando se conecte por primera vez con personas nuevas, pero se tendrá que”optimizar” en función de sus condiciones individuales.

Tal y como está instalado, SonoBus añade a cada participante con su buffer de jitter en modo “Automático”. Un auto, cuando SonoBus detecta paquetes caídos demasiado a menudo, aumenta el tamaño del buffer de fluctuación. Esto puede ocurrir especialmente cuando está cambiando otros parámetros o cuando cambian las condiciones de la red. Si las condiciones mejoran, también reducirá el buffer de jitter.

Cuando utilice el modo automático del buffer de fluctuación de recepción, querrá empezar los ajustes desde el punto de partida más bajo posible. Para la franja de canal de cada participante, (hay una para cada usuario conectado) toque el área de la banda de usuario que muestra el búfer Recv Jitter y, en esta ventana emergente, arrastre el control deslizante del búfer de jitter hacia la izquierda (puedes moverlo). en cualquier momento, incluso en Auto), o para una forma más rápida, pulse el botón |< a la izquierda del control deslizante. Es posible que sienta algunos errores o interrupciones, ya que se ajusta automáticamente a más. Cuando deja de cambiar y escucha un audio limpio, a menudo es un buen sitio para este participante, y puede optar por cambiar su modo a Manual (desde Automático) y utilizar este tamaño.

Hay un modo llamado “Automático inicial” que da los pasos indicados anteriormentesin la intervención del usuario . Elija cuando vaya a la latencia más baja y no desee que el tamaño de la memoria intermedia de fluctuación se agregue para las interrupciones temporales. Si las condiciones de la red cambian demasiado y empieza a obtener abandonos constantes del otro extremo mientras se encuentra en este modo, sólo tiene que pulsar el botón |< de restablecimiento y se reiniciará el proceso automático. Cuando esté en la etapa automática, el indicador del medidor del búfer mostrará (IA-Auto) y cuando se establezca en un valor fijo cambiará a (Yo soy un).

Consejo profesional: en los modos automáticos, si mantiene pulsada la tecla Alt (Opción en Mac) cuando haga clic en un botón de restablecimiento |<, restablecerá los buffers de fluctuación de recepción para todos sus participantes.

En el mode manual, es posible que también pueda reducir un poco más el tamaño del buffer de fluctuación de recepción de cada participante y puede hacerlo en cualquier momento. Para ajustar el tamaño del búfer, basta con tomar la barra de control manual y arrastrarla hacia la izquierda y la derecha. Si lo pone demasiado bajo, escuchará a los suyos “abandonos” INSTANTANEAMENTE. Aumente el tamaño de la memoria intermedia en uno o dos pasos y ha optimizado el tamaño de la memoria intermedia de este canal.

Es posible que escuche errores en el futuro debido a incoherencias de la red, pero si le preocupa más la baja latencia, es posible que tenga que hacerlo por usted mismo.

Afortunadamente, SonoBus recordará estos parámetros de búfer “optimizada” por el nombre de usuario y los aplicará la próxima vez que se conecten con el mismo nombre de usuario.

Medidas de latencia y fluctuación

El éxito de SonoBus depende de la calidad general de la conexión entre sus auriculares/micrófono y sus compañeros de SonoBus. Después del hardware de audio y la capacidad del procesador de su dispositivo, su conexión a Internet es el segundo factor más importante para su éxito en SonoBus. Puede probar la velocidad, la latencia y la fluctuación desde el puerto de red de su dispositivo al servidor de su proveedor de servicios de Internet con este servicio gratuito: https://speed.cloudflare.com

Otra cosa importante a tener en cuenta es el botón Ping/Latencia a la derecha del canal de cada participante. Cuando se pulsa, este botón le mostrará una estimación de la latencia deida y vuelta desde usted hasta ese otro usuario y de vuelta junto con valores detallados de ida. El valor Ping que muestra es sólo la parte de lo que induce la propia red, también un viaje de ida y vuelta (de tú a ellos y regreso). La latencia total de ida y vuelta consiste en este ping junto con la configuración del buffer de fluctuación de recepción, la configuración del tamaño del buffer de audio y posiblemente otros retrasos del códec de audio comprimido Opus (cuando se utiliza, introduce 2,5 ms adicionales en cada extremo) en ambos extremos.

La ventana emergente que verá después de pulsar el botón mostrará la latencia total de ida y vuelta y también estimaciones de las 2 latencias de una sola dirección (tu -> ellos yo ellos-> tu) que deberían sumar ese total. Las estimaciones de ida siempre se muestran en la pantalla del botón, junto con el tiempo de ping de ida y vuelta. Estas estimaciones le pueden ayudar a ver que tal vez su buffer de fluctuación es bastante pequeño para recibir su audio, pero quizás lo que están utilizando para recibir el suyo es mayor. La latencia real puede ser mayor porque puede haber más latencia en su interfaz de audio que no está representada por el proceso de medida.

Formato de envío y calidad

SonoBus le permite elegir el formato de audio (comprimido o no comprimido) y la calidad que envíe individualmente a cada participante de la sesión.

Esto permite personalizar el cambio de latencia por calidad.

Seleccione la calidad de audio que desea enviar a cualquier usuario haciendo clic en el área “Envía calidad” directamente debajo del nombre del usuario:

En el tablero que se muestra, haga clic en el menú desplegable (que muestra “96 kbps / ch” en la imagen siguiente) y seleccione la calidad que desea enviar a este usuario:

Marque “Cambia para todos” para cambiar el formato de envío a todos los demás participantes de la sesión.

Además, puede cambiar el formato y la calidad de audio que le envía un usuario remoto.

Para hacerlo, haga clic en el área de estado “Búfer de fluctuación” bajo el control deslizante de nivel del usuario:

Haga clic en el menú desplegable “Calidad de recv favorita” (por defecto es “Sin preferencia”) para cambiar el formato que le envía el usuario remoto.

Es posible solicitar el mismo formato y calidad de audio a todos los demás usuarios marcando la casilla “Cambia para todos”.

Los formatos comprimidos disponibles introducen una pequeña cantidad de latencia adicional (2,5 Sra) sobre los formatos no comprimidos, pero tienen requisitos de ancho de banda inferiores. Además, si utiliza las opciones PCM (sin comprimir), el envío de paquetes de red aprovechará los posibles tamaños de búfer de muestras de audio más pequeñas que ha configurado en la configuración de audio para reducir la latencia. Los formatos de audio comprimidos tienen un tamaño mínimo de fotograma de muestra de 120 muestras, mientras que los formatos PCM no tienen un límite inferior. Sin duda, aún puede utilizar tamaños de búfer de muestras de audio inferiores a 120 incluso cuando utilice la calidad de envío comprimida, pero sólo mejorará su latencia de supervisión y no la latencia de red de extremo a extremo.

Uso de SonoBus Audio con Video

Si desea ver a las personas con las que juega, puede ejecutar Zoom, Jitsy, Reunión de Google, etc.. en paralelo junto con SonoBus.

Simplemente inicie una nueva reunión de video e invite a sus compañeros de sesión de SonoBus a unirse enviándoles el enlace de la reunión de videoconferencia por correo electrónico u otro sistema de mensajería.

Pídeles que se unan a la reunión de videoconferencia sin audio o que silencien su audio en la reunión.

Aquí tiene una captura de pantalla de SonoBus y Zoom juntos:

El vídeo estará algo fuera de sincronización con el audio SonoBus, pero todavía es muy agradable poder ver a los demás reproductores. En nuestras pruebas iniciales, encontramos que había una diferencia de sincronización de unos 50-100 Sra, con el vídeo de Zoom el audio SonoBus retrasado.

La ejecución de Zoom parecía no tener ningún efecto negativo en el rendimiento o la latencia de SonoBus. En nuestro caso, lanzamos Zoom después de que nuestra sesión SonoBus ya estuviera establecida.

Recursos de SonoBus

Sitio web de
SonoBus sonobus.net

Grupo de Facebook SonoBus Group d’
usuarios oficial de SonoBus

Grupo Google SonoBus
groups.google.com/g/sonobus-users

Canal de YouTube SonoBus
www.youtube.com/channel/UC1UmINxeCuysi-6Iyo8woqw

Youtube: Configuración de la primera ejecución de SonoBus
https://youtu.be/Z1qxi80GjRA

Youtube – Tutorial SonoBus – Entender y minimizar la latencia total de audio del sistema
https://youtu.be/96mW62ISECY

Youtube: cómo instalar nuevas aplicaciones de terceros en un MAC
https://youtu.be/vHdoYbrWQiY

ASIO4ALL
http://www.asio4all.org

Prueba de velocidad, latencia y fluctuación
https://speed.cloudflare.com

Wikipedia – Definición de Jitter
http://https://en.wikipedia.org/wiki/Jitter

Youtube: s’explica la inquietud
https://www.youtube.com/watch?v=MRJcwFXlMFU

Youtube: conceptos básicos de ancho de banda de red, latencia y fluctuación
https://www.youtube.com/watch?v=WdbJdUh6W08

Impactos: 468

3 votos