Nogensinde spekuleret på, hvad teknologien ligger bag Alive Drumming smarte webtjenester? Her er kernen –

Alive Drumming‘s smarte web services er blevet manipuleret i programmeringssproget Elixir. Den web service forsyninger Alive Drumming er fuldt arrangeret rytme sporkonstrueret af flere tager på lang formen lyd af meget talentfulde trommeslagere.

Kort sagt, denne service

  1. Analyserer en web anmodning,
  2. Bestemmer arrangement strukturen i den ønskede bane,
  3. Opretter de audio-engineering scripts til at splejse skiver af den lange-formen lyd til resultatet, og endelig,
  4. Udfører disse scripts, der leverer den resulterende lyd som output af tjenesten.

Sprog Compiler som Web Service

Meget af dette er tekstmæssige leksikalsk analyse og klassisk compiler design som sporet beskrivelsen er en simpel LR1 sprog, og de udkastede audio-engineering scripts er optimeret med et pip-hullers optimering fase. Trin 3 ovenfor, ” Oprettelse af lyd-engineering scripts”, derudover involveret parsing tekstlige meta-data vedrørende den længe formen lyd placering af forskellige trommespil intensiteter, fylder, før og efter fills, trommespil pauser, skubber, tæller-ins og endelser. Hver af disse har multiple ‘tager’ og algoritmer anvender vægtning i pseudotilfældige markeringer. I første omgang blev sprog stærke i tekstmæssige manipulation betragtes med de tidlige algoritmer prototype i gawk, men det blev klart et sprog egnet til massivt skalerbare web-services var nødvendigt.  

Teknologi Stack – Phoenix / Elixir / Erlang / Linux / GCP

Det fører mig til Elixir og Phoenix. Elixir er et rent funktionelt sprog, stærk i tekst forarbejdningsanlæg, der samler til Erlang / OTP virtuel maskine. Phoenix er en web-server rammer skrevet i Elixir. Elixir / Erlang omfatter alle fordelene ved Open Telecom Platform (OTP) – designet til ultra vedligeholdelse og pålidelighed forventes af telecom-platforme, såsom overvågede opgaver og in-service modul opdateringer. Vi var vært dette på Linux-servere på Google Cloud Platform (GCP) ved hjælp af en yderst skalerbar klynge af Google Compute VM’er og Google Cloud Storage.

Dynamisk Programmering – En forestilling boost

Programmeringen løsning udnytter Dynamisk Programmeringmange steder. Dynamisk programmering er hvor et problem er (rekursivt) dekomponeres i mange sub-problemer og hvor der kan opstå under-problemer, der er identiske med tidligere. Hvis en sub-problem er en dublet, er der ingen grund til at løse det igen, bare bruge den tidligere resultat. En cache af resultater giver algoritmen altid at tjekke cachen først, før at løse sub-problemet. Denne teknik blev brugt på mange niveauer inden for løsning. Elixir er data-strukturer viste sig meget imødekommende med enkle Elixir maps bruges som caches. Ydeevne målinger viste en gennemsnitlig 60% forbedring af CPU-udnyttelse og gennemførselstiderne med caches indsat.

Nogle områder installerer caches er

  1. På det højeste niveau, er den resulterende lydfil selv cached,
  2. Oprettelsen af ​​audio skiver, parametriseret ved deres krav type og længde,
  3. Den pseudo-tilfældige udvælgelse af forekomster af lyd fra en gruppe af vægtede alternativer – her øjeblikkeligt valg anvendes som input til algoritmen samt

Design Advarsel – Google Drev

En tidlig design havde den resulterende lydspor cached på Google Drev med webserveren svar være en omdirigering til den cached fil. Denne løsning var tiltalende, fordi den gearede den meget moden, skalerbar og omkostningseffektiv Google Drev. Men det viste sig at være problematisk med Google Drev hurtigt anvende en guvernør under ganske små mængder af belastning. Det viste sig Google Drev ikke var et godt match for denne type service. Hvis alle Drev anmodninger kom fra webtjenesten blev neddrosling anvendt denne begrænsede tjenesten. Derudover var det vanskeligt at levere Google Drev URL’er til kunder på en måde, der ville pålideligt ikke resultere i anmodninger authentication. Google Storage blev til sidst i stedet for Google Drev.

