Ollin analogisten dippisekujen innoittamana ajattelin ohjelmoida maxmsp:llä modulaarisen steppisekvensserin, joka perustuu samoihin ideoihin mitä Ollin laitteissa on. Ainoa ero on että toteutus tehdään softamaailmaan, kun Ollin laitteet toimivat fyysisessä analogiympäristössä.
Ideointia:
Yksi perusidea olisi että sekvensserin syklien aloitus- ja lopetuspaikkaa voisi vaihtaa lennosta ja samoin syklin sisäistä pyörimisjärjestystä (eli onko se 1,2,3... vai 1,3,5 vai 1,5,9 jne.) voisi vaihdella lennosta esim. portaittaisen valitsimen alulla. Esiohjelmoituja steppijärjestyksiä voisi olla vaikka 16 kpl tai ad infinitum... Nämä voi kirjoittaa maxmsp:ssä erilliseen lista-objektiin.
Samoin syklin aloitus- ja lopetuspaikan voisi esiohjelmoida listaksi, vähän samaan tapaan kuin trakkerissa kasaisi biisiä. Aloituspaikka voisi muuttua esimerkiksi näin: 3x1, 2x3, 3x5 jne. samalla myös syklin lopetuspaikka muuttuisi. Ideana tässä olisi että kun tällä periaatteella toimiva steppisequ laitetaan pyörimään ja yhdistetään vielä toiseen vastaavanlaiseen steppisequun jne. niin lopputuloksena saadaan dynaamisesti muuttuvia polyrytmiikoita, jotka voivat osaksi kuulostaa kaoottisilta, mutta osaksi ne voivat kuulostaa myös hyvin mielenkiintoisilta.
Sequn yksittäisessä syklissä voisi olla raitoja vain neljä, tuskin paljoa enempää. Ideana olisi yhdistellä eri syklejä, ei niinkään käyttää runsaasti erilaisia soundeja per sykli. Tarkoitus ei ole rakentaa ihan perinteistä rumpukone-tyylistä sekvensseriä (!)

Ihannetilanne olisi tietenkin jos kaiken tämän voisi toteuttaa dynaamisesta ja "biisejä" ja/tai liveimprojen dataa voisi jopa tallentaa patchin muistiin. Maxissa on olemassa preset-objekti, mutta se tallettaa vain patchin asetukset, ei esimerkiksi ladattu sampleja ym. tietoa. Preset-objektin tallennus ei siis vastaa samaa kuin esim. Abletonissa on 'save as project' tallennus.
Steppisequ triggaisi sampleja eli ääninäytteitä. Yksittäisen samplen aloituskohtaa voi säätää lennosta, samoin sitä onko sample single shot, loop vai joku muu vaihtoehto. Periaatteessa triggauksen kohteena voi olla "mikä vaan", mutta ajattelin aluksi keskittyä pelkkien ääninäytteiden eli samplien pyöritykseen. Joku sykli voisi periaatteessa olla samplen ajoituskohdan sekvenssoimiseen, tästäkin löytyy maxmsp:n helpeistä esimerkkejä.
Samplelle voisi säätää muitakin parametreja esim. äänen korkeutta, tämä osa-alue ei oikeastaan ole ongelma eli samplien pyörittely maxmsp:lle on kohtalaisen tuttua puuhaa, enemmän pähkäiltävää on sekvensserin toteutuksessa ja ehkä myös siinä kuinka koko paketin saa kasattu visuaalisesti ja käytettävyyden kannalta järkevään muotoon ettei homma "leviä käsiin".
Toteutukseen ajattelin käyttää ehkä Matrixi Ctrl -objektia, se löytyy myös vanhemmista maxmsp/jitter versioista. En tiedä onko se dynaamisuuden suhteen paras ratkaisu, ehkä kyseinen objekti toimii paremmin staattisissa steppisekvenssereissä. Looppien aloitus- ja lopetuskohta pitäisi olla käyttäjän nähtävillä, samoin kuin mitä kohtaa kello milläkin hetkellä soittaa.
Modulaarisuus:
Tietenkin sitten kun sequja yhdistelisi modulaarisesti eli joku ohjaa jotain toista jne. jne. + heittää sekaan filtteriä yms. lopputuloksena voi syntyä hyvinkin monimutkaisia äänijärjestelmiä, missä todennäköisesti käyttäjän mielikuvitus ja laitteiston resurssit ovat ainoat rajoitteet. Samoin kuin mukaan heivaa vst-plugarit yms....
Samoin ainakin osia tästä paketista voisi suhteellisen näpsäkästi yhdistää käyttämääni 4-raita livepatchiin, joka perustuu enemmän livesamplaykseen eli raitojen dubbaukseen ja kerrostamiseen.
Mahdolliset ongelmat:
Kellojen synkronointi eli eri syklien samplet eivät soi samanaikaisesti johtuen ohjelman sisäisistä viiveistä, useamman millisekunnin viiveet ovat kuultavissa, etenkin kun kuormitusta syntyy enemmän. Ongelman voi parhaimmillaan/pahimmillaan ratkaista kirjoittamalla vaikka c:llä jonkin erillisen kellojen synkkaajan, luultavasti joku tällainen on jo tehtykin.
Kaupalliset softat:
Gurussa osittain voi tehdä livenä periaatteessa sekä aloitus- ja lopetuspaikan muutoksia lennosta, samoin eri mittaisia syklejä voi soittaa päällekkäin. Ehkä muutoksia voi ohjelmoida midin kautta myös biisin muotoon.
Reaktorin esimerkeissä on jokin visuaalinen stepsequ, missä aloitus- ja lopetuspaikkaa voi muutella. Modulaarisuuskin varmasti onnistuu, en ole koskaan Reaktoria opetellut käyttämään/ohjelmoimaan.
Haluaisin kuitenkin toteuttaa ohjelman/patchin itse, tällöin toimivuuden voi suunnitella juuri täsmälleen omien ideoiden mukaisesti. En tiedä onko maxmsp/jitter juuri paras ympäristö toteutukseen, mutta se on itselleni tutuin ja luulisin kapasiteetin riittävän ainakin yksinkertaiseen toteutukseen.
Voin laittaa esille myöhemmin jotain luonnoksia patcheista, tässä kuitenkin tekstin muodossa idea, joka voi ulkopuolisen korvaan ehkä kuulostaa sekavalta.. eos.

Kommentteja, kritiikkiä, ideoita jne. otetaan mielellään vastaan...

Tämä idea on vielä aika draft-tasolla ja toteutuksen suhteen olisi mukava löytää vastaavankaltaisia toteutuksia, edes osa-alueista. Samaa pyörää kannattaa tuskin ihan nollapisteestä alkaa kasaamaan uudelleen.
Jos joku haluaa kokeilla maxmsp:tä yms. ohjelman demoversio löytyy Cycling74 sivuilta:
http://www.cycling74.com/