Slik gjenoppstår legendariske Fast Tracker

Olav Sørensen har i mange år brukt mye av sin tid på å gjenskape den gode 90-talls lyden som strømmet ut på høyttalerne på gutterommet.

Det var ett spesielt program som stjal mye av min ungdomsskjermtid. Tid som egentlig skulle bli brukt til Transport Tycoon forsvant nemlig i lange sesjoner med musikkprogrammet Fast Tracker. Det tok helt av når jeg etter hvert fikk oppgradert til Fast Tracker 2 med opptil 32 kanaler og herlig vertikal sekvensiering av samples. Drømmen om å lage musikk på internatrommet ble skapt.

Plutselig ble det mulig for en kar som aldri fikk tilgang til avansert MIDI-utstyr å sette sammen lyder slik at det, med mange bøtter godvilje, kunne tolkes som musikk. Det var noe tiltalende for nerden med hexadesimal nummerering og en databaseaktig måte å sette sammen lydene på.

Men det ble aldri noen platekontrakt på meg, og hobbyen ble stort sett lagt på hylla da hele samples-biblioteket og arkivet over uferdige xm-filer forsvant på grunn av et mislykket forsøk på å fjerne et bootsektor-virus.

FT2 spiller av Feats of Valor av Elwood
Skjermbilde av FT2 klonen til Olav Sørensen.

Fast Tracker 2-klone for moderne operativsystem

Det var derfor mange minner som strømmet på da jeg fikk installert en versjon av Fast Tracker 2 som faktisk kjører på moderne hardware og operativsystemer. Her er det endelig en spiller som gir en autentisk avspilling av de få filene som ble berget. Det ble også avslørt etter kort tid at flere av hurtigtastene fortsatt sitter i muskelminnet.

Vi har tatt en prat med mannen bak denne oppdaterte Fast Tracker 2-klonen. Olav Sørensen er en 36 år gammel kar fra Sandefjord som har brukt store deler av livet sitt på å ta vare på arven fra de gamle trackerne.

Storhetstiden til tracker-musikk var vel gjerne på 90-tallet, så du er jo relativt ung i dette miljøet, kan du fortelle hvordan interessen din for trackere ble skapt?

Jeg trenger bare å si ett ord: «keygens». Husker du disse små programmene som genererte ulovlige installasjonsnøkler til spill og programmer? Det er i alle fall helt sikkert at jeg kanskje lastet ned slike selv. Men uansett, de kom jo som regel med innebygd tracker-musikk.

Enten du umiddelbart ble blæst’a med høye lyder eller ble møtt med rolige låter så var det unektelig kult! Det minnet meg om spillmusikk. Mye av det var jo bra komponert òg, og jeg hadde aldri hørt disse låtene før.

Nysgjerrigheten ble stor, og jeg måtte til slutt finne ut hvor låtene kom fra. Det førte til at jeg lastet ned MilkyTracker og etterhvert MadTracker 2. Det var kjempestas at låtene jeg hadde hørt i keygens kunne lastes inn i en tracker så jeg kunne se hvordan de var laget.

Denne nye interessen din førte til at du etter hvert fikk lyst til å lage en tracker selv?

Ja, det startet med at jeg i år 2009-2010 ville programmere min egen avspiller for mod-formatet som var på Amiga. Jeg hadde sånn cirka null kunnskap om hvordan det fungerte, men jeg gikk i gang med å kode en avspiller i C – linje for linje.

Via det gode gamle IRC-nettverket kom jeg i kontakt med en god hjelper kalt mukunda, og etter mange teskjeer begynte jeg etterhvert å forstå konseptet.

Skjermbilde av ProTracker-klonen
ProTracker-klonen kjører her på Linux uten noen problemer.

Det neste jeg ville ha var et veldig grunnleggende grafisk brukergrensesnitt for å gjøre avspillingen mer autentisk og spennende. Jeg endte opp med å ta en skjermdump av ProTracker i en Amiga-emulator, hente ut bitmap-fonten, og kode inn de klassiske VU-meterene.

Litt etter litt la jeg inn flere funksjoner, som for eksempel «Disk Op»-skjermen for å liste opp modulfiler på disken. På et eller annet tidspunkt innså jeg at jeg var på vei til å lage en ProTracker-klone, så følte meg nærmest forpliktet til å implementere mer og mer over de neste årene.

Men du stoppet ikke da ProTracker-klonen var ferdig, etter hvert gikk du i gang med en klone av Fast Tracker 2 (FT2) også?

