Noen gang lurt på hva teknologien som ligger bak Alive Drumming smarte web-tjenester? Her er den kjerne –
Alive Drumminger smarte web-tjenester har blitt utviklet i Elixir programmeringsspråk. Det web service leverer Alive Drumming er fullt ordnet rytme sporkonstruert fra flere tar av langformat lyd med meget dyktige trommeslagere.
Enkelt sagt, denne tjenesten
- Analyserer en web forespørsel,
- Bestemmer arrangement strukturen av spor,
- Skaper lyd-ingeniør skript for å spleise skiver av den lang skjemaet lyd inn i resultatet, og til slutt,
- Utfører disse skriptene, og leverer den resulterende lyd som produksjonen av tjenesten.
Språk Compiler som Web Service
Mye av dette er tekstlig leksikalsk analyse og klassisk kompilator design som sporet beskrivelse er en enkel LR1 språk, og de kastet ut lyd-ingeniør skript er optimalisert med en glugge optimalisering fase. Trinn 3 ovenfor, “ Opprette audioingeniør skript“, i tillegg involvert parsing tekstlige meta-data knyttet til langformat lyd plassering av ulike tromming intensiteter, fyller, for- og etterfyll, tromming pauser, presser, teller-ins og avslutninger. Hver av disse har flere ‘tar’ og algoritmer anvende vekting i pseudo-tilfeldig valg. I første omgang ble språk sterke i tekstlig manipulasjon regnes med de tidlige algoritmer prototyper i glaner, men det ble klart et språk som passer for massivt skalerbare web-tjenester var nødvendig.
Teknologi Stack – Phoenix / Elixir / Erlang / Linux / GCP
Som fører meg til Elixir og Phoenix. Elixir er et rent funksjonelt språk, sterk i tekstprosessanlegg som samler til Erlang / OTP virtuell maskin. Phoenix er en web-server rammeverk skrevet i Elixir. Elixir / Erlang inkluderer alle fordelene av Open Telecom Platform (OTP) – designet for ultra vedlikehold og pålitelighet forventes av telekom-plattformer, som veiledet oppgaver og etter-modul oppdateringer.Vi vert dette på Linux-servere på Google Cloud Platform (GCP) ved hjelp av en svært skalerbar klynge av Google Compute VM og Google Cloud Storage.
Dynamisk programmering – En ytelsesforbedring
Programmerings Løsningen utnytter Dynamisk Programmeringmange steder. Dynamisk programmering er der et problem er (rekursivt) deles opp i flere under problemer og hvor under kan det oppstå problemer som er identisk med foregående. Hvis en sub-problemet er en kopi, er det ikke nødvendig å løse det igjen, bare bruk det forrige resultatet. En buffer resultater gjør at algoritmen for å alltid sjekke cache før løse sub-problemet. Denne teknikken ble brukt på mange nivåer i løsningen. Elixir datastrukturer vist seg svært imøtekommende med enkle Elixir kartene som brukes som skjulestedene. Ytelsesmålinger viste en gjennomsnittlig 60% forbedring i CPU og komplettering ganger med cachen utplassert.
Noen områder som distribuerer cacher er
- På det høyeste nivået, er den resulterende lydfil selv bufret,
- Opprettelsen av audio-skiver, parameterisert ved deres behov type og lengde,
- Den pseudo-tilfeldig utvalg av forekomster av lyd fra en gruppe av veide varianter – og her føres valg benyttes som input til algoritmen i tillegg
Design Påminnelse – Google Disk
En tidlig utforming hadde den resulterende lydspor lagret på Google Disk med webserveren responsen være en omdirigering til den bufrede filer. Denne løsningen var tiltalende fordi det leveraged veldig moden, skalerbar og kostnadseffektiv Google Drive. Men det viste seg problematisk med Google Disk rask montering av en guvernør under ganske små mengder last. Det viste seg Google Disk var ikke en god plass for denne type tjeneste. Hvis alle Drive forespørsler kom fra web-tjeneste, ble struping brukt som begrenset service. I tillegg var det vanskelig å levere Google Disk URLer til kunder på en måte som ville sikkert ikke føre til autentiseringsforespørsler. Google Storage ble til slutt brukt i stedet for Google Drive.
Oversikt – en stor teknologi stabel
Elixir påviste både passer perfekt for dette prosjektet og en ekte glede å arbeide i. Verktøy rundt språket er moden og passer til formålet, er OTP plattform den beste løsningen for pålitelighet og vedlikeholdsmuligheter og begrensningav et rent funksjonelt språk viste seg å være mer av en fordel enn en begrensning. Mindre virkelig kan være mer med programmeringsspråk design. Google Cloud Platform gjør infrastruktur igangkjøring, overvåking og vedlikehold så mye enklere enn å håndtere fysiske maskinvaren. GCP verktøysett har modnet og fasilitetene er omfattende. Vi vil fullt ut anbefale Phoenix / Elixir / GCP teknologi stack for utvikling og distribusjon av virksomhetskritiske og komplekse web-tjenester.
Song rytmespor
Song rytmen sporene er en ny type av bakside styr består utelukkende av rytmisk underlag (ikke melodi eller harmoni) anordnet til den musikalske formen av sangen – som “songform”. Disse sporene er komplette forestillinger som man får fra en profesjonell trommeslager. De har en teller-i, innførende seksjonen, kor og karakteristiske avslutninger, innrammet av fyllinger som viser hvor seksjonene starte og avslutte. Selv musikalske broer og middel refrengene har høyere intensitet eventuelt til stilen. Alt er så lettvint ved å gjøre unna med den tradisjonelle arrangør grensesnitt. Man kan velge et spor på under 30 sekunder – under 15 sekunder når man får taket på det.
Appens spilleren har tempo justering og et anlegg for å sekvensere sporene for gig eller jam session. Det er for musikere på alle nivåer. Nye musikere bruke App for å gi et akkompagnement til sanger. De får en rytme som er sympatisk, slik at de lærer å holde tiden, komme inn i sporet og internal sangens musikalske struktur – Alt dette mens du nyter engasjerende og inspirerende rytmer. Gigging musikere katalogisere sin støtte til setlistene og bruke den til å veilede ytelse. Ha kvalitet rytmisk backing, med en setliste studio og musiker spiller, alt i en app er så praktisk en finner seg selv ved hjelp av denne rytmisk backing mer og mer.
Song rytmespor er virkelig høy kvalitet rytmisk backing som er praktisk å velge og spille. Du kommer ikke til å bli lei av disse backing spor. Du er ikke nødt til å sekvensere noe. Du vil finne at spilleren og setliste brukergrensesnittet oppfordrer fortsatt bruk. Du vil komme til å sette pris form av dine sanger mer, og du kan inkludere disse sporene i egne enkle og utgivelsene. Ikke la deg skremme av erfaringer med andre mobile tromming Apps. Song rytmespor er noe annerledes.
Enten du lære en ny låt, jamming, gigging eller kutte siste album, denne Song rytmespor gir en løsning.
Sjekk ut prøver av lyden på Alive Drumming prøvene side
Sjekk ut disse artiklene fra Alive Drumming som gir ytterligere innsikt i tankegangen bak produktet,
“ Hvordan å øve, så hvordan å jamme”
“ Hvorfor songform med rytmespor? ”
Last Song Rhythm Tracks App på Apple App Store
Prøv Alive Drumming sampler apper å prøve tidligere arrangert spor av populære låter. Det er så lett å bruke programmet til å justere disse til din praksis og resultatkrav. Alle de sampler apps er de samme Song rytmespor app, men med de medfølgende prøvespor.
Også publisert på Medium.