Ir al contenido

Acerca de

Esta página existe porque una biblioteca que te pide que confíes en sus números te debe el nombre de quien está detrás, el método del que salen esos números y una forma de avisarme cuando alguno esté mal.

Soy José Manuel Requena Plens. Escribí phonometry (publicada originalmente como PyOctaveBand) y la mantengo: las implementaciones, la batería de tests, este sitio de documentación y las publicaciones de versiones. No hay ninguna empresa detrás ni ningún equipo, así que si algo de este sitio está mal, me toca a mí corregirlo.

Puedes comprobar quién soy por cualquiera de estas vías:

La misma identidad está publicada también en MathWorks File Exchange, LinkedIn, Mastodon y Keyoxide, donde figura la clave OpenPGP con la que firmo mi trabajo.

Mi formación es de acústica y de tratamiento de señal, y está registrada en lugar de autodescrita: soy Ingeniero de Telecomunicación especializado en Sonido e Imagen por la Universidad de Alicante (2011-2018), cursé el Máster en Ingeniería Acústica de la Universitat Politècnica de València (2018-2019) y trabajé como investigador en acústica en la UPV de 2020 a 2023, donde publiqué sobre metasuperficies acústicas, difusores de sonido y predicción de campos acústicos; los artículos están listados en los perfiles de Google Scholar y ORCID de arriba. Hoy trabajo en I+D industrial como ingeniero de firmware y software.

La biblioteca nació de la parte de medición de ese trabajo: necesitaba una y otra vez niveles de bandas de octava y magnitudes de sonómetro que pudiera defender frente a una tabla de tolerancias, así que los construí bien una sola vez en lugar de volver a deducirlos en cada proyecto.

El método es la razón de ser del proyecto, y es deliberadamente estrecho:

  1. Implemento cada métrica a partir del texto de la norma que la rige, apartado a apartado, y no a partir de una descripción secundaria ni de otra implementación. Cuando una fórmula es ambigua, la ambigüedad se resuelve con el propio documento o con la física, y la lectura que he elegido queda escrita.
  2. Transcribo a la batería de tests los valores de referencia de la propia norma. Cuando una norma publica un ejemplo resuelto, una tabla de tolerancias o un conjunto de respuestas nominales (los valores de ponderación de la Tabla 3 de IEC 61672-1, las respuestas a ráfagas tonales de su Tabla 4, los límites de filtro de la Tabla 1 de IEC 61260-1, los contornos del Anexo B de ISO 226 y demás), esos números pasan a ser los valores esperados de tests reales.
  3. CI los exige en cada cambio. Una regresión que saque un valor calculado fuera del límite de aceptación de la norma tumba la compilación, de modo que la afirmación no puede dejar de ser cierta en silencio entre versiones.

No todas las normas publican un ejemplo numérico. Cuando no lo hacen, la implementación se ancla a las expresiones en forma cerrada del texto normativo y se fija con un caso sintetizado a un resultado conocido, lo que es una garantía más débil que un ejemplo resuelto transcrito. Esas comprobaciones lo dicen en el informe de conformidad, en la propia celda del valor esperado y no como una marca aparte por la que pudieras filtrar: la expresión que hay que buscar es «forma cerrada» o «analítico». Prefiero decirlo con claridad antes que redondearlo al alza, y prefiero que sepas qué clase de evidencia tienes entre manos: una comprobación en forma cerrada demuestra que la implementación concuerda con las ecuaciones tal como están escritas, y no puede detectar una mala lectura del apartado del que salieron esas ecuaciones. Por eso existe a su lado el registro de erratas.

Los números son públicos: ese informe recoge, para cada comprobación, la norma y el apartado, el valor esperado normativo, el valor que calcula realmente la biblioteca, la diferencia y un veredicto de cumple o no cumple; CI lo regenera en cada pull request, así que no puede desviarse del código. Por qué phonometry recorre el método sobre un caso resuelto concreto (la ponderación temporal según IEC 61672-1:2013) si quieres verlo aplicado de principio a fin antes de confiar en él de forma general.

Infórmalo, por favor. Un número equivocado del que nadie me avisa se queda equivocado.

Abre una incidencia en github.com/jmrplens/phonometry/issues. El informe más útil me indica la norma y el apartado contra el que estás comprobando, el valor esperado, el valor que ha dado phonometry y un fragmento de código breve que lo reproduzca. Si no puedes compartir la señal, con los parámetros suele bastarme para reconstruir un caso.