Resumé – en stor teknologi stak

Elixir viste sig både en perfekt pasform til dette projekt, og en sand fornøjelse at arbejde i. Det værktøjer omkring sproget er moden og egnet til formålet, OTP-platformen er den bedste løsning for pålidelighed og vedligeholdelse samt begrænsningaf et rent funktionelt sprog viste sig at være mere af en ydelse end en begrænsning. Mindre virkelig kan være mere med programmeringssprog design. Google Cloud Platform gør infrastruktur idriftsættelse, overvågning og vedligeholdelse så meget nemmere end beskæftiger sig med fysiske hardware. GCP værktøjssæt har modnet og faciliteterne er omfattende. Vi vil fuldt ud anbefale Phoenix / Elixir / GCP-teknologi stakken til udvikling og implementering af forretningskritiske og komplekse web services.


Song Rhythm Tracks

Song Rhythm Tracks
Song Rhythm Tracks

Song Rhythm tracks er en ny type backingtrack udelukkende består af rytmisk underlag (ingen melodi eller harmoni) anbragt til musikalsk form af sangen – det er ”songform”. Disse spor er komplette forestillinger som man får fra en professionel trommeslager. De har en tæller-i, indledning afsnit, omkvæd og karakteristiske slutninger, indrammet af udfyldninger viser, hvor sektionerne start og slut. Selv musikalske broer og midterste kor har højere intensitet i givet fald til den stil. Tingene er holdt enkle ved at afskaffe den traditionelle arrangør interface. Man kan vælge et nummer på under 30 sekunder – under 15 sekunder, når man får hænge af det.

Appens spiller har tempo justering og en facilitet til at sekventere sporene til din koncert eller jam session. Det er for musikere på alle niveauer. Nye musikere bruger App til at levere en akkompagnement til sange. De får en rytme, der er sympatisk, så de lærer at holde takten, komme ind i rillen og internalisere sangens musikalske struktur – Alt dette, mens du nyder engagerende og inspirerende rytmer. Gigging musikere katalog deres opbakning i setlists og bruge det til at guide ydeevne. Under kvalitet rytmisk opbakning, med en sætliste facilitet og en musiker spiller,  alt sammen i den ene App er så praktisk man befinder sig ved hjælp af denne rytmiske opbakning mere og mere.

Song Rhythm Tracks er virkelig høj kvalitet, rytmisk opbakning , der er praktisk at vælge og spille. Du kommer ikke til at blive træt af disse backing tracks. Du er ikke nødt til at sekventere noget. Du vil opdage, at spilleren og setlisten s brugerflade opfordrer til fortsat brug. Du vil komme til at sætte pris på i form af dine sange flere og du kan omfatte disse spor i egen single og album udgivelser. Må ikke sættes ud af erfaringer med andre mobile trommespil Apps. Song Rhythm Tracks er noget andet.

Uanset om du er ved at lære en ny melodi, jamming, gigging eller skære dit seneste album, denne sang Rhythm Tracks giver en løsning.

Tjek prøver af lyd ved Alive Drumming side Prøver

Tjek disse artikler fra Alive tromme, der giver yderligere indsigt i tankegangen bag produktet,

Hvordan til at praktisere, så hvordan at jamme

Hvornår skal arbejde på din rytme?

Hvorfor songform med rytme spor?

Download Song Rhythm Tracks App Apple App Store

Prøv Alive Drumming s sampler apps til prøve tidligere arrangeret spor af populære melodier. Det er da nemt at bruge den app til at justere disse til din praksis og krav til ydeevne. Alle sampler apps er den samme sang Rhythm Tracks app, men med de medfølgende sample spor.


Også udgivet på Medium.


Also published on Medium.