Git Product home page Git Product logo

isra00 / neo-transposer Goto Github PK

View Code? Open in Web Editor NEW
10.0 10.0 1.0 74.12 MB

Automatically transpose the chords of the songs of the Neocatechumenal Way so that they fit your voice range. Available in Spanish, Italian, Portuguese, English and Swahili!

Home Page: http://neo-transposer.com

License: GNU Affero General Public License v3.0

PHP 68.03% Shell 0.11% CSS 9.44% Twig 21.15% Dockerfile 0.58% Makefile 0.69%

neo-transposer's People

Contributors

dependabot[bot] avatar isra00 avatar miguelms95 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

miguelms95

neo-transposer's Issues

[UX] Site tour en TransposeSong

Explicaciones flotantes, especialmente necesario si se oculta la equivalente/no equivalente y con la asamblea.
Se mostrará únicamente la primera vez que el usuario accede a TransposeSong, independientemente del canto que esté transportando.
Prototipo implementado con intro.js - Documentación

captura de pantalla de 2016-09-30 18-42-44
captura de pantalla de 2016-09-30 18-42-55

[ALG] Implementar Artistic adjustment

Por composición, algunos cantos están hechos para ser cantados con el registro alto o bajo. Pero el algoritmo actual del Transposer siempre los sitúa en el medio. Esta característica permite subir o bajar la transposición "centrada" por motivos artísticos hasta un máximo de 2 semitonos, siempre dentro del rango vocal del usuario.

Cuestión peliaguda: mostrar la transposición "ajustada" (Adjusted) como primera opción?

  • Si resulta que para ese canto hay una transposición notEquivalent que coincide con la Adjusted, parece plausible ponerla como primera opción.
  • Si para ese canto hay una transposición notEquivalent en sentido contrario a la Adjusted (es decir, que la notEquivalent es -1 y la Adjusted +1, o viceversa), entonces no se debería mostrar la notEquivalent.
  • Si no hay notEquivalent... tomar una decisión al respecto

Ofrecer a los unhappy users un rango estándar hombre/mujer

El wizard, si no se hace bien, en vez de mejorar la precisión sobre las voces estandar del firstStep, puede empeorarla. Quizá ese es el caso de los unhappy users actuales.

  1. Detectar los unhappy users: cuando se recibe un fb negativo, se catalogará en db [BOOL user.is_unhappy] como unhappy si tiene un performance inferior a 50% y más de 5 fb
  2. En Book, mostrar un flash o pop-up diciendo que parece unhappy seguramente porque no midió bien su voz, que el wizard es complicado y que aquí le ofrecemos una opción más fácil: ¿eres hombre o mujer? Con un click basta [TIMESTAMP user.chose_std].
  3. Trackear performance antes y después de haber hecho ese click, y mostrarlo en el AdminDashboard: antes y después.

Actualmente el 5.7% de los usuarios que han reportado fb son unhappy (fb < 0.5), aunque solo 1/3 han reportado más de 5 fb.

Notificar cantos de gran amplitud

En cantos de amplitud > x, aviso "Ojo, canto difícil: baja mucho y sube mucho. Pero canta con confianza, esta transposición es la correcta para tu voz!"

Páginas de errores 404 y 500 molonas.

Los "Sorry, the page you are looking for could not be found." y "Whoops, looks like something went wrong." por defecto de Silex no molan. Aprovechar que se manejan esos errores para reportar los 500 con un email al administrador o algo así.

[TEC] Evitar código duplicado GeoIP

AdminDashboard, AdminTools y NeoApp implementan por separado la misma funcionalidad: instanciar un objeto \GeoIp2\Database\Reader con la BD apropiada. Lo suyo sería hacer un service de NeoApp.

[ALG] Decidir elección de transposiciones

Dadas las transposiciones:

  1. centered1
  2. centered2
  3. notEquivalent1 (y quizá notEquivalent2)
  4. artisticallyAdjusted
  5. compatibleWithPeople

decidir cuáles se muestran al usuario, en qué orden y con qué apariencia.

Referencia de acordes

Sería bueno tooltip en TransposeChords (=> clase Chord y toda la mandanga). Como solución rápida, página estática con acordes pillados de por ahí, o incluso link a web externa.

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.