ultrastares / ultrastar-worldparty

UltraStar WorldParty. A karaoke game inspired by SingStar™
https://ultrastar-es.org
GNU General Public License v3.0
135 stars 35 forks source link

Añadir parámetro #INSTRUM a las canciones #96

Open DragonGroar opened 5 months ago

DragonGroar commented 5 months ago

Buenas. Hace un par de meses pregunté por el foro sobre esta función que me había animado a añadir al juego: la posibilidad de añadir instrumentales a las canciones. Sé que me dijisteis que en principio esta función estaba descartada y que no se iba a añadir, y en parte por eso y en parte porque he estado ocupado es por lo que he tardado tanto en hacer esta pull request.

No obstante, os la comparto igualmente porque a mí me parece una función muy útil para el programa independientemente de la web, y de que ponerse a actualizar todas las canciones existentes para añadir esta función sería imposible. Es una función que puede simplemente estar ahí en el programa y, en adelante, quien quiera que la use, y quien no le va a funcionar el programa exactamente igual que hacía anteriormente. Por eso os la propongo, esta vez con el código en la mano.

Yo ya la tengo añadida en un par de canciones que o bien he hecho yo en el Yass o he descargado de la web y retocado añadiendo esto, y me funciona muy bien, y la mejora respecto al filtro en algunas canciones es tremenda.

Os dejo aquí la descripción traducida (y bien formateada) de la commit en mi fork, donde explico brevemente cómo funcionaría:

Añadido parámetro opcional #INSTRUM a los archivos de las canciones.

Permite especificar un archivo de audio adicional para la variación instrumental de la canción, que sería reproducido cuando se pulsase la tecla F7 en lugar del archivo de #MP3 con el filtro de voz aplicado. Esto permite un karaoke sin voces de mucha mayor calidad en las canciones en las que es fácil encontrar la variación instrumental (como en muchas de las bandas sonoras de películas modernas).

Si el parámetro no se encuentra en el archivo de la canción, la tecla F7 simplemente activa el filtro como ha hecho siempre (no cambia nada respecto a lo anterior). Sólo si el parámetro está en el archivo y apunta a un archivo de audio válido, se reproducirá ese archivo en lugar de activar el filtro sobre el archivo del #MP3. Añadir este parámetro a un archivo de canción no rompe tampoco versiones antiguas del programa porque el parámetro simplemente se ignora.

Os animo a revisarlo y a añadir la función, ya que, insisto, que la función exista en el programa no implica que haya que actualizar las canciones ya existentes, ni siquiera que haya que actualizar la web si no es compatible con el proceso de subida de canciones (que no conozco porque no soy creador, no tengo tiempo más que para hacer muy de vez en cuando un par de canciones que me apetecen mucho y no están en la web).

En resumen, es una función que no estorba, y puede sumar (para mí, ya suma, y para otros puede en un futuro). Espero que os animéis a añadirla.

Gracias en cualquier caso por el maravilloso programa que nos ofrecéis. ¡Un saludo!

(P.S.: Los cambios que son eliminar espacios en blanco al final de la línea han sido cosa del editor, los acabo de ver.)