Arquitectura para parametrización de atributos en sistema de tiempo real - García Marset, Matias Alejandro (2021)
Durante el siglo pasado, el desarrollo de instrumentos electrónicos acompañó grandes cambios en la forma de hacer música. Además de guitarras, bajos eléctricos y samplers, se exploraron técnicas computacionales para la elaboración de mejores sintetizadores buscando interpretar y concebir una gran variedad de sonidos. La simulación numérica mediante diferencias finitas, por su parte, permite capturar las características de los instrumentos brindando, además, un alto nivel de flexibilidad a la hora de modificar propiedades inherentes del objeto simulado. En particular, la simulación de una cuerda está controlada por una gran variedad de parámetros (fricción, frecuencia, masa, entre otros) que permiten la posibilidad de experimentar diferentes sonidos mediante sus variaciones. Así, una determinada configuración podrá generar el sonido de una cuerda de guitarra criolla y otra producir´ıa el de una guitarra eléctrica. No obstante, esta técnica de simulación tiene un alto costo computacional ya que debe ejecutarse en tiempo real en base a las perturbaciones introducidas por el ejecutante, imponiendo un desafío computacional en sí mismo. Este trabajo de tesis se enmarca en un proyecto interdisciplinario que tiene por objetivo crear herramientas de simulación de instrumentos musicales que puedan ser utilizadas por diferentes públicos (desde estudiantes hasta luthiers). Se busca obtener simulaciones fidedignas así como abrir la posibilidad de crear nuevos sonidos, facilitando la experimentación para lograr sonoridades nuevas o mejoradas. Esta exploración se realiza por medio de la modificación de los distintos parámetros que controlan la simulación y se debe lograr sin que estos cambios afecten a la fluidez de la simulación, representando todo un desafío, ya que la misma debe generar resultados en el orden de los microsegundos para evitar latencias, distorsiones o interrupciones. Es decir que cualquier cambio en las propiedades, por más grande o pequeño que sea, no debe escaparse de este límite. A su vez es imperativo contar con un protocolo de comunicación entre el usuario y el simulador tal que no limite la cantidad o tamaño de los parámetros de entrada removiendo cualquier tipo de restricción a la hora de experimentar con el instrumento. En esta tesis extendimos un prototipo de simulador de cuerdas que admitía exclusivamente MIDI como entrada para que también acepte un nuevo protocolo capaz de transmitir todas las propiedades deseadas sin las limitaciones propias de MIDI. Para esto buscamos e implementamos una arquitectura que permite ampliar los parámetros que utiliza el sintetizador en forma dinámica, sin que esto produzca interrupciones en la simulación (o incumplimientos en los límites temporales del sistema). Así fue que se adaptó el simulador a la arquitectura propuesta, utilizando un protocolo de actualización que admite realizar cambios a los distintos componentes del sistema, enriqueciendo la interacción del usuario con el sintetizador. Adicionalmente agregamos una interfaz más amigable, mediante una aplicación Android, para facilitar la explotación de la herramienta a instrumentistas manteniendo muy bajo impacto en el sistema (menor a 400 µs) y una correcta latencia (en el orden de 15 ms).