jueves, 13 de marzo de 2014

[INVESTIGACIÓN] Diseño experimental

En esta semana se trabajó con el siguiente capítulo de tesis llamado diseño experimental. Consiste en describir los procesos de evaluación para el proyecto.

Decidí hacer dos tipos de pruebas: pruebas de rendimiento y pruebas con usuarios.

Las pruebas de rendimiento consisten en correr el programa bajo ciertas circunstancias y analizar su comportamiento, son las siguientes:
  • Velocidad de procesamiento: Se hace una prueba de velocidad de procesamiento mientras se reproduce un archivo.
  • Presición algorítmica: Se evalúa que tan acertado es el programa al generar datos.
  • Eficiencia de ejecución: Se evalúan aspectos de rendimiento en cuanto a la plataforma.
La intención es correr estas pruebas en las plataformas distintas plataformas disponibles en distintas circunstancias de software y hardware.

Por otra parte, las pruebas con usuarios solo son encuestas de retroalimentación, son las siguientes:
  • Generación automática de listas de reproducción: El usuario evalúa presición y calidad.
  • Transición y mezclado entre pistas: El usuario evalúa que tan bueno o malo es el efecto de transición y mezclado de pistas.
  • Interfaz gráfica: El usuario evalúa la usabilidad del software.
Avance de proyecto

Durante esta semana se trabajo en el reconocimiento de patrones y se modificaron cosas menores.

Para la detección de patrones utilizo la información obtenida de las pistas y busco coincidencias numéricas. Una vez encontradas todas las coincidencias se procede a comparar rangos de valores para intentar agrupar patrones.

Para hacer una prueba utilicé esta pista:

120 BPM

La pista de audio es muy constante, aunque las intensidades varían un poco el tiempo entre picos es similar, casi 2 picos por segundo dando un tempo de 120 BPM aproximado.

Al correr el programa de detección de patrones éste es el resultado:

Como se puede observar el resultado es una serie de listas con valores. El primer número fuera de la lista representa la posición temporal, por ahora manejo un índice. Los valores de la lista son los graficados anteriormente.

La primera fila contiene todos los valores graficados en orden. La cual es útil para analizar el orden de los patrones.

El resto de filas se organizan por patrones basados en similitudes.

Los siguientes datos describen un patrón con los valores [14070, 120]:

1 [14070, 120]
3 [14070, 120]
5 [14070, 120, 18760, 120]
9 [14070, 120]
11 [14070, 120, 28140, 120, 18760, 120]
17 [14070, 120, 18760, 120]
21 [14070, 120]
23 [14070, 120]
25 [14070, 120]
27 [14070, 120]
29 [14070, 120, 18760, 120]
33 [14070, 120, 18760, 120]
37 [14070, 120]
39 [14070, 120]
41 [14070, 120]
43 [14070, 120, 11260, 120, 18760, 120]
49 [14070, 120, 18760, 120, 28140, 120, 18760, 120, 18760, 120, 18760]

Por otra parte los datos valores describen un patron invertido:

2 [120, 14070]
4 [120, 14070]
6 [120, 18760]
8 [120, 14070]
10 [120, 14070]
12 [120, 28140]
14 [120, 18760]
16 [120, 14070]
18 [120, 18760]
20 [120, 14070]
22 [120, 14070]
24 [120, 14070]
26 [120, 14070]
28 [120, 14070]
30 [120, 18760]
32 [120, 14070]
34 [120, 18760]
36 [120, 14070]
38 [120, 14070]
40 [120, 14070]
42 [120, 14070]
44 [120, 11260]
46 [120, 18760]
48 [120, 14070]
50 [120, 18760]
52 [120, 28140]
54 [120, 18760]
56 [120, 18760]
58 [120, 18760]

El resto de datos también describen patrones con valores variados pero para muchos de esos valores ya se describió un patron que incluye al menos una vez su posición temporal.

Con la posición temporal y los datos obtenidos es posible calcular el inicio y final de una pista, los cuales son útiles para generar una transición entre pistas.

Para las siguientes semanas se trabajará en mejorar el algoritmo y se iniciará con las primeras pruebas en la generación de pistas de reproducción basadas en simples comparaciones de datos y el tiempo de separación entre picos.

No hay comentarios.:

Publicar un comentario