Någonsin undrat vilken teknik som ligger bakom Alive trumma smarta webbtjänster? Här är kontentan –

Alive trumma s smarta webbtjänster har konstruerats i programmeringsspråket Elixir. Den webbtjänst leveranser Alive trumma är helt arrangerade rytmspår konstruerade av multipel tar lång form ljud av mycket duktiga trummisar.

Enkelt uttryckt, den här tjänsten

  1. Tolkar en begäran webben,
  2. Bestämmer arrangemanget strukturen av det begärda spåret,
  3. Skapar ljud-engineering skript för att skarva skivor lång formen ljud i resultatet, och slutligen
  4. Utför dessa skript och levererar den resulterande ljudet som produktionen av tjänsten.

Språk Compiler som Web Service

Mycket av detta är text lexikalisk analys och klassisk kompilator design spår beskrivningen är en enkel LR1 språk och utkastade ljudtekniska skript optimeras med ett titthål optimeringsfasen. Steg 3 ovan, ” Att skapa ljud-engineering manus”, dessutom involverad tolkning text meta-data som hänför sig till den långa form audio läge för olika trummande intensitet, fyllningar, före och efter fyllningar, trummande raster, skjuter, räkna-ins och avslutningar. Var och en av dessa har flera ‘tar’ och algoritmer gäller viktning i pseudoslump val. Inledningsvis var språk starka i text manipulation anses med de tidiga algoritmer prototyped i GAPA, men det blev klart ett språk som lämpar sig för massivt skalbara webbtjänster behövdes.  

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

Det leder mig till Elixir och Phoenix. Elixir är ett rent funktionellt språk, stark i textbearbetningsanläggningar som sammanställer till den virtuella maskinen Erlang / OTP. Phoenix är en webbserver ram skriven i Elixir. Elixir / Erlang omfattar alla fördelarna med Open Telecom Platform (OTP) – utformad för ultra underhåll och tillförlitlighet som förväntas av telekomplattformar, såsom övervakade uppgifter och i drift moduluppdateringar. Vi var värd detta på Linux-servrar på Google Cloud Platform (GCP) med en mycket skalbar kluster av Google Compute VMS och Google Cloud Storage.

Dynamisk programmering – en prestandaökning

Programmerings Lösningen utnyttjar dynamisk programmering på många ställen. Dynamisk programmering är där ett problem är (rekursivt) delas upp i många underproblem och där under problem kan uppstå som är identiska med de tidigare. Om en sub-problem är en dubblett, finns det inget behov av att lösa det igen, bara använda den tidigare resultat. En cache resultat tillåter algoritmen att alltid kontrollera cachen innan lösa under problem. Denna teknik används på många nivåer inom lösningen. Elixir datastrukturer visat sig vara mycket tillmötesgående med enkel Elixir kartor som används som cachar. Prestandamätningar visade en genomsnittlig 60% förbättring av CPU-användning och genomförandetiden med cachar utplacerade.

Vissa områden som distribuerar cachar är

  1. På den högsta nivån, den resulterande ljudfilen själv cachad,
  2. Skapandet av ljudskivor, parameter av deras typ och längd krav,
  3. Den pseudo-slumpmässigt urval av förekomster av ljud från en grupp viktade alternativ – här passerade val används som indata till algoritmen samt

Design Varning – Google Drive

En tidig konstruktion hade den resulterande ljudspåret cachad på Google Drive med webbservern svaret är en omdirigering till den cachade filen. Denna lösning tilltalande eftersom det belånade mycket mogen, skalbar och kostnadseffektiv Google Drive. Men visade det problematiskt med Google Drive snabbt applicera en guvernör i relativt små mängder av last. Det visade sig Google Drive var inte en bra passform för denna typ av tjänster. Om alla förfrågningar på Drive kom från webbtjänsten var strypning tillämpats som begränsade tjänsten. Dessutom var det svårt att leverera Google Drive adresser till kunder på ett sätt som på ett tillförlitligt sätt inte skulle resultera i autentiseringsbegäranden. Google Storage slutligen användas i stället för Google Drive.

Sammanfattning – en fantastisk teknik stack

Elixir visade både en perfekt passform för detta projekt och ett verkligt nöje att arbeta i. Verktyg kring språket är mogen och ändamålsenlig är OTP-plattformen är den bästa lösningen för pålitlighet och underhåll samt begränsningav rent funktionellt språk visat sig vara mer av en fördel än en begränsning. Mindre verkligen kan vara mer med programmeringsspråk design. Google Cloud Platform gör driftsättning infrastruktur, övervakning och underhåll så mycket lättare än att hantera fysisk hårdvara. GCP verktygsuppsättning har mognat och anläggningarna är omfattande. Vi rekommenderar fullt Phoenix / Elixir / GCP teknik stacken för att utveckla och distribuera verksamhetskritiska, komplexa webbtjänster.


Song Rytm Tracks

Song Rytm Tracks
Song Rytm Tracks

Song Rytm Tracks är en ny typ av bakgrundsspår består helt av rytmisk uppbackning (ingen melodi eller harmoni) arrangerad att den musikaliska formen av låten – det är ”songform”. Dessa spår är kompletta föreställningar som man får från en professionell trummis. De har en inräkning i inledningen avsnittet körer och karakteristiska ändelser, inramat av fyllningar visar var sektioner början och slutet. Även musikaliska broar och mellersta körer har högre intensitet i förekommande fall till stilen. Saker hålls enkelt genom att göra sig av med den traditionella arrangör gränssnitt. Man kan välja ett spår på under 30 sekunder – under 15 sekunder när man får kläm på det.

App Player har tempo inställning och en möjlighet att sekvensera spåren för din spelning eller jam session. Det är för musiker på alla nivåer. Nya musiker använder App att ge ett komplement till låtar. De får en rytm som är sympatisk, så att de lär sig att hålla tiden, komma in i spåret och internalisera låtens musikaliska struktur – allt detta medan du njuter av engagerande och inspirerande rytmer. Gigging musiker katalog sitt stöd till låtlistor och använda den för att styra prestanda. Med rytmisk uppbackning kvalitet, med en setlist anläggning och musiker spelare,  alla i en App är så bekvämt man befinner sig med hjälp av denna rytmiska stöd mer och mer.

Song Rytm Tracks är verkligen hög kvalitet rytmisk uppbackning som är bekvämt att välja och spela. Du kommer inte att tröttna på dessa backing tracks. Du kommer inte att behöva sekvensera någonting. Du kommer att finna att spelaren och setlist s användargränssnitt uppmuntrar fortsatt användning. Du kommer att få uppskatta form av dina låtar mer och du kan inkludera dessa spår i egna enkla och album utgåvor. Inte avskräckas av erfarenheter med andra mobila trummande Apps. Song Rytm Tracks är något annat.

Oavsett om du lär en ny låt, fastnar gigging eller skära din senaste album, denna Song Rhythm Tracks ger en lösning.

Kolla in prover av ljudet på Alive Drumming prover sida

Kolla in dessa artiklar från Alive Drumming som ger ytterligare inblick i tankarna bakom produkten,

Hur man öva, sedan hur man fastnar

När ska arbeta på din rytm?

Varför songform med rytmspår?

Ladda ner Song Rhythm Spår App Apple App Store

Försök Alive Drumming s sampler apps tidigare prov arrangerade spår av populära låtar. Det är då lätt att använda appen för att anpassa dessa till din praktik och prestandakrav. Alla provtagaren apps är desamma Song Rhythm Tracks app, men med de medföljande provspåren.


Publiceras också på Medium.