Los formatos de intercambio de datos para sistemas ambisónicos han sufrido cambios radicales desde los primeros días de la cinta magnética de cuatro pistas. Los investigadores que trabajaban en sistemas de orden muy alto no encontraron una manera sencilla de ampliar los formatos tradicionales para adaptarlos a sus necesidades. Además, no había una formulación ampliamente aceptada de armónicos esféricos para acústica, por lo que se tomó prestada una de la química, la mecánica cuántica, los gráficos de computadora u otros campos, cada uno de los cuales tenía convenciones sutilmente diferentes. Esto condujo a una desafortunada proliferación de formatos ad hoc mutuamente incompatibles y a muchos dolores de cabeza.
Esta página intenta documentar los diferentes formatos existentes, sus fundamentos y su historia, para los más curiosos y aquellos que tienen la mala suerte de tener que lidiar con ellos en detalle.
La mayoría de las aplicaciones modernas utilizan ACN y SN3D, aunque el primer orden tradicional todavía es común.
Una formulación común para los armónicos esféricos en el contexto de la ambisónica es [1] donde denota un armónico esférico de grado e índice con un rango de .
(Tenga en cuenta que si , entonces .)
es un factor de normalización (ver más abajo) y es el polinomio de Legendre asociado de grado y orden . El ángulo acimutal es cero en línea recta y aumenta en sentido antihorario. El ángulo de elevación es cero en el plano horizontal y positivo en el hemisferio superior.
Desafortunadamente, en el lenguaje matemático el "orden ambisónico" se denomina grado , mientras que el "índice ambisónico" se denomina orden .
Para una señal de origen en la dirección , los componentes ambisónicos se dan por Si generamos un vector de dirección desde el origen hacia la fuente hasta que intersecta el armónico esférico respectivo, la longitud de este vector es el coeficiente que se multiplica por la señal de origen. Repita para todos los armónicos esféricos hasta el orden ambisónico deseado.
Para un intercambio exitoso de material ambisónico, algunos programas requieren que el transmisor y el receptor estén de acuerdo sobre el orden de los componentes, su normalización o ponderación y la polaridad relativa de los armónicos.
Dado que es posible omitir partes de la expansión multipolar armónica esférica para contenido que tiene una resolución no uniforme y dependiente de la dirección (conocida como orden mixto ), también podría ser necesario definir cómo tratar los componentes faltantes .
En el caso de transmisión "por cable", ya sea un enlace multicanal digital real o cualquier número de cables de conexión virtuales dentro de un motor de procesamiento de audio, estas propiedades deben coincidir explícitamente en ambos extremos, ya que normalmente no hay previsión para el intercambio de metadatos ni la negociación de parámetros. En el caso de los archivos, puede ser posible cierta flexibilidad, dependiendo del formato del archivo y de la expresividad de su conjunto de metadatos.
Sin embargo, en la práctica, sólo dos formatos se utilizan ampliamente. El primero es el formato de orden superior Furse-Malham , que es una extensión del formato B tradicional , y el más moderno SN3D , en orden de canal ACN . En ninguno de los casos hay ninguna ambigüedad sobre el orden, la normalización, la ponderación o la polaridad y es raro ver casos con componentes faltantes. Un tercer formato se utiliza de forma limitada: N3D , también en orden de canal ACN.
El formato B tradicional ( ) solo se ocupaba del orden ambisónico cero y el primero. Debido a la fuerte correspondencia entre los armónicos esféricos y los patrones polares del micrófono, y al hecho de que esos patrones polares tienen direcciones claramente definidas, parecía natural ordenar y nombrar los componentes de la misma manera que los ejes de un sistema de coordenadas de la mano derecha.
Para órdenes superiores, este precedente se vuelve incómodo, porque los armónicos esféricos se organizan más intuitivamente de manera simétrica alrededor del único miembro simétrico rotacionalmente z m=0 de cada orden, con los términos seno horizontales m<0 a la izquierda y los términos coseno m >0 a la derecha (ver ilustración).
En el formato de orden superior de Furse-Malham , una extensión del formato B tradicional hasta el tercer orden, [2] los órdenes 2 ( ) y 3 ( ) comienzan con su miembro simétrico rotacionalmente z y luego saltan hacia afuera a la derecha y la izquierda (ver tabla), con los componentes horizontales al final. Las extensiones de orden superior se definen trivialmente, pero no se utilizan. [2]
En su tesis seminal de 2001, [3] Daniel utilizó una nomenclatura de tres índices para los armónicos esféricos, que corresponde a la notación utilizada aquí. [nota 1] Implicó otro ordenamiento de canales, que posteriormente se desarrolló en una propuesta explícita llamada SID para la Designación de Índice Único [4] que fue adoptada por varios investigadores. Este esquema es compatible con el formato B de primer orden y continúa atravesando los armónicos esféricos superiores de la misma manera, con el componente simétrico rotacionalmente z al final, pasando primero por los componentes horizontales. Sin embargo, es incompatible con Furse-Malham. El ordenamiento SID no se usa ampliamente.
Para los futuros sistemas de orden superior, la adopción del Número de Canal Ambisónico (ACN) [5] ha alcanzado un amplio consenso. Se determina algorítmicamente como .
ACN se utiliza ampliamente con SN3D y N3D, a continuación.
Más sencillamente:
FuMa = WXYZ | RSTUV | KLMNOPQ
ACN = WYZX | VTRSU | QOMKLNP
SID = WXYZ | UVSTR | PQNOLMK
SID utilizado en iem_ambi en Puredata.
Para reconstruir con éxito el campo sonoro, es importante acordar un método de normalización para los componentes armónicos esféricos. Los siguientes enfoques son comunes:
El esquema maxN de Daniel normaliza cada componente individual para que nunca supere una ganancia de 1,0 para una fuente monofónica panoramizada. Malham afirma que "si bien este enfoque no es rigurosamente "correcto" en términos matemáticos [ ¿por qué? ] , tiene importantes ventajas de ingeniería porque restringe los niveles máximos que una fuente mono panoramizada generará en algunos de los canales de orden superior". [2] Esta propiedad es particularmente interesante para las interfaces digitales de punto fijo. Los pesos maxN se pueden determinar mediante inspección visual hasta el tercer orden; por encima de este valor, los máximos de cada polinomio deben determinarse explícitamente. [2]
MaxN se utiliza en el formato Furse-Malham (con la excepción de un factor de corrección de -3dB para , que lo hace directamente compatible con el formato B tradicional). Por lo demás, no se utiliza ampliamente.
SN3D significa seminormalización de Schmidt y se utiliza habitualmente en geología y magnetismo. Los coeficientes de ponderación son [ dudosos – discutir ] [6]
Originalmente introducido en el uso de Ambisonic por Daniel, él señala: "Alto grado de generalidad: los coeficientes de codificación son computables recursivamente y los componentes de primer orden son vectores unitarios en sus respectivas direcciones de incidencia" . [7]
Con SN3D, a diferencia de N3D, ningún componente superará jamás el valor pico del componente de orden 0 para fuentes puntuales individuales. [1] Este esquema ha sido adoptado por el formato AmbiX propuesto.
SN3D (en el orden de canales ACN) tiene un uso generalizado y es una opción común en el desarrollo de software nuevo.
En el documento de especificaciones de Ambix, el término se reemplaza por .
La normalización N3D o tridimensional completa es el enfoque más obvio para la normalización. Daniel la describe de la siguiente manera: " Base ortonormal para la descomposición 3D. Relación simple con SN3D [...]. Garantiza la misma potencia de los componentes codificados en el caso de un campo 3D perfectamente difuso. [...] Importancia obvia para resolver problemas de decodificación [...] (reconstrucción 3D)". [8]
La relación con SN3D es [9]
Esta normalización es estándar en física y matemáticas y algunos paquetes de software Ambisonic la admiten. Se utiliza en MPEG-H. Sin embargo, ahora es mucho más común el SN3D.
Como N3D y SN3D difieren solo en los factores de escala, se debe tener cuidado al trabajar con ambos, ya que puede no ser obvio en la primera escucha si se ha cometido un error, particularmente en un sistema con una pequeña cantidad de altavoces.
Además, existen dos esquemas que consideran únicamente los componentes horizontales. Esto tiene ventajas prácticas para los medios de punto fijo en la situación común donde las fuentes se concentran en el plano horizontal, pero la normalización es algo arbitraria y sus suposiciones no se sostienen para campos sonoros fuertemente difusos y escenas sonoras con fuentes elevadas fuertes. Dado que Ambisonics está pensado para ser isotrópico y los esquemas 2D definitivamente no lo son, su uso se desaconseja.
Una tercera complicación surge de la formulación mecánico cuántica de los armónicos esféricos, que fue adoptada por algunos investigadores de Ambisonics. Incluye un factor de , una convención llamada fase de Condon-Shortley , que invertirá la polaridad relativa de todos los demás componentes dentro de un orden Ambisonic dado. El término puede incorporarse tanto en la formulación de los polinomios de Legendre asociados como en el coeficiente de normalización, por lo que puede que no siempre sea obvio.
Tanto MATLAB como GNU Octave incluyen la fase Condon-Shortley en sus legendre(ℓ,X)
funciones, pero la deshacen aplicando el factor nuevamente en la forma seminormalizada de Schmidt legendre(ℓ,X,'sch')
. [10] [11]
Wolfram Language también incluye la fase CS en su legendreP(ℓ,X)
implementación, [12] y la conserva en SphericalHarmonicY[ℓ,m,θ,φ]
, que está completamente normalizada. [13] Tenga en cuenta que esta función devuelve valores complejos y utiliza la convención física para coordenadas esféricas donde es el ángulo cenital (ángulo desde el eje Z positivo) y es el acimut (ángulo en sentido antihorario alrededor del eje Z positivo).
La presencia de la fase Condon-Shortley en partes de la cadena de señal generalmente se manifiesta en un comportamiento de paneo errático y un aumento del ancho de fuente aparente al pasar a órdenes superiores, lo que puede ser algo difícil de diagnosticar y mucho más difícil de eliminar. Por lo tanto, su uso se desaconseja enérgicamente en el contexto de la ambisónica.
Ninguno de los formatos de intercambio ambisónico descritos anteriormente utiliza la fase Condon-Shortley. La polaridad generalmente solo es una preocupación cuando se intenta conciliar formulaciones teóricas de los armónicos esféricos de otras disciplinas académicas.
La siguiente tabla ofrece una descripción general de todos los formatos Ambisonic publicados hasta ahora.
Los factores de conversión se pueden aplicar a los componentes ambisónicos o a los armónicos esféricos .
Los datos proceden de Chapman (2008). [14]
No confíe en esta tabla hasta que haya sido revisada exhaustivamente y se haya eliminado el aviso "En construcción".
Sin embargo, tenga en cuenta que solo las codificaciones Furse-Malham y SN3D/ACN se utilizan ampliamente. (El formato B tradicional es un subconjunto de Furse-Malham). Para ambas codificaciones, las ecuaciones se pueden expresar directamente, sin factores de normalización o conversión separados, y no hay ambigüedad en cuanto al orden.
Para el almacenamiento y la transmisión basados en archivos, se deben definir propiedades adicionales, como el formato de archivo base y, si se desea, los metadatos que lo acompañan.
El .amb
formato de archivo fue propuesto y definido por Richard Dobson en 2001, [15] basándose en la modificación WAVE_FORMAT_EXTENSIBLE de Microsoft al formato de archivo de audio WAV . Establece el uso de la codificación Furse-Malham.
De su padre, hereda un tamaño máximo de archivo de 4 GB, lo que supone una limitación importante para la grabación en vivo en órdenes superiores.
.amb
Los archivos se distinguen de otro contenido multicanal por su sufijo y al configurar el Identificador único global del subtipo de archivo en sus datos de encabezado con cualquiera de los siguientes valores:
SUBTYPE_AMBISONIC_B_FORMAT_PCM {00000001-0721-11d3-8644-C8C1CA000000}
para muestras enteras, oSUBTYPE_AMBISONIC_B_FORMAT_IEEE_FLOAT {00000003-0721-11d3-8644-C8C1CA000000}
para punto flotante.La definición exige que WAVE_EX dwChannelMask
se establezca en cero. Además, recomienda que el archivo contenga un PEAK
fragmento que contenga el valor y la posición de la muestra más alta en cada canal.
Los canales dentro de un .amb
archivo se intercalan y se omiten los canales no utilizados. Esto permite identificar el contenido tradicional de orden mixto #H#P por la cantidad de canales presentes, según la siguiente tabla: [15]
La biblioteca C gratuita y de código abierto libsndfile incluye .amb
soporte desde 2007.
El formato de Dobson ha sido fundamental para que el contenido ambisónico nativo sea fácilmente accesible para los entusiastas y para allanar el camino para la investigación y el despliegue de ambisónicos de orden superior. Si bien no puede escalar más allá del tercer orden y no admite conjuntos de orden mixto #H#V , sus capacidades son más que suficientes para la mayoría del contenido ambisónico existente en la actualidad, y la compatibilidad con versiones anteriores .amb
es una característica importante de cualquier flujo de trabajo ambisónico del mundo real.
AmbiX [1] adopta el formato Core Audio de Apple o .caf
. Se escala a órdenes arbitrariamente altos y no tiene ninguna limitación prácticamente relevante en cuanto al tamaño de archivo. Los archivos AmbiX contienen datos PCM lineales con longitudes de palabra de 16, 24 o 32 bits de punto fijo, o 32 o 64 bits de coma flotante, a cualquier frecuencia de muestreo válida para .caf
. Utiliza ordenamiento de canales ACN con normalización SN3D.
El formato básico de AmbiX exige un conjunto completo de señales esféricas, cuyo orden se puede deducir de forma única y trivial a partir del número de canales. Solo .caf
está presente la información de encabezado mínima requerida por la especificación y no se incluyen otros metadatos.
El formato extendido está marcado por la presencia de un fragmento definido por el usuario con el UUID
1AD318C3-00E5-5576-BE2D-0DCA2460BC89
.(Las especificaciones originales utilizadas , que es un UUID no válido [16] ). Además, el encabezado ahora contiene una matriz adaptadora de coeficientes, que debe aplicarse a los flujos de datos antes de que puedan reproducirse. Esta matriz proporciona una forma genérica de mapear cargas útiles en cualquier formato anterior y cualquier combinación de órdenes a la periferia canónica, el ordenamiento ACN y la normalización SN3D. Teóricamente, incluso puede acomodar campos de sonido que abarcan solo subconjuntos de la esfera .49454D2E-4154-2F41-4D42-49582F584D4C
AmbiX se propuso originalmente en el Simposio Ambisonic 2011, basándose en trabajos previos de Travis [17] y Chapman et al. [5].
Max-Normalisation (MaxN) por Daniel [...] Los factores para esto se pueden obtener por inspección hasta aproximadamente el tercer orden, pero más allá de este punto se vuelve más difícil y requiere que los máximos de cada polinomio se determinen (ya sea matemática o numéricamente) explícitamente y luego se inviertan.