Alguna vez se preguntó lo que la tecnología que hay detrás de los servicios web inteligentes de Alive Drumming? Aquí está el quid –
Viva Drummingservicios web inteligentes ‘s han sido diseñados en el lenguaje de programación Elixir. El suministro de servicios web Alive de Drumming pistas de ritmo totalmente dispuestosconstruidas de varias tomas de audio de formato largo de los baterías de gran talento.
En pocas palabras, este servicio
- Analiza una solicitud web,
- Determina la estructura de la disposición de la pista solicitada,
- Crea las secuencias de comandos de audio-ingeniería para empalmar las rebanadas de la forma larga de audio en el resultado, y finalmente,
- Ejecuta estos scripts, entregando el audio resultante como la salida del servicio.
Compilador de lenguaje como servicio Web
Mucho de esto es el análisis léxico textual y diseño clásico como el compilador Descripción de la pista es un lenguaje de LR1 simple, y los guiones de audio-ingeniería expulsadas están optimizados con una fase de optimización mirilla. Paso 3 anterior, “ La creación de los guiones de audio-ingeniería“, además, involucrado análisis textual meta-datos relativos a la ubicación de la forma larga de audio de diferentes intensidades de percusión, rellenos, rellenos previos y posteriores, se rompe el teclear, empuja, count-ins y los finales. Cada uno de estos tiene múltiples ‘tomas’ y algoritmos establece una ponderación en la selección de pseudo-aleatorios. Inicialmente, las lenguas fuertes en la manipulación textual se consideraron con los primeros prototipos de algoritmos en gawk, pero se hizo evidente un lenguaje adecuado para masivamente se necesitan servicios web escalables.
Tecnología Pila – Phoenix / Elixir / Erlang / Linux / GCP
Que me llevan a Elixir y Phoenix. Elixir es un lenguaje puramente funcional, fuerte en las instalaciones de procesamiento de texto que compila a la máquina virtual de Erlang / OTP.Phoenix es una infraestructura de servidor web escrito en Elixir. Elixir / Erlang incluye todas las ventajas de la plataforma de telecomunicaciones abierta (OTP) – diseñada para el mantenimiento de ultra y la fiabilidad que se espera de las plataformas de telecomunicaciones, tales como tareas supervisadas y en servicio de actualizaciones de los módulos. Organizamos esta en servidores Linux en la Google Cloud Platform (GCP) utilizando un cluster altamente escalable de Google Compute máquinas virtuales y Google Cloud Storage.
Programación Dinámica – Un aumento de rendimiento
La solución de programación aprovecha la programación dinámicaen muchos lugares. Programación Dinámica es donde un problema es (recursivamente) descompuesto en muchos sub-problemas y donde los sub-problemas se pueden producir que son idénticos a los anteriores. Si un sub-problema es un duplicado, no hay necesidad de resolver de nuevo, sólo tiene que utilizar el resultado anterior. Una memoria caché de resultados permite que el algoritmo para comprobar siempre la caché antes de resolver el sub-problema. Esta técnica fue utilizada en muchos niveles dentro de la solución. Estructuras de datos de Elixir demostrado ser muy complaciente con sencillo Elixir mapas utilizados como cachés. Mediciones de rendimiento mostraron una mejora promedio 60% en la utilización de la CPU y tiempos de finalización con las memorias caché desplegados.
Algunas de las áreas que se despliegan son cachés
- Al más alto nivel, el archivo de audio resultante se almacena en caché en sí,
- La creación de las rebanadas de audio, parametrizado por sus requisitos de tipo y longitud,
- La selección pseudo-aleatoria de las instancias de audio de un grupo de alternativas ponderados – aquí la selección pasado se utiliza como entrada para el algoritmo, así
Diseño Advertencia – Google Drive
Un diseño temprano tenía la pista de audio resultante en caché en Google Drive con la respuesta del servidor Web es una redirección al archivo almacenado en caché. Esta solución era atractiva, ya que ha aprovechado la muy maduro, escalable y rentable Google Drive. Sin embargo, resultó problemática con Google Drive aplicar rápidamente un gobernador bajo bastante pequeñas cantidades de carga. Resultó Google Drive no era una buena opción para este tipo de servicio. Si todas las solicitudes Drive vinieron del servicio web, se aplicó estrangulación que limita el servicio. Además, era difícil suministrar las direcciones URL de Google Drive a los clientes de una manera que con fiabilidad, no daría lugar a solicitudes de autenticación. Google Storage finalmente se utiliza en lugar de Google Drive.
Resumen – una gran pila de tecnología
Elixir demostró un ajuste perfecto tanto para este proyecto y un verdadero placer para trabajar. El utillaje alrededor de la lengua es maduro y adecuado para el propósito, la plataforma OTP es la mejor solución para la fiabilidad y facilidad de mantenimiento y la restricciónde un lenguaje puramente funcional demostrado ser más de un beneficio que una limitación. Menos puede ser realmente más con el diseño de lenguajes de programación. El Google Cloud Platform hace que la puesta en marcha de infraestructuras, la vigilancia y el mantenimiento mucho más fácil que tratar con hardware físico. Conjunto de herramientas GCP ha madurado y las instalaciones son amplios. Nos lo recomiendo totalmente la tecnología de pila de Phoenix / Elixir / GCP para desarrollar y desplegar servicios web complejos, de misión crítica.
Pistas de la canción rítmica
Pistas de la canción de ritmo son un nuevo tipo de pista de acompañamiento compuesto enteramente de respaldo rítmico (sin melodía o armonía) dispuesto para la forma musical de la canción – es “songform”. Estas pistas son representaciones completas como la que se obtiene de una batería profesional. Tienen una sección de introducción claqueta,, coros y terminaciones característicos, enmarcado por los rellenos que muestran donde se inician las secciones y final. Incluso los puentes musicales y coros centrales tienen una mayor intensidad en su caso al estilo. Las cosas se mantienen simples mediante la supresión de la interfaz del arreglista tradicional. Uno puede seleccionar una pista en menos de 30 segundos – menos de 15 segundos una vez que se tiene la caída de ella.
El jugador del La App tiene ajuste de tempo y una instalación para secuenciar las pistas para su concierto o una sesión de mermelada. Es por músicos de todos los niveles. Nuevos músicos utilizar la aplicación para proporcionar un acompañamiento a las canciones. Consiguen un ritmo que es simpático para que aprendan a mantener el tiempo, entrar en la ranura e internalizar la estructura musical de la canción – Todo esto mientras disfruta de los ritmos atractivas y estimulantes. Músicos dando conciertos catalogar su respaldo al setlist y la usan para guiar el rendimiento. Tener respaldo rítmico calidad, con una instalación de lista de canciones y el jugador del músico, todos en la aplicación es tan conveniente uno se encuentra el uso de este respaldo rítmico más y más.
Pistas de canciones rítmicas son verdaderamente respaldo rítmico de alta calidad que sea conveniente para seleccionar y reproducir. Usted no se va a cansar de estas pistas de acompañamiento. No vas a tener que secuenciar nada. Usted encontrará que el jugador y la lista de canciones de la interfaz de usuario fomenta el uso continuado. Se llega a apreciar la forma de sus canciones más y es posible incluir estos temas en sus propios comunicados de single y álbum. No se deje intimidar por las experiencias con otras aplicaciones móviles de percusión. Pistas de canciones rítmicas son algo diferente.
Si usted está aprendiendo una nueva melodía, atascos, dando conciertos o el corte de su último disco, este ritmo pistas de canciones proporciona una solución.
Echa un vistazo a las muestras de audio a la página de ejemplos de Alive Drumming
Echa un vistazo a estos artículos de Alive Drumming que aportan nuevas ideas sobre el pensamiento detrás del producto,
“ ¿Cómo a la práctica, a continuación, cómo atascar”
“ ¿Por qué songform con pistas de ritmo? ”
Descargar las pistas del ritmo de canción aplicación en la App Store de Apple
Trate de Alive Drumming aplicación samplers de probar previamente dispuestas pistas de melodías populares. Es entonces fácil de utilizar la aplicación para ajustarlos a sus necesidades prácticas y de rendimiento. Todas las aplicaciones de toma de muestras son los mismos Canción Ritmo Pistas aplicación, pero con las pistas de ejemplo incluidos.
También publicado en Medio.