Buenos días.
Tras conocer algo mejor vuestras necesidades, paso a replantearos la propuesta con las siguientes características:
La aplicación consta de dos pantallas.
La primera pantalla (la que nos encontramos al abrir la aplicación) presentaría las herramientas de configuración:
- Número de colores.
- Duración mínima del color en pantalla en segundos, con precisión de décimas de segundo (un decimal). La precisión puede ser la que queráis, consideradlo simplemente una propuesta.
- Delay entre el sonido y su estímulo visual, en segundos, con precisión de décimas de segundo (exactamente igual que el punto anterior) y mayor o igual a 0.
- Tiempo de transición entre colores. En este punto me gustaría que me aclararais si en cada cambio de color se hace un fade out del color antiguo y un fade in del nuevo o si se hace una transición en degradado de un color al siguiente. A efectos de presupuesto es irrelevante, es sólo una aclaración para mí. Éste tiempo de transición deberá ser menor o igual que el tiempo mínimo de permanencia del color en pantalla, y el sistema deberá impedir la entrada de valores erróneos.
La pantalla mostraría un botón de "Iniciar", que nos llevarían a la siguiente pantalla, que sólo muestra un color sólido.
Dicho color se actualiza cada 50 milisegundos (siempre teniendo en cuenta el valor establecido de tiempo mínimo de permanencia del color) mostrando un color u otro dependiendo de la intensidad del sonido.
Con respecto al color me gustaría que me aclaraseis, aunque tampoco afecta al presupuesto, si hay un cierto número de colores preestablecidos en la aplicación, o si los N colores se distribuyen de forma homogénea entre un color correspondiente al nivel más bajo y otro correspondiente al nivel más alto, y, de ser así, si esos dos colores son configurables o son fijos y preestablecidos en la aplicación.
La autodetección de los niveles de intensidad máximo y mínimo se haría a lo largo de toda la sesión. Esto puede provocar que el software actúe de forma "extraña" durante los primeros segundos de la misma. Para evitar esto, se iniciaría la sesión con 2 valores (máximo y mínimo) preestablecidos, que se actualizarían a los valores reales pasados, por ejemplo, 10 segundos de sesión. A partir de ese momento, los valores máximo y mínimo podrán reducirse y aumentarse respectivamente en función de la interacción. Si preferís que utilice valores reales desde el comienzo de la sesión, se puede hacer sin que afecte al presupuesto.
En cualquier momento podemos pulsar la tecla "esc" para volver a la pantalla de configuración, en la que, tras cambiar los parámetros que estimemos oportunos, podemos iniciar una nueva sesión.
En el plano técnico, sólo quería aclarar que la aplicación no guardaría fichero alguno en el ordenador, sino que almacenaría en memoria la información sobre los sonidos, borrando periódicamente la información que ya haya sido representada en pantalla, para prevenir el aumento indefinido del consumo de memoria que provocaría la ralentización de la aplicación pasado un tiempo.
Para terminar, en las anteriores ocasiones, hemos hablado siempre de intensidad de sonido, pero en vuestro último mensaje habláis de tono.
Esta propuesta está hecha teniendo en cuenta la intensidad del sonido. Si necesitáis que se tenga en cuenta el tono en su lugar, os pediría que me lo hicierais saber.
Un cordial saludo.
Sergio.