¿Cómo las aplicaciones como MusiXmatch y / o Shazam logran reproducir letras con tanta precisión?

Las letras sincronizadas son una característica bastante común en casi todos los reproductores de música conocidos en todas las plataformas, incluyendo Windows / Linux / Mac / Android / iOS.

Una vez que se identifica la canción, la sincronización de letras en Shazam / MusiXmatch debería ser la misma que en cualquier otro reproductor de música.

Desde la perspectiva del programador, las letras generalmente se almacenan en formato de archivo LRC. Shazam / MusiXmatch puede tener su formato de archivo personalizado, pero eso solo cambia el método de adaptación.

Con este archivo de letras, tiene las letras y la línea de tiempo para mostrar cada línea de la canción durante un período específico. Después de eso, es solo una cuestión de presentación al usuario de diferentes maneras a través de animaciones. Definitivamente hay una habilidad involucrada en la implementación de estos pasos a través del código para una experiencia de usuario fluida y rápida, pero ese es un tema diferente.

Si tiene más curiosidad acerca de cómo se realiza la identificación de la canción, esta información también está disponible en línea.

Acabo de responder esa pregunta aquí con más detalles:
La respuesta de Ruturaj Patil a ¿Cómo funcionan las aplicaciones como Shazam o MusiXmatch?

En primer lugar, estoy de acuerdo con la otra respuesta a esta pregunta. Las aplicaciones del reproductor de música probablemente tienen archivos de letras (.lrc) que se ejecutan junto con el archivo de música.

Tomemos un ejemplo;

En la siguiente imagen podemos ver que la línea resaltada “a raíz de la devastación” es esa parte de la música que se está reproduciendo. Pase a la siguiente foto para ver cómo funciona.

En la siguiente foto, puedes ver que hay números en parantheseis seguidos de la letra. La parántesis indica el tiempo en [mm: ss.msms], es decir, minutos: segundos: milisegundos

Representa que la línea de letras seguida por el tiempo dado se resaltará (o se reprimirá en cualquier otra forma) cuando la Música llegue a ese momento. Este es básicamente el formato de un archivo de letras. Se supone que las letras aparecen en contra de su tiempo asignado cuando la música llega a ese momento, por lo tanto, se sincroniza con ella. Y la siguiente línea de letras aparecerá solo cuando sea hora de que aparezca.

Puede verificar a continuación cómo se sincroniza:

Puede ver que en la siguiente foto la Música ha llegado hasta las 00:18, la línea “Cuando estaba parado” está resaltada y puede ver que en la foto de arriba la línea es seguida por [00: 18.10]. Esta es probablemente la forma en que las letras se sincronizan con la música.

Puede crear un archivo .lrc con el software Sony Media Go de una manera directa.

Todo lo que necesita es el archivo de música, sus letras correspondientes y el software Sony Media Go.

More Interesting

¿Cuáles son los mejores tutoriales para aprender Android?

Cómo crear una aplicación simple para realizar una encuesta breve

¿Cuánto cuesta construir una aplicación de Android en India?

¿Cuál es el mejor para el desarrollo de aplicaciones móviles, Android o PhoneGap?

Cómo solucionar problemas de renderizado en Android Studio 1.5.1

¿Cómo funciona la aplicación WPS connect en Android?

Cómo hacer una aplicación de Android que reciba pedidos de empleados individuales de nuestro equipo y genere un pedido completo para el repartidor

Para que un desarrollador de Android desarrolle una aplicación React Native en iOS, ¿cuáles serán las diferencias clave?

¿Cómo funciona la mensajería en WhatsApp? ¿Es este el enfoque correcto para la comunicación entre el cliente y el servidor? ¿El cliente siempre está conectado a Internet cuando espera una respuesta?

¿Qué empresa ofrece el desarrollo web y el desarrollo de aplicaciones móviles Android?

¿Cuál de estos 4 es el mejor para comenzar a aprender el desarrollo de Android ?: Documentos de capacitación de Google, TutorialsPoint, Vogella o el curso Udacity de Google

¿Los dispositivos Android siguen recibiendo actualizaciones oficiales después de rootearlos?

Cómo dejar de ser un desarrollador promedio de Android

Conozco bien C y los conceptos básicos de Python. ¿Puedo aprender Kotlin?

Entre la programación de C Sharp y Java, ¿cuál es más preferible para desarrollar una aplicación de Android?