Si el gestor de incidencias no es una opción para ti, escríbeme directamente a mail@jmrp.io; aun así la incidencia es el mejor canal, porque el informe y la corrección quedan públicos junto al código al que afectan.

Eso incluye los errores que encuentres en las propias normas. Volver a deducir las fórmulas y recalcular los ejemplos resueltos a partir de los documentos originales saca a la luz de vez en cuando defectos en las propias fuentes: erratas de imprenta, ejemplos resueltos que contradicen su propio texto normativo, redacciones ambiguas. No los sorteo en silencio. Cada caso confirmado queda registrado en el registro de erratas con la localización, la evidencia, la lectura que implementa la biblioteca y si se ha comunicado al organismo emisor. Se mantiene como docs/ERRATA.md en el repositorio y se trasplanta al sitio al compilar, así que los dos no pueden discrepar. El registro cubre por igual normas (ISO, IEC, EN), documentos de orientación e informes técnicos, libros de texto y artículos de revista. Si no estás de acuerdo con alguna de esas lecturas, esa es justo la clase de incidencia que quiero recibir.

Si phonometry ha contribuido a un trabajo publicado, cítalo, por favor. El registro archivado y su DOI están en Zenodo:

doi.org/10.5281/zenodo.21215280

Ese es el DOI de concepto: siempre resuelve a la versión archivada más reciente, y cada versión tiene además su propio DOI en ese mismo registro. Cita la versión que hayas ejecutado realmente.

APA:

Requena-Plens, J. M. (2026). phonometry: acoustic measurement toolkit for Python (formerly PyOctaveBand) (Versión 3.3.0) [Software]. https://doi.org/10.5281/zenodo.21215280

BibTeX:

@software{requenaplens_phonometry,
author = {Requena-Plens, Jos{\'e} M.},
title = {phonometry: acoustic measurement toolkit for Python
(formerly PyOctaveBand)},
year = {2026},
version = {3.3.0},
doi = {10.5281/zenodo.21215280},
url = {https://jmrplens.github.io/phonometry/},
license = {MIT}
}

Ambas entradas están derivadas de CITATION.cff en el repositorio, que son los metadatos autorizados y el fichero que leen GitHub y Zenodo. Si usas un gestor de referencias, importa ese fichero en lugar de copiar el bloque de arriba, y ajusta la versión y el año a la publicación que hayas utilizado.

phonometry se distribuye bajo la licencia MIT, de modo que puedes usarla en trabajos comerciales y académicos, modificarla y redistribuirla, siempre que el aviso de copyright y el texto de la licencia viajen con ella. El software se entrega sin garantía: está verificado frente a las normas que implementa, tal como se describe más arriba, pero no es un instrumento calibrado y no tiene ninguna acreditación. Decidir si un resultado es adecuado para tu propósito sigue siendo cosa tuya.

En concreto, para los laboratorios y las consultoras para los que está escrita sobre todo: la biblioteca calcula y documenta, no mide, así que la trazabilidad se queda en la cadena de instrumentación — un calibrador y un micrófono con certificados en vigor, e instrumentación con aprobación de modelo allí donde la medición tenga efectos legales. Las entidades de acreditación esperan que el software de cálculo esté validado para su uso previsto y que quede registro de ello, y el documento que sirve para eso es el informe de conformidad de la versión exacta que se ejecutó: fija la versión, archiva su informe junto con los datos de medición y guarda al lado el registro de erratas, ya que documenta cada punto en el que la lectura implementada difiere de una fuente impresa. Y la maquinaria de incertidumbre propaga lo que le des: la tolerancia del calibrador y la deriva antes/después siguen siendo cosa tuya.

Las normas en sí tienen los derechos de autor de sus organismos emisores y no se redistribuyen aquí. Esta documentación cita apartados y valores de referencia en la medida necesaria para explicar y verificar las implementaciones; no sustituye a la compra de los documentos.

Si has llegado hasta aquí y quieres empezar a usarla, Primeros pasos instala la biblioteca y ejecuta un primer análisis calibrado, ¿Qué necesitas medir? encuentra la página de un trabajo concreto, y Todas las guías es el mapa de la biblioteca entera agrupada por temas. Si has venido a comprobar un número y no a instalar nada, el informe de conformidad y el registro de erratas son las dos páginas que responden a eso.