sábado, 18 de enero de 2014

[INVESTIGACIÓN] Planteamiento del tema y preparación de la plantilla

En este último semestre seleccioné el módulo de investigación, en el cual se llevará acabo un proyecto de investigación científica y/o desarrollo tecnológico con el cual se pretende realizar una tesis de licenciatura para la acreditación de la materia.

Todo esto bajo la supervisión de la Dra. Elisa Schaeffer.

Durante 16 semanas se llevará acabo una reunión inicial y una reunión final, cada una con un valor del 10% de la calificación correspondiente a la semana, dando el 20% de la calificación total. Durante cada semana se realizará la parte que corresponde al avance algorítmico (40%) y también al avance escrito (40%). Dando un total de 160 puntos, de los cuales se deben acreditar 112 puntos correspondientes al 70% de la calificación.

Para acreditar el módulo es necesario tener 3 cosas:
  • Blog: En el cuál se reportan los avances semanales.
  • Dropbox: En el que se tiene una carpeta compartida con los archivos LaTex correspondientes a la tesis en desarrollo.
  • Repositorio: En donde se encuentra el código del proyecto.

Evidencia de la primera semana
La primera reunión se llevó acabo el día viernes 17 de enero del 2014 en el cual se establecieron los requicitos necesarios para la primera semana.

Los requicitos són:
  • Asistencia a la primera reunión, creación del blog, repositorio y la carpeta copartida en Dropbox.
  • Subir al repositorio el primer avance como prueba con código.
  • Generar un esqueleto con los archivos LaTex de lo que será la tesis.
  • Asistencia a la reunión final.

Acerca de mi proyecto de tesis
Tuve varias opciones para un tema de tesis, despues de revisar que me convenía más decidí por el siguiente tema tentativo:

"Sistema de Mezclado de Audio basado en Reconocimiento de Patrones Sonoros"

Motivación
La mayoría de las personas escuchan música para entretenerse o relajarse mientras realizan sus actividades diarias. En cualquier lugar, siempre hay alguien escuchando música ya sea en su dispositivo móvil, computadora, en su auto, etc.

Muchas personas suelen escuchar música producida por DJ’s que generalmente se trata de mezclas de sonidos electrónicos producidos con sintetizadores. Otra característica es que su música generalmente es sin pausa, esto significa que mezclan varias pistas de audio utilizando ya sea técnicas como el Crossfading que consiste en fundir sonidos para dar continuidad a la pista, o bien utilizan una mezcla de sonidos que sigan el ritmo de la pista para que la música continue sin pausa.

Muchas aplicaciones suelen incluir un crossfade manual en el que se le configura un tiempo en el cual sucede una fundición entre la pista actual y la nueva pista de audio, disminuyendo gradualmente el volumen de la primera y aumentando el de la segunda, durante ese tiempo se corre un algoritmo de reconocimiento de patrones que trata de encontrar los primeros segundos de sonido de la segunda pista en los últimos segundos de la primera para dar continuidad. Un efecto agradable en pistas de audio grabadas en conciertos, pero una no siempre buena transición en música producida en estudios.

Meta
La meta de mi proyecto para tesis consiste en la creación de una herramienta que reconozca patrones similares en pistas de audio proporcionadas. Con tal herramienta y dependiendo de las librerías existentes se puede lograr crear aplicaciones que logren crear una transición entre pistas sin pausa para una mejor experiencia de sonido, o aplicaciones que creen mezclas de forma inteligente basándose en muestras de audio proporcionadas por el usuario.

Como lenguaje de programación decidí utilizar python por su facilidad de uso que me permitirá un desarrollo rápido y claro. Siempre con la filosofía de que quien sabe programar sabe hacerlo en cualquier lenguaje o plataforma, pues la intención es llevar esto a varias plataformas ya sea plataformas móviles o de escritorio.

Se utilizarán tentativamente las herramientas incluidas en python tales como:
  • audioop: Permite manipular información de audio.
  • wave: Una interface para el formato WAV.
  • ossaudiodev: Permite acceder a los dispositivos de sonido en sistemas Linux

Entre otras herramientas. Tambien se planea utilizar herramientas que la comunidad ha creado, pues algunas de estas librerías facilitarían mi tarea. Ya se mencionarán en siguientes entradas conforme se vayan implementando.

Trabajos relacionados
Virtual DJ: Un programa muy conocido que sirve para hacer mezclas, tiene una función llamada “Automix” que consiste en mezclar automáticamente 2 pistas ajustando el ritmo de la segunda pista para que concuerde con la primera y reajustando su ritmo de nuevo para regresarlo a su estado original, logrando un efecto de transición suavizado entre pistas.

Muxica: Una aplicación para iOS que utiliza un sistema inteligente para generar mezclas al estilo de la radio en forma de una transición suave. No puede realizar estas funciones con archivos protegidos con DRM.

Spotify: Todas las versiones de Spotify incluyen un ajuste de crossfade manual en el cual se analiza el audio para obtener una muestra que coincida entre la finalización de la primera pista con el inicio de la segunda. Perfecto para canciones grabadas en conciertos pero no muy bueno para canciones de estudio. Un valor de tiempo bajo o alto podría causar que no se consiga el efecto deseado.

Liga al repositorio: https://github.com/victoralex911/proyecto-tesis

No hay comentarios.:

Publicar un comentario