Ja, jeg fikk tak i epostadressen til Magnus «Vogue» Högdahl, som programmerte mesteparten av FT2, og sendte han en epost. Magnus nølte fælt med å dele koden han skrev for flere tiår siden, men jeg fikk etter litt barnslig masing lov til å få den så lenge jeg holdt den for meg selv.

Riktignok var det kun deler av koden til en tidligere versjon, men det var nok til å komme i gang med å lage en klone av FT2. Men jeg skjønte etterhvert at jeg trengte tilgang til nyere versjoner av koden og derfor startet startet «Operasjon Finn Fredrik».

Fredrik «Mr.H» Huss var den andre svensken som sto bak FT2. Han laget det meste av avspillingkode og spesielt koden som satte MS-DOS over i «extended protected mode» – noe som er overraskende komplisert…

Jeg tenkte at han var min siste sjanse til å finne den tapte FT2-kildekoden, og heldigvis(?) har vi noe som heter Facebook. Jeg lette etter forskjellige Fredrik Huss og sendte hver av dem en kort melding. Til slutt svarte den riktige mannen, og jeg spurte ham om kildekoden og den slags … men fikk aldri svar!

Kanskje han var lite aktiv på Facebook? Kanskje han bare fikk én epost-påminnelse om meldingene mine? Da måtte jeg tenke litt utenfor boksen, og kom frem til idéen om å sende ham en venneforespørsel, sånn at han skulle få en ny påminnelse, og forhåpentligvis se meldingene mine.

Det fungerte, og en jul for mange år siden fant han hele kildekoden til FT2.07 på en gammel brent CD-ROM. Dette var heller ikke kildekoden til aller siste versjon, men den var i alle fall fullstendig. Koden viste seg å være grei å lese, og godt kommentert på både svensk og engelsk.

Kildekoden til de aller nyeste versjonene var tapt, men siden det ikke var store endringer fra FT2.07 til FT2.08, klarte jeg gjennom reverse engineering å implementere de manglende endringene i koden, på en måte der .EXE-binærfila ble 100% identisk med FT2.08.

Nibbles i FT2
Om du gikk tom for inspirasjon kunne du alltids gå i gang med noen runder med Nibbles – og dette kan du selvsagt også i Olav sin klone

Så gjorde jeg det samme fra FT2.08 til FT2.09, og endte opp med hele kildekoden til siste versjon av FT2.

Det var en gøy utfordring å skrive om dette fra Turbo Pascal med inline assembly til C.

Hva har vært de største utfordringene med å få disse klonene til å fungere på moderne maskinvare?

Takket være et programmeringsrammeverk kalt SDL, som gir deg enkel tilgang til lyd, video og tastatur/mus på en rekke plattformer, har det stort sett vært ukomplisert å realisere dette prosjektet.

Den største utfordringen har vel kanskje vært å finne motivasjonen til å fullføre de mer «kjedelige» programmeringsoppgavene.

Kun deler av FT2-klonen er basert på den originale koden. Jeg vil si at jobben med å porte koden er mer tidkrevende enn komplisert, og ja, det ble mye googling på assembly-instruksjoner og hvilke CPU-flagg de påvirker.

Da jeg fikk FT2-koden til å kompilere føltes det nesten galt å ikke fikse bugs. Jeg brukte derfor kildekoden til å lansere noen oppdateringer med bugfikser for den original versjonen av FT2 også. Det var forholdsvis enkelt å fikse feilene når jeg slapp å gjøre det gjennom reverse engineering.

Min erfaring er at det ikke er lett å lage en helt nøyaktig emulering av de gamle trackerne. Jeg har i hvert fall ikke helt kjent igjen de få xm-filene jeg har liggende. Men FT2-klonen virker til å ha veldig riktig sound. Hvordan har du greid å gjenskape helt korrekt avspilling?

Det stemmer at det er er en utfordring å få avspillingen til å bli autentisk og riktig, men det hjelper veldig å basere koden på de originale kildekodene.

Det vanskeligste var nok å få ProTracker-klonen til lage riktig lyd. Det innebar komplisert lydkode. «BLEP synthesis» for å gjengi Amiga sin autentiske «rå» lyd, low-pass/high-pass filters og ikke minst emulering av Amigas Paula-chip. Her har jeg fått mye hjelp av andre smarte folk for å få til dette.

Lager du noe musikk selv, eller går all tid med på å programmeringen?

Jeg har aldri lagd musikk i FT2 selv, bortsett fra at jeg jo har brukt programmet en god del for å verifisere at klonen fungerer riktig. Det er helst Open ModPlug Tracker (OpenMPT) jeg starter i dag om jeg ønsker å lage egne låter. Jeg synes det er en knallbra tracker, bare synd at den er hardkodet for Windows! Låtene mine blir stort sett forlatt som ufullstendige låter. Jeg anser ikke meg selv som en musiker.

Her er Jeroen Tels Nine One One i Olavs FT2-klone:

Har du som utvikler av trackere noen tips til hvordan vi hobby-trackere kan heve kvaliteten på modulene?

  • Bruk helst samples i 16-biters oppløsning. Spesielt for stortromme- og basslyder, siden disse er veldig sensitive på bit-oppløsning.
  • Prøv å unngå samples med en lav samplingfrekvens (< 33..48kHz). Jeg anbefaler å sample lyder selv, enten det er fra en VST-plugin, et DAW-program eller fra fysiske instrumenter.
  • Stortromme- og basslyder krangler ofte med hverandre når de spilles av samtidig. Prøv å legge inn et tomrom med nuller/stillhet i starten av stortromme-samplen. Det kan faktisk hjelpe litt! Men ikke legg inn for mye, for da vil man begynne å høre en forsinkelse i trommelyden.
  • Benytt deg av stereo panning for å desuppifisere (et ord jeg fant på nå) lyden. Hvis alt mikses i mono, har det en tendens til å bli «suppete» hvis mange lyder brukes samtidig.

Har du noen favoritter fra demoscenen som du har lyttet til og som du ønsker å trekke fram?

Det er alt for mange, men jeg kan vel nevne noen jeg synes er spesielt flinke (i alfabetisk rekkefølge): Dune (også kalt «Dune/Orange»), Heatbeat, Jogeir Liljedahl, Laxity (C64), Necros, Purple Motion, Radix, Skaven, Tim Follin (ikke fra demoscenen, men denne fyrens spillmusikk høres!) og Virt

Her får du Mechanism 8 av Necros (rendret med OpenMPT)


Hva er planen din for framtiden? Er det andre trackere du å ønsker å lage kloner av?

Jeg har tidligere hatt planer om å porte AHX (Abyss’ Highest eXperience), men det ble skrotlagt. Jeg har jo også tenkt på Impulse Tracker 2, spesielt fordi jeg allerede har portet den originale avspillingskoden til C. Men Schism Tracker eksisterer allerede i dag og det er en bra klone. Det kan jo hende at jeg likevel starter på det en vakker dag, tiden vil vise…

Hvilke funksjoner ville du lagt inn i Fast Tracker 3 om du skulle ha startet på et slikt prosjekt i dag?

Jeg har ingen intensjoner om å starte et FT3-prosjekt. Det synes jeg bør være opp til de originale skaperne av FT2 i så fall (veldig usannsynlig at det skjer). Men personlig synes jeg FT3 kunne trengt:

  • Innebygd echo/reverb som kan aktiveres i hver enkelt tracker-kanal
  • Mer enn 32 spor/kanaler
  • Støtte for stereo-samples
  • Bedre samplinginterpolering (windowed-sinc, eller i det minste cubic spline)
  • NNA eller «New Note Action», som i Impulse Tracker 2 og dens .IT-filer. Dette er en funksjon som gjør at instrumenter kan fortsette å fade inn/ut i bakgrunnen mens et nytt instrument starter på samme kanal. Sparer deg massevis av tid og kanaler.
  • Høyere oppløsning for tone-/frekvensjustering av samples. FT2 har finjustering i skalaen -128..127 (8 biters), men denne verdien blir delt på 8 i FT2 sin interne avspiller, så den faktiske skalaen ender opp med å være kun -16..15 (5 biters). Dette høres kanskje ikke viktig ut, men la oss si du laster inn en lengre 44100Hz-sample og ønsker spille den av i presist 44100Hz for at rytmen skal være riktig. På grunn av lav oppløsning blir den nærmeste notefrekvensen i FT2 44172Hz.
  • Angrefunksjon ;)

Spillhistorie handler jo først og fremst om spill som vi husker fra tidligere tider (selv om veldig mange av oss også har et forhold til demoscenen). Hvilke av de gamle spillene har skapt de største minnene hos deg? Er det noen spill du tar fram den dag i dag?

Jeg har gode spillminner fra eldre spill som Zelda, Mario- og Wario-serien, James Pond II – Codename: RoboCod (MS-DOS-versjonen var en storfavoritt da jeg var barn), Chrono Trigger, Monkey Island-serien, Day of the Tentacle, Den Lengste Reisen, The Elder Scrolls IV: Oblivion (snart 20 år gammelt, så kan vel regnes som gammelt), Grand Theft Auto III og Grand Theft Auto: Vice City, Worms, Worms 2 og Worms Armageddon.

Noen av disse spillene spilte jeg først mange år etter de kom ut, men jeg har allerede utviklet en form for nostalgi og kjærlighet for dem. Jeg synes de stort sett holder seg bra. :)

Vi takker Olav Sørensen for at han ville stille opp på intervju. Om du ønsker å diskutere eller mimre mer om trackere så har han en hjemmeside på https://16-bits.org hvor du også finner en invitasjon til en Discord server. Du kan også finne han på spillhistorie.no sin egen Discord server hvor han går under navnet 8bitbubsy

Til slutt tar vi et gjenhør med en gammel klassiker – Feats of valor av Elwood (Rendret med Fast Tracker 2-klonen)

12 kommentarer om “Slik gjenoppstår legendariske Fast Tracker”

  1. Videoen helt øverst vekker definitivt minner fra en CU Amiga som inneholdt både Protracker og Space-Song. Hadde jeg ikke allerede forelsket meg i MED så hadde jeg sikkert begynt å tracke i Protracker selv etter denne introduksjonen.

    Om Olav ønsker noe nytt å henge fingrene i så kunne jeg jo foreslå å prøve seg på nye versjoner av MED/OctaMED/SoundStudio? Dette er formater som fra før er kriminelt lite støttet på PC. I praksis er eneste mulighet for å spille de gamle låtene på en god måte å fyre opp en emulator.

    Svar
      • Vet det. Mener den fargepaletten der, spesielt den rosa skriften, ikke er standard i PT. Mener også det var en enkel versjon av Axel F på samme disken, basert på samples fra ST-01:

        Svar
    • Du er ikke den første som har spurt om jeg vil lage en klone av OctaMED, men pga. manglende affeksjonsverdi vil jeg heller fokusere på andre ting. Det tar tross alt lang tid å lage en klone av noe slikt, spesielt mtp. hvor komplisert OctaMED er, og også fordi jeg er veldig nøye på selv små detaljer.

      Svar
      • Selvfølgelig helt fair. Skjønner at det er vanskelig å sette i gang med noe sånt om den personlige tilknytningen ikke er der. Og ja, det er nok en del brikker å få på plass. Husker ModPlug (nettleser-pluginen som etter hvert også førte til ModPlug Player, ModPlug Tracker og OpenMPT) prøvde seg med MED-støtte, men det funket heller dårlig. Synth/hybrid-instrumenter var bare å drite i. Og timingen er et kapittel for seg, spesielt ettersom MED opererte med tre ulike hastighets-innstillinger, som igjen oppførte seg ulikt ut fra hvilken versjon du brukte og om du brukte HQ-modus eller ikke for multi-kanals-moduler. Sleng på at folk prøvde seg på ting som fulle 8-bits samples i multi-kanal-modus, som OctaMED selv normalt ville kuttet til 7-bits for å unngå overstyring når kanaler ble mikset, men du kunne likevel spille dem med 8-bits i 14-bits modus i avspillere som HippoPlayer, eller for den saks skyld senere versjoner av SoundStudio, uten at samples ble forvrengt.

        For min egen del prøvde jeg i perioder å forholde meg til MOD-formatets begrensninger, i alle fall for 4-kanals-greier, så jeg enkelt kunne lagre som MOD ved behov. Men klarte likevel å brekke ting der. Fant blant annet ut at ProTracker kun støttet samples på maks 64 kB, mens OctaMED støttet inntil 128 kB per loop-segment, som i teorien åpnet for minst 256 kB. Moduler med så lange samples lot seg faktisk både åpne og spille i PT, men du merket at den ikke hadde det helt bra, spesielt om du gikk inn på de individuelle samplene, eller sjekket estimatene på filstørrelse :-)

        Svar
        • Såpass, ja. Jeg kan lite om OctaMED, så her lærte jeg noen nye ting. I grunn bekrefter du at det *ikke* virker som en god idé å klone OctaMED, hehe.

          Ang. ProTracker og >64kB-samples, så har jeg bugfikset ProTracker 2.3D på Amiga for full 128kB-støtte i både avspiller og GUI, gjennom en ny versjon kalt ProTracker 2.3F. Den finnes på hjemmesida mi (under «Other projects»).

          Svar
          • Har fått med meg at det er en 2.3F i omløp, mener jeg blant annet har sett Hoffman bruke den i noen videoer. Men ikke puslet noe særlig med det selv. Når jeg har sett tilbake på gamle trackere så har det primært vært mest mulig periode-korrekt, så nymotens overhalinger og restaureringer har ikke vært fokus :-)

            Men ang Protracker, har du sett noe særlig under panseret på noen versjoner av Protracker 3.x? Mener de som slapp en av de tidligere versjonene (3.10? 3.15? Mener det var Cryptoburners i alle fall) skrøt på seg noe om at de hadde planer om å komme med en versjon som taklet 12-bits samples, men det skjedde aldri noe mer som jeg fikk med meg. Vet ikke om det er noe á la 14-bits software-mixing som andre etter hvert brukte, eller om det er snakk om noe annet.

  2. Jeg må jo si at det er så lenge siden jeg var inne i mod-samlingen min, så jeg kan ikke huske hvordan mod/xm filer hørtes ut, og om det var noen forskjeller fra FT1 til FT2.

    Men for de som har ferskere minner skulle det vært interessant å høre litt om hvordan sanger laget i disse trackerne høres ut i Renoise tracker for eksempel.

    Svar
    • FT1 så mer ut som en mellomting mellom Protracker og Oktalyzer. Litt samme layout som PT, men mindre farger og flatere knapper. Den baserte seg på mod-formatet, men utvidet det til å støtte 6 og 8 kanaler i tillegg til 4.

      Litt tidligere hadde du også ScreamTracker 2. Tekst-modus grensesnitt, 4 kanaler, scrollet ikke patterns mens den spilte, og output gjennom PC-speaker! Hørtes ræva ut, men kunne spille moduler på PC. Rundt denne tiden dreide mye seg om å prøve å få til omtrent det samme som allerede var mulig på Amiga. Men etter hvert som du fikk kraftigere maskiner, bedre lydkort (GUS!) og programmer som FT2 og ST3 så måtte selv de mest ihuga Amiga-fans innrømme at bildet ble noe ganske annet.

      Svar
      • Jeg husker utseendet på FT1 og FT2 (Mitt ungdommelige sin ville nok beskrevet FT1 som at det så mer «dos» ut enn FT2) samt ST3 (så virkelig fancy ut), men jeg kan ikke si om lydforskjellene var store. Brukte jo en ganske vanlig stereo Soundblaster Pro da jeg leflet med trackere i min tid.

        En av fordelen med FT2 var at man kunne legge inn ganske store samples i den om man skulle lage sanger for å harselere med de andre ungdommene. At de fleste av oss ikke hadde mikrofon var ikke noe problem, man kunne bare bruke headset som mikrofon. Jeg var en av de få som hadde en mikrofon liggende, og det var absolutt billigste sort som brukte MiniJAck. Lyden var fryktelig. MEn vi hadde det kjekt, da.

        Svar
    • Jeg vil påstå at forskjellen mellom FT1 og FT2 er ganske så merkbar. Det tydeligste er vel antall kanaler som gjør at en kan flere kule stereoeffekter gående i FT2.

      Når det gjelder Renoise tracker så er den veldig kul og godt moderne alternativ. Den har støtte for VST og mye annet snacks, så der kan man vel egentlig få til ganske proff lyd om en vil. Alt høres jo bra ut med reverb og litt delay.

      Men det er ingen som slår FT2-klonen i å gjenskape den autentiske lyden av de gamle xm filene.

      Svar
  3. Mye nostalgi ute å gikk her. Selv var jeg stor fan av det som fantes av modder, og andre litt sære formater (TFMX, Hippel-coso og fryktelig mange flere). Kan anbefale «mods anthology»-settet (kom på 4 CDer) om man vil mimre litt til gamle låter.

    Det finnes/fantes forøvrig en port av delitracker til PC som spilte av alt av sære formater. Denne sluttet de desverre å utvikle på, slik at den ikke fungerer skikkelig på nyere versjoner av windows. Må mao til med emulator for å spille mange av disse. Mulig et prosjekt?

    Svar

Legg igjen en kommentar

Dette nettstedet bruker Akismet for å redusere spam. Finn ut mer om hvordan kommentardataene dine behandles.