Git Product home page Git Product logo

p2's Introduction

PAV - P2: detección de actividad vocal (VAD)

Esta práctica se distribuye a través del repositorio GitHub Práctica 2, y una parte de su gestión se realizará mediante esta web de trabajo colaborativo. Al contrario que Git, GitHub se gestiona completamente desde un entorno gráfico bastante intuitivo. Además, está razonablemente documentado, tanto internamente, mediante sus Guías de GitHub, como externamente, mediante infinidad de tutoriales, guías y vídeos disponibles gratuitamente en internet.

Inicialización del repositorio de la práctica.

Para cargar los ficheros en su ordenador personal debe seguir los pasos siguientes:

  • Abra una cuenta GitHub para gestionar esta y el resto de prácticas del curso.

  • Cree un repositorio GitHub con el contenido inicial de la práctica (sólo debe hacerlo uno de los integrantes del grupo de laboratorio, cuya página GitHub actuará de repositorio central del grupo):

    • Acceda la página de la Práctica 2.
    • En la parte superior derecha encontrará el botón Fork. Apriételo y, después de unos segundos, se creará en su cuenta GitHub un proyecto con el mismo nombre (P2). Si ya tuviera uno con ese nombre, se utilizará el nombre P2-1, y así sucesivamente.
  • Habilite al resto de miembros del grupo como colaboradores del proyecto; de este modo, podrán subir sus modificaciones al repositorio central:

    • En la página principal del repositorio, en la pestaña ⚙️Settings, escoja la opción Collaborators y añada a su compañero de prácticas.
    • Éste recibirá un email solicitándole confirmación. Una vez confirmado, tanto él como el propietario podrán gestionar el repositorio, por ejemplo: crear ramas en él o subir las modificaciones de su directorio local de trabajo al repositorio GitHub.
  • En la página principal del repositorio, localice el botón Branch: master y úselo para crear una rama nueva con los primeros apellidos de los integrantes del equipo de prácticas separados por guion (fulano-mengano).

  • Todos los miembros del grupo deben realizar su copia local en su ordenador personal.

    • Copie la dirección de su copia del repositorio apretando en el botón Clone or download. Asegúrese de usar Clone with HTTPS.

    • Abra una sesión de Bash en su ordenador personal y vaya al directorio PAV. Desde ahí, ejecute:

      git clone dirección-del-fork-de-la-práctica
    • Vaya al directorio de la práctica cd P2.

    • Añada la etiqueta origin a su copia del repositorio. Esto es útil para facilitar los push y pull al repositorio original:

      git remote add origin dirección-del-fork-de-la-práctica
    • Cambie a la rama fulano-mengano con la orden:

      git checkout fulano-mengano
  • A partir de este momento, todos los miembros del grupo de prácticas pueden trabajar en su directorio local del modo habitual.

    • También puede utilizar el repositorio remoto como repositorio central para el trabajo colaborativo de los distintos miembros del grupo de prácticas; o puede serle útil usarlo como copia de seguridad.

    • Cada vez que quiera subir sus cambios locales al repositorio GitHub deberá confirmar los cambios en su directorio local:

      git add .
      git commit -m "Mensaje del commit"

      y, a continuación, subirlos con la orden:

      git push -u origin fulano-mengano
  • Al final de la práctica, la rama fulano-mengano del repositorio GitHub servirá para remitir la práctica para su evaluación utilizando el mecanismo pull request.

    • Vaya a la página principal de la copia del repositorio y asegúrese de estar en la rama fulano-mengano.
    • Pulse en el botón New pull request, y siga las instrucciones de GitHub.

Entrega de la práctica.

Responda, en este mismo documento (README.md), los ejercicios indicados a continuación. Este documento es un fichero de texto escrito con un formato denominado markdown. La principal característica de este formato es que, manteniendo la legibilidad cuando se visualiza con herramientas en modo texto (more, less, editores varios, ...), permite amplias posibilidades de visualización con formato en una amplia gama de aplicaciones; muy notablemente, GitHub, Doxygen y Facebook (ciertamente, 👀).

En GitHub. cuando existe un fichero denominado README.md en el directorio raíz de un repositorio, se interpreta y muestra al entrar en el repositorio.

Debe redactar las respuestas a los ejercicios usando Markdown. Puede encontrar información acerca de su sintáxis en la página web Sintaxis de Markdown. También puede consultar el documento adjunto MARKDOWN.md, en el que se enumeran los elementos más relevantes para completar la redacción de esta práctica.

Recuerde realizar el pull request una vez completada la práctica.

Ejercicios

Etiquetado manual de los segmentos de voz y silencio

  • Etiquete manualmente los segmentos de voz y silencio del fichero grabado al efecto. Inserte, a continuación, una captura de wavesurfer en la que se vea con claridad la señal temporal, el contorno de potencia y la tasa de cruces por cero, junto con el etiquetado manual de los segmentos.

  • A la vista de la gráfica, indique qué valores considera adecuados para las magnitudes siguientes:

    • Incremento del nivel potencia en dB, respecto al nivel correspondiente al silencio inicial, para estar seguros de que un segmento de señal se corresponde con voz.

    • Duración mínima razonable de los segmentos de voz y silencio.

    • ¿Es capaz de sacar alguna conclusión a partir de la evolución de la tasa de cruces por cero?

Desarrollo del detector de actividad vocal

  • Complete el código de los ficheros de la práctica para implementar un detector de actividad vocal tan exacto como sea posible. Tome como objetivo la maximización de la puntuación-F TOTAL.

  • Inserte una gráfica en la que se vea con claridad la señal temporal, el etiquetado manual y la detección automática conseguida para el fichero grabado al efecto.

  • Explique, si existen. las discrepancias entre el etiquetado manual y la detección automática.

  • Evalúe los resultados sobre la base de datos db.v4 con el script vad_evaluation.pl e inserte a continuación las tasas de sensibilidad (recall) y precisión para el conjunto de la base de datos (sólo el resumen).

Trabajos de ampliación

Cancelación del ruido en los segmentos de silencio

  • Si ha desarrollado el algoritmo para la cancelación de los segmentos de silencio, inserte una gráfica en la que se vea con claridad la señal antes y después de la cancelación (puede que wavesurfer no sea la mejor opción para esto, ya que no es capaz de visualizar varias señales al mismo tiempo).

Gestión de las opciones del programa usando docopt_c

  • Si ha usado docopt_c para realizar la gestión de las opciones y argumentos del programa vad, inserte una captura de pantalla en la que se vea el mensaje de ayuda del programa.

Contribuciones adicionales y/o comentarios acerca de la práctica

  • Indique a continuación si ha realizado algún tipo de aportación suplementaria (algoritmos de detección o parámetros alternativos, etc.).

  • Si lo desea, puede realizar también algún comentario acerca de la realización de la práctica que considere de interés de cara a su evaluación.

Antes de entregar la práctica

Recuerde comprobar que el repositorio cuenta con los códigos correctos y en condiciones de ser correctamente compilados con la orden meson bin; ninja -C bin. El programa generado (bin/vad) será el usado, sin más opciones, para realizar la evaluación ciega del sistema.

p2's People

Contributors

albino-pav avatar alexolpe avